Hi3515自带串口驱动加载说明

本文档详细介绍了如何在Hi3515平台上加载和扩展串口驱动,包括在内核中配置AMBA PL011驱动,修改arch/arm/mach-hi3515v100/core.c文件以支持UART2和UART3,并通过设置管脚复用实现串口功能。完成修改后,通过串口测试工具验证了UART2和UART3的正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


首先了解到Hi3515 的串口挂载在AMBA总线上,驱动采用的是ARM AMBA PL011去的那个源码在内核drivers/serial/amba-pl011.c
具了解首先到开发板给定的内核查找自身所带的驱动文件;查找方法:进入到内核根目录执行makemenuconfig命令 跳出如图所示:
选择Device Drivers 回撤->选择 Character devices 回撤-》选择Serial drives进入串口驱动目录如图所示:
进入后查看需要将ARM AMBA PL011 加载进内核编译;
Hi3515 的串口挂载在AMBA 总线上,所以我们必须将串口设备注册到AMBA 总线,首先初始化AMBA 总线设备链表,然后判断是否有设备要添加,如果有则调用__driver_attach 函数将新设备添加至AMBA 总线设备链表。
代码修改
A:我们知道了驱动代码在drivers/serial/amba-pl011.c文件中;根据Hi3515 H.264编解码处理器用户指南.pdf文档11.2UART篇章介绍Hi3515 提供了以下4 个UART 单元:?? UART0
主要用于调试。
UART1
主要用于接RS-485 总线和控制云台。
UART2、UART3
主要用于扩展接口,如外部MCU(Micro Controller Unit)。
目前只能看到UART0 和UART1 那么就在arch/arm/mach-hi3515v100/core.c中所有出现uart0和uart1的地方都添上uart2和uart3
Line 169附近 增加
#define UART3_IRQ { INTNR_UART3, NO_IRQ }//oleitao 2012-03-21 add
Line 173 附近增加
HIL_AMBA_DEVICE(uart3, "uart:3",  UART3,    NULL);//oleitao 2012-03-21 add
Line 189行附近 增加
& HIL_AMBADEV_NAME(uart3),//oleit

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值