大家好:
我现在的需求是:产品通过SD烧录或升级code到Nand中,reset后从Nand启动,无OS。查看了网站资料
http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#SPI
http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing#Booting_Via_NAND
根据网站资料了解,想分两步走:
一:先分别实现并了解SD和Nand的启动。SD card 启动,需要MLO和app;Nand启动,借助CCS例程NAND_Flashing_Tool将Nand_boot和code写入Nand中。
二:先从SD启动,执行app,app的功能是将Nand_boot和code写入Nand中,然后reset,设置。这样自己修改并生成app才行。
不知第二步的想法是否可行?
目前的状态是卡在第一步,生成的app无法正确执行,详细步骤如下:
1.通过CCS编译boot(eMMC)例程生成boot_ti.bin,改名为MLO
2.导入gpio例程,编译生成gpio_ti.bin,改名为app。
使用SD-Format工具将两个文件copy到SD中,reset,串口打印信息如下:
CCCCCCCCStarterWare AM335x Boot Loader
Copying application image from MMC/SD card to RAM
............................................
Jumping to StarterWare Application...
但是app并没有执行,因为led始终是off的。(CCS debug gpi0.out可以正常执行,LED闪烁)
通过打印的信息来看,MLO已执行且copy app完成,然后PC指针跳转,应该到DDR中执行app,不知问题出在哪里?
xx_ti.bin文件是否需要特殊处理?我查看其Header.Add=0x80000_0000 没错啊!
哪位大侠指点一下,谢谢!