栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux系统移植之编译并启动AM57xx的uboot

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux系统移植之编译并启动AM57xx的uboot

文章目录
  • 编译启动uboot
    • 尝试1.在uboot中配置UART3作为console
    • 尝试2.修改pinmux
    • 尝试3.修改DDR配置
    • 上电后uboot启动正常

编译启动uboot

  上一篇中已经完成官方开发板AM5728 EVM uboot的编译,但我们将程序烧录到SD卡后,并没有看到任何打印,本节将修改uboot代码,以让uboot能在我们的板卡上启动,如果自己产品的硬件设计和官方开发板的硬件有所差别,一般是需要我们自己在官方开发板的uboot基础上略加修改的,所以我先把AM5728 EVM开发板的原理图下载下来,以和我们的板卡进行对比

  以我目前的系统移植经验,官方开发板的uboot在自己产品的板卡上运行不起来,原因一般有三,其一为console指定的UART串口号不同(比如,官网开发板默认UART1为console打印信息串口,而我们的开发板并没有引出UART1,而是引出了UART3),其二为串口号相同,但二者所用的pin脚不同(一般都有引脚重映射的功能,为了让硬件设计更加灵活),此二者,较为容易修改,因为uboot其实已经在你的板卡上正常启动了,只是没有看到打印信息而已。

尝试1.在uboot中配置UART3作为console

make menuconfig

重新编译后,烧录,上电,依然没有打印信息

尝试2.修改pinmux

芯片厂商在移植uboot时肯定会设计一个大数组,用来配置芯片引脚功能,这个数组一般在目录"board/芯片厂商/板卡名称/"下,5728的pinmux代码位于“board/ti/am57xx/mux_data.h”中,打开之

如上图所示,官方开发板使用gpio5_18和gpio5_19作为UART3的pin脚,而我们的板卡使用的是gpio1_16和gpio1_17作为UART3的pin脚,故需要在此处修改之

修改完成,重新编译,烧录,上电后依然没有任何打印信息,这就麻烦了

尝试3.修改DDR配置

此前尝试依然无效的情况下,那说明程序极可能没有正常启动运行,那就是DDR的硬件连接和TI开发板不同,导致程序加载内存时失败,故没有运行起来。

开发板使用EMIF0和EMIF1接口,配置2G内存,每个EMIF总线连接2个512M的DDR芯片,而我们的板卡只使用了EMIF0,并未使用EMIF1,且EMIF0连接了2个1G的DDR芯片,也实现了2G内存的大小

“board/ti/am57xx/board.c”

上电后uboot启动正常
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号