uboot更换串口

来源:互联网 发布:网络教育小学教育专业 编辑:程序博客网 时间:2024/05/22 00:53
控制台串口更换为串口0
(1)uboot中默认使用串口2来做控制台输入输出的。
(2)SOC中一共有4个串口(串口0、1、2、3),开发板X210上用DB9接口引出了2个串口,分别是串口2和串口0.(靠边的是串口2,靠里那个是串口0)。
(3)三星公司推荐使用串口2来作为调试串口,所以在三星移植的uboot和内核版本中都是以串口2默认为控制台串口的。
(4)有时候项目需要将调试串口修改为另外的串口(譬如串口0),这时候需要修改uboot的代码,做移植让uboot工作在串口0的控制台下。
(5)uboot中真正去硬件初始化串口控制器的代码在lowlevel_init.S中的uart_asm_init中,其中初始化串口的寄存器用ELFIN_UART_CONSOLE_BASE宏作为串口n的寄存器的基地址,结合偏移量对寄存器进行寻址初始化。所以uart_asm_init中到底初始化的是串口几(从0到3)?取决于ELFIN_UART_CONSOLE_BASE宏。这个宏的值又由CONFIG_SERIALn(n是从1到4)来决定

(6)同步代码、编译烧录运行,发现串口线插在串口2上,crt上只打印:SD checksum error.(这个是内部iROM打印出来的,内部iNand校验失败的信息);然后将串口线改插到串口0上,启动,所有的信息出现。实验成功。




原创粉丝点击