工具/软件:Code Composer Studio
您好!
我将从 Sitara 和 TI-RTOS 开始。
使用 RTOS PDK 1.0.6、我开发了一个使用 UART 控制板载 LED 的简单项目。 当我 使用 CCS 6通过 USB 加载时、它工作正常、但在 SPI 存储器上刷写时遇到一些问题。
我已执行的步骤:
- 启用 GNU objcopy 实用程序以生成项目的.bin 输出
- 使用 tiimage.exe 从{pdk_path}\packages/ti\starterware\tools\ti_image 将此.bin 转换为_ti.bin 文件。 基于 ti_image wiki。
运行:tiimage.exe 0x8000000 none path_TO_my_project\debug\MyProject.bin path_TO_my_project\debug\MyProject_ti.bin
- 使用 CCS、在 电路板上加载{pdk_path}\packages/ti\starterware\tools\flash_writer\spi_flash_writer_am335X.out。 如 SDK RTOS 启动 wiki 中所述
- 将偏移量0x0中的"bootloader_boot_boot_mcspi_a8host_release_ti.bin"从 {pdk_path}\packages\ti\starterware\binary\bootloader\bin\AM335x-evm\gcc 刷写为"bootloader_boot_boot_release_ti.bin"
- 闪存"MyProject_ti.bin "、偏移量0x20000
在此过程之后、UART 输出为:
StarterWare 引导加载程序
BOARDInit 状态[0x0]
SoC:[AM335X]
磁芯:[A8]
检测到电路板:[ICE Ver2]
基板版本:[未知]
子卡版本:[未知]
GPIO 实例编号:0
引脚编号:18
MCSPI 实例编号:0
通道/芯片选择编号:0
实例地址为48030000
正在复制图像的标题
将映像从闪存复制到 DDR
跳转到 StarterWare 应用程序...
但我的程序从未开始运行...
我已使用 SPI_FLASH_writer_AM335X.OUT 成功刷写{pdk_path}\packages/ti\starterware\binary 中的二进制文件、因此我猜 "myProject_ti.bin"会出现问题。
请告诉我我所遵循的流程是否正确?
我已经了解到、有时需要包含 GEL 文件代码来初始化电路板。 这是我缺少的吗? 如果是、如何将其添加到我的项目中?
如何修改引导加载程序以打印认为是 UART 的更多信息?
我还尝试使用"bootloader_boot_boot_mmcsd_a8host_release_ti.bin"、并再次 使用"MyProject_ti.bin "从 SD 卡引导它、串行输出为:
*** StarterWare 引导加载程序。 Build - 1.0.4-NOR 引导 将应用程序映像从 MMCSD 复制到 RAM 无法从 MMCSD 打开应用程序文件
当我尝试使用示例.bin 而不是我的项目时、会出现相同的输出。 这是否是一个错误、意味着 MLO 文件是正确的、应用程序也是问题所在??
谢谢。
刷写过程:
[CortxA8] AM335X 器件被检测到。
SF:得到代码 ef 40 17
检查是否可以使用 Winbond 闪存写入器..
SF:检测到 W25Q64、页面大小为256、总共为8388608字节
闪存页大小:256字节
闪存扇区大小:4096字节
启动 SPIWriter。
选择操作:
输入1--->以刷写映像
输入2 -->擦除闪存
输入3 -->退出
1
输入文件名
C:\ti\pdk_am335x_1_0_6\packets\ti\starterware\binary\bootloader\bin\am335x-evm\gcc\bootloader_boot_mcspi_a8host_release_ti.bin
输入以字节(十六进制)为单位的偏移量
0x0
擦除字节偏移处的闪存:0、字节长度:36864
SE:CMD ={0x20 0x000000}
SE:CMD ={0x20 0x001000}
SE:CMD ={0x20 0x002000}
SE:CMD ={0x20 0x003000}
SE:CMD ={0x20 0x004000}
SE:CMD ={0x20 0x005000}
SE:CMD ={0x20 0x006000}
SE:CMD ={0x20 0x007000}
SE:CMD ={0x20 0x008000}
SF:已成功擦除36864字节@ 0x9000
在页偏移处写入闪存:0、页数:134
正在刷新...
正在验证... 成功。
检测到 AM335x 器件。
SF:得到代码 ef 40 17
检查是否可以使用 Winbond 闪存写入器..
SF:检测到 W25Q64、页面大小为256、总共为8388608字节
闪存页大小:256字节
闪存扇区大小:4096字节
启动 SPIWriter。
选择操作:
输入1--->以刷写映像
输入2 -->擦除闪存
输入3 -->退出
1
输入文件名
C:\ti\blink_ice_test\UART_Output_Test\Debug\Uart_Output_Test_ti.bin
输入以字节(十六进制)为单位的偏移量
0x20000
擦除字节偏移处的闪存:131072、字节长度:274432
SE:CMD ={0x20 0x020000}
SE:CMD ={0x20 0x021000}
SE:CMD ={0x20 0x022000}
SE:CMD ={0x20 0x023000}
SE:CMD ={0x20 0x024000}
SE:CMD ={0x20 0x025000}
SE:CMD ={0x20 0x026000}
SE:CMD ={0x20 0x027000}
SE:CMD ={0x20 0x028000}
SE:CMD ={0x20 0x029000}
SE:CMD ={0x20 0x02a000}
SE:CMD ={0x20 0x02b000}
SE:CMD ={0x20 0x02c000}
SE:CMD ={0x20 0x02d000}
SE:CMD ={0x20 0x02e000}
SE:CMD ={0x20 0x02f000}
SE:CMD ={0x20 0x030000}
SE:CMD ={0x20 0x031000}
SE:CMD ={0x20 0x032000}
SE:CMD ={0x20 0x033000}
SE:CMD ={0x20 0x034000}
SE:CMD ={0x20 0x035000}
SE:CMD ={0x20 0x036000}
SE:CMD ={0x20 0x037000}
SE:CMD ={0x20 0x038000}
SE:CMD ={0x20 0x039000}
SE:CMD ={0x20 0x03a000}
SE:CMD ={0x20 0x03b000}
SE:CMD ={0x20 0x03c000}
SE:CMD ={0x20 0x03d000}
SE:CMD ={0x20 0x03e000}
SE:CMD ={0x20 0x03f000}
SE:CMD ={0x20 0x040000}
SE:CMD ={0x20 0x041000}
SE:CMD ={0x20 0x042000}
SE:CMD ={0x20 0x043000}
SE:CMD ={0x20 0x044000}
SE:CMD ={0x20 0x045000}
SE:CMD ={0x20 0x046000}
SE:CMD ={0x20 0x047000}
SE:CMD ={0x20 0x048000}
SE:CMD ={0x20 0x049000}
SE:CMD ={0x20 0x04a000}
SE:CMD ={0x20 0x04b000}
SE:CMD ={0x20 0x04c000}
SE:CMD ={0x20 0x04d000}
SE:CMD ={0x20 0x04e000}
SE:CMD ={0x20 0x04f000}
SE:CMD ={0x20 0x050000}
SE:CMD ={0x20 0x051000}
SE:CMD ={0x20 0x052000}
SE:CMD ={0x20 0x053000}
SE:CMD ={0x20 0x054000}
SE:CMD ={0x20 0x055000}
SE:CMD ={0x20 0x056000}
SE:CMD ={0x20 0x057000}
SE:CMD ={0x20 0x058000}
SE:CMD ={0x20 0x059000}
SE:CMD ={0x20 0x05a000}
SE:CMD ={0x20 0x05b000}
SE:CMD ={0x20 0x05c000}
SE:CMD ={0x20 0x05d000}
SE:CMD ={0x20 0x05e000}
SE:CMD ={0x20 0x05f000}
SE:CMD ={0x20 0x060000}
SE:CMD ={0x20 0x061000}
SE:CMD ={0x20 0x062000}
SF:已成功擦除274432字节@ 0x63000
在页偏移处写入闪存:512、页数:1065
正在刷新...
正在验证... 成功。
