3618
- 收藏
- 点赞
- 分享
- 举报
3520a的uart3怎么使用
我根据网上搜索到的资料进行修改,可以在dev下看到ttyAMA2设备,但是对这个设备进行write操作,示波器却从uart脚上看不到波形,内核是SDK直接解压出来的内核,然后进行了如下修改:
/osdrv/kernel/linux-3.0.y/arch/arm/mach-godarm/core.c中:
HIL_AMBA_DEVICE(uart0, "uart:0", UART0, NULL);
HIL_AMBA_DEVICE(uart1, "uart:1", UART1, NULL);
+HIL_AMBA_DEVICE(uart2, "uart:2", UART2, NULL);
+HIL_AMBA_DEVICE(uart3, "uart:3", UART3, NULL);
static struct amba_device *amba_devs[] __initdata = {
&HIL_AMBADEV_NAME(uart0),
&HIL_AMBADEV_NAME(uart1),
+ &HIL_AMBADEV_NAME(uart3),
};
static struct clk uart_clk;
-static struct clk_lookup lookups[2];
+static struct clk_lookup lookups[3];
static void uart_clk_init(unsigned long clk)
{
@@ -328,6 +332,12 @@
lookups[1].dev_id = "uart:1";
lookups[1].clk = &uart_clk;
+
+ lookups[2].dev_id = "uart:3";
+ lookups[2].clk = &uart_clk;
}
void __init hi3520d_init(void)
osdrv/kernel/linux-3.0.y/arch/arm/mach-godarm/include/mach/irqs.h中
#define UART0_IRQ (HI3520D_IRQ_START + 8)
#define UART1_IRQ (HI3520D_IRQ_START + 9)
+#define UART3_IRQ (HI3520D_IRQ_START + 11)
#define INTNR_L2CACHE_CHK0_INT (HI3520D_IRQ_START + 29)
#define INTNR_L2CACHE_CHK1_INT (HI3520D_IRQ_START + 30)
因为uart2被viu占用,所以没有使用。
mach-godarm路径应该没错,因为编译发现只有这个路径下有编译,而mach-hi3520d是没有编译的
另外发现UART3的RX和TX是复用的,所以测试的时候手动用himm命令将复用脚0x200f01c0和0x200f01bc改成了1。
另外还有个问题,按SDK中的操作,如果用
make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=3520a all
编译整个osdrv目录,那么产生的uImage文件可以正常使用,但如果只是编译kernel:
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage
那么编译出来的文件就无法使用,不知道为什么。
/osdrv/kernel/linux-3.0.y/arch/arm/mach-godarm/core.c中:
HIL_AMBA_DEVICE(uart0, "uart:0", UART0, NULL);
HIL_AMBA_DEVICE(uart1, "uart:1", UART1, NULL);
+HIL_AMBA_DEVICE(uart2, "uart:2", UART2, NULL);
+HIL_AMBA_DEVICE(uart3, "uart:3", UART3, NULL);
static struct amba_device *amba_devs[] __initdata = {
&HIL_AMBADEV_NAME(uart0),
&HIL_AMBADEV_NAME(uart1),
+ &HIL_AMBADEV_NAME(uart3),
};
static struct clk uart_clk;
-static struct clk_lookup lookups[2];
+static struct clk_lookup lookups[3];
static void uart_clk_init(unsigned long clk)
{
@@ -328,6 +332,12 @@
lookups[1].dev_id = "uart:1";
lookups[1].clk = &uart_clk;
+
+ lookups[2].dev_id = "uart:3";
+ lookups[2].clk = &uart_clk;
}
void __init hi3520d_init(void)
osdrv/kernel/linux-3.0.y/arch/arm/mach-godarm/include/mach/irqs.h中
#define UART0_IRQ (HI3520D_IRQ_START + 8)
#define UART1_IRQ (HI3520D_IRQ_START + 9)
+#define UART3_IRQ (HI3520D_IRQ_START + 11)
#define INTNR_L2CACHE_CHK0_INT (HI3520D_IRQ_START + 29)
#define INTNR_L2CACHE_CHK1_INT (HI3520D_IRQ_START + 30)
因为uart2被viu占用,所以没有使用。
mach-godarm路径应该没错,因为编译发现只有这个路径下有编译,而mach-hi3520d是没有编译的
另外发现UART3的RX和TX是复用的,所以测试的时候手动用himm命令将复用脚0x200f01c0和0x200f01bc改成了1。
另外还有个问题,按SDK中的操作,如果用
make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=3520a all
编译整个osdrv目录,那么产生的uImage文件可以正常使用,但如果只是编译kernel:
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage
那么编译出来的文件就无法使用,不知道为什么。
我来回答
回答2个
时间排序
认可量排序
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2015-07-13 09:04:42
-
2017-09-25 20:16:48
-
2015-04-20 13:17:14
-
2018-12-18 14:02:08
-
2013-05-18 22:26:32
-
2017-09-29 11:51:10
-
2023-08-18 13:57:17
-
2023-02-03 20:40:46
-
2019-11-15 14:53:22
-
2015-05-23 18:19:26
-
2019-08-05 22:21:29
-
142015-07-10 12:41:08
-
2023-07-11 10:47:40
-
2015-03-05 20:35:17
-
152017-01-04 14:16:57
-
2019-03-26 10:48:00
-
2015-11-20 16:39:44
-
2016-08-16 15:11:59
-
2016-08-03 09:41:26
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认