Other Parts Discussed in Thread: UNIFLASH, LP-AM261, SYSCONFIG, AM2612
器件型号: AM2612
Thread 中讨论的其他器件: LP-AM261、 SYSCONFIG、UNIFLASH
大家好、E2E 专家:
我正在尝试 LP-AM261、试图评估代码和数据放置的不同场景下的性能。
我正在为 AM261x 11.0.0.29 使用 SysConfig 1.25.0 和 SDK。
我从示例\examples\drivers\gpio\gpio_led_blink\am261x-LP 开始、在这里、我能够成功地构建、加载和执行示例(从 OCRAM 执行的代码)。 当时、我不知道启动过程的大部分、因此我不确切知道芯片中加载的引导引脚和 SBL 是什么。 不过、我可以保证引导引脚没有处于 UART 模式、也没有处于 xSPI 模式。
然后、我剥离了与 LED 闪烁相关的代码、并添加了用于处理器性能评估的代码。 我能够直接从 CCS 构建、加载和执行成功、并从 OCRAM 执行代码。
我的下一个目标是从外部 OSPI 闪存执行该代码。 我按照 https://dev.ti.com/tirex/explore/content/mcu_plus_sdk_am261x_10_00_01_10/docs/api_guide_am261x/BOOTFLOW_XIP.html 中说明 的步骤操作、然后构建了软件。
尝试从 CCS 加载应用程序不起作用、但我非常确定在某个时候我已经在 Debug Output 窗口中看到成功进行闪存编程的日志、但在上面列出的页面上、您需要一个工具来刷写 OSPI 闪存、因此我使用了 SDK 中\tools\boot 的 uart_uniflash.py 工具、使用这个.cfg 文件:
#首先指向 sbl_uart_uniflash 二进制文件,它作为一个服务器来刷写一个或多个文件
-- flash-writer=sbl_prebuilt/am261x-lp/sbl_uart_uniflash.release.tiimage
#对 OSPI PHY 调优攻击向量进行编程
--操作=flash-phy-tuning-data
#发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 期望引导加载程序位于偏移量 0x0 处
-- file=sbl_prebuilt/am261x-lp/sbl_ospi_moremol_elf.release.tiimage --操作=flash --flash-offset=0x0
#发送应用程序映像时,请确保闪存偏移为 0x81000(默认值)或引导加载程序配置的任何偏移
--file=../../../../../workspace_ccstheia/gpio_led_blink_am261x-lp_r5fss0-0_nortos_ti-arm-clang/Release/gpio_led_blink_am261x-lp_r5fss0-0_nortos_ti-arm-clang.mcelf --operation=flash-sector-write --flash-offset=0x81000
#为此应用程序发送 XIP 映像,由于闪存偏移是在映像中指定的,因此无需指定闪存偏移
--file=./../../../../workspace_ccstheia/gpio_led_blink_am261x-lp_r5fss0-0_nortos_ti-arm-clang/Release/gpio_led_blink_am261x-lp_r5fss0-0_nortos_ti-arm-clang.mcelf_xip --operation=flash-mcelf-XIP
闪存编程成功、当我将引导引脚设置为 xSPI 模式时、控制台显示一切正常:

根据上面的页面、我想在 launch.json 文件中添加“loadSymbolsOnly"选项“选项、这样调试器就不会在调试开始时尝试进行闪存(在这种情况下,我无法只连接到目标)。 连接后、我可以更新一些性能测量变量、因此我猜我的应用程序的代码运行正常。 我还能够更改高速缓存设置以评估使用或不使用指令和/或数据高速缓存时的性能。
现在、我需要帮助解决以下问题(从闪存和引导引脚设置为 xSPI 模式运行时):
- 我不明白为什么没有断点有效。
- 我不明白调试器在我点击重启按钮时做了什么,但很明显,它什么都不做。
- 当我想要更改缓存设置时(禁用它,将区域分配更改为不可缓存,强制执行正常写入等) 通过.syscfg 文件或通过定义我自己的 ti_DPL_config.c 文件、我始终发现该内核卡在中止、预取或未定义指令异常中。 从 OCRAM 运行时更改了参数时、我没有问题。
- 是否有引导模式引脚和 SBL 组合可以使 CCS 能够对闪存进行编程并调试应用程序、而无需其他工具?
如有任何帮助、我们将不胜感激。 谢谢











