TI中文支持网
TI专业的中文技术问题搜集分享网站

AM437x的TI-RTOS怎么下载程序到SD卡,并且从SD卡启动

http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html

在上面RTOS的文档的1.11.1里,写到

“”将MLO(引导加载程序)复制到格式化的SD卡。

将应用程序二进制文件重命名为“app”并将其复制到SD卡。“”

但是我将ccs编译产生的.out文件改名为app后拷贝到SD卡,(SD卡现在有两个文件app和MLO文件)

启动开发板后一直显示

    Copying application image from MMC/SD card to RAM。。。。

请问这是怎么回事呢?

software-dl.ti.com/…/index_overview.html

Nancy Wang:

请参考4.6.3.1.8.1.1章节看一下您的MLO文件是否有问题。
software-dl.ti.com/…/index_Foundational_Components.html

user4941429:

回复 Nancy Wang:

你好:
MLO文件是开发板自带的MLO文件,问题应该不大
关键是我不知道CCS 怎么生成.bin文件
只能生成.out文件
请问怎么操作?
CCS版本为8.0

Nancy Wang:

回复 user4941429:

在property—–>build—–>steps—–>post build steps中执行以下指令。
${TI_PDK_INSTALL_DIR}/packages/pdkAppImageCreate.bat ${TI_PDK_INSTALL_DIR}/packages ${CG_TOOL_ROOT} ${PROJECT_LOC}/${ConfigName} ${ProjName} AM437x arm

user4941429:

回复 Nancy Wang:

谢谢,还有一个问题:之后生成的.bin文件的路径是。。。?

Nancy Wang:

回复 user4941429:

抱歉刚才那个指令不清楚针对您的工程能否生效,RTOS的例程上是用的这个指令。

建议试一下直接用properties->build->objcopy utility

http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_BOOT_AM335x/AM437x

user4941429:

回复 Nancy Wang:

已经修改为如下,且没有换行:
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

但是clean后重新编译显示错误如下:
tiobj2bin.bat failed on D:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/armofd
Please see processors.wiki.ti.com/…/Tiobj2bin_Failed
tiobj2bin.bat failed on D:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/armhex
Please see processors.wiki.ti.com/…/Tiobj2bin_Failed
D:/ti/ccsv8/utils/tiobj2bin/mkhex4bin failure occurred.Giving up.
'D:\ti\gcc-arm-none-eabi-7-2018-q2-update\bin\ofd470' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
File does not exist:at XML_TI_OFD.pm line 877.

user4941429:

回复 Nancy Wang:

我已经使用 arm-none-eabi-objcopy-O binaryapp.outapp.bin 这个命令将.out文件转换成.bin文件
1.和SD卡自带的MLO文件一起拷贝进SD卡,启动之后一直停留在Copying application image from MMC/SD card to RAM…这里
2.但是如果使用的是
D:\ti\pdk_am437x_1_0_14\packages\ti\starterware\binary\bootloader\bin\am43xx-evm\gcc\bootloader_boot_mmcsd_a9host_debug_ti.bin这个MLO文件和上面转换好的.bin文件,启动之后显示如下:
Error reading application file. Size of read data doesn't match header
Jumping to StarterWare Application…

注:ccs8使用的例程是TI官方自带的CORTEX-A9 的hello Example

user4941429:

回复 Nancy Wang:

1.ccs生成的app.out文件,经过下面命令
arm-none-eabi-objcopy -O binary app.outapp.bin
已经得到app.bin文件
再经过:
tiimage.exe 0x80000000NONE app.bin app_ti.bin
得到app_ti.bin文件
2.MLO文件在pdk_am437x_1_0_14\packages\ti\starterware\binary\bootloader\bin\am43xx-evm\gcc\bootloader_boot_mmcsd_a9host_debug_ti.bin
3.将1和2的bin文件和MLO文件重命名为app和MLO,拷贝到SD卡后,启动
一直显示Copying application image from MMC/SD card to RAM..

请问是第一步的第二个命令tiimage.exe 0x80000000NONE app.bin app_ti.bin有问题吗还是?

user4941429:

回复 Nancy Wang:

请问可以详细点吗?不是很了解

Nancy Wang:

回复 user4941429:

启动模式设置了吧?您用的是evm板还是自己设计的开发板?

赞(0)
未经允许不得转载:TI中文支持网 » AM437x的TI-RTOS怎么下载程序到SD卡,并且从SD卡启动
分享到: 更多 (0)