板子是匠牛的MINI5728板子,对方已提供有可从SD卡引导的MLO文件。我的A15程序是纯裸机,用JTAG进调试模式后代码运行正常,然后打算下载到SD卡,从SD卡运行该程序。为了得到app映像,看了文档
Processor SDK RTOS Getting Started Guide,特别是如下截图部分
截图1
后来我从别的文档看到可以将截图1里面的程序关联到CCS上面,当在CCS上编译裸机程序时,可同时得到名字为app的映像文件,具体是哪个文档,我给忘了。要说明一下的是,这个方法我在K2GICE板子上是引导成功了的。我所说的关联到CCS中去的方法,截图如下:
截图2
上图是针对K2GICE的,CCS中编译得到的app文件,直接拷贝到SD卡,然后从如下截图找到MLO文件,也拷贝到SD中
截图3
之后将SD卡插入K2GICE板子,并用BOOT拨码开关调整对应的引导模式,板子引导成功,K2GICE按CCS中编写的程序运行。
因此我在5728板子上如法炮制,使用完全相同的方法,将截图2中最后部分K2G arm换成 AM572x arm,截图如下:
截图4
同样得到了app映像,如下:
截图5
将匠牛提供的MLO映像文件和工程编译得到的app映像拷贝到SD卡后,引导失败,串口调试助手的打印信息如下:
U-Boot SPL 2016.05 (Sep 29 2017 - 02:24:22)
DRA752-GP ES1.1
Trying to boot from MMC1
** First descriptor is NOT a primary desc on 0:1 **
** Partition 1 not valid on device 0 **
spl_register_fat_device: fat register err - -1
** Partition 1 not valid on device 0 **
spl_register_fat_device: fat register err - -1
spl_load_image_fat: error reading image u-boot.img, err - -1
spl: no partition table found
spl: no partition table found
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
现在我的问题如下:
同样的方法,也同为A15内核,为啥K2GICE就能引导成功,而5728则不行呢?从现象看,5728至少有了串口打印信息,说明MLO引导程序本身是没有问题的,而我的裸机代码进调试模式时是运行正常的,那编译后对应得到的app映像本身也应该没有问题吧?
手头除了有块匠牛的MINI5728,还有个创龙的TL5728板子,使用上述得到app映像的方法,然后使用创龙提供的MLO映像文件,运行结果和在MINI5728上的报错信息基本相同。
顺便一提,上述在CCS中得到app映像的方法,我在K2GICE平台中对DSP侧也是同样的操作,然后对DSP核也是一次性引导成功




