编写基于DM3730 ARM-A8内核测试程序(裸机版)3---X-LOADER/U-BOOT下载

时间:2021-06-19 08:44:22

开发板自带的SD启动卡可实现自己更改后X-LOADER/U-BOOT的下载与运行。但是在工控环境,一般不会外置SD卡,故尝试别的烧写方式。

在X-LOADER说明文档中有介绍X-LOADER的少些方法有以下三种:

(1).bin文件使用signGP转为.ift文件,改名为MLO,放入SD卡;

(2)生成.out使用FlashWriterNand烧入Nand;

(3)使用CCS将.out烧入Nand。

第一种是开发自带的,已验证;

第二种验证方法:下载Flash烧写工具,在烧写界面选择烧入方法,比如可以选择烧入Nand(永久)还是SDRAM(一次);

第三种方法暂时没有尝试,但是论坛其他人有相应的操作,可以查阅别人如何实现。



下面详细介绍第二种方法。

(1)烧写MLO,方法如下图:

编写基于DM3730 ARM-A8内核测试程序(裸机版)3---X-LOADER/U-BOOT下载

每次板子断电,然后点击GO,出现等待识别ID,打开电源,然后会自动完成烧写。

(2)烧写U-BOOT,方法如下图:

编写基于DM3730 ARM-A8内核测试程序(裸机版)3---X-LOADER/U-BOOT下载

至于为何设置U-BOOT的烧写偏移地址为0x80000,原因如下图:

编写基于DM3730 ARM-A8内核测试程序(裸机版)3---X-LOADER/U-BOOT下载

在x-loader的NAND启动中,从NAND读取U-BOOT的起始地址为0x80000。

(3)在线调试,烧录入SDRAM,方法如下

编写基于DM3730 ARM-A8内核测试程序(裸机版)3---X-LOADER/U-BOOT下载

此时自动执行烧录进去的代码,具体为什么就没仔细分析了。



--------------------

尝试直接将MLO烧写至SDRAM,发现不能运行;

但是将U-BOOT.BIN烧写至SDRAM,则可以直接运行,具体原因需要分析。