主题中讨论的其他部分:UNIFLASH、 SYSCONFIG
工具/软件:
大家好
我正在寻找一个如何对 A 进行编程的示例 多核应用 的 板载 SPI 闪存 低功耗蓝牙。
我尝试了使用 Uniflash 工具、但我注意到了 sbl_qspi_multicore_elf中的目录 SDK 10.01.00 为空。
您能否提供指导或示例?
此致
Baruch Einziger
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
大家好
我正在寻找一个如何对 A 进行编程的示例 多核应用 的 板载 SPI 闪存 低功耗蓝牙。
我尝试了使用 Uniflash 工具、但我注意到了 sbl_qspi_multicore_elf中的目录 SDK 10.01.00 为空。
您能否提供指导或示例?
此致
Baruch Einziger
尊敬的 Vaibhav:
您没有回答我上一个问题、但我自己解决了这些问题、现在我的多核应用程序可以正常运行。
我现在还有一个问题:如何构建多核映像并将其编程到 SPI 闪存中。
这是我当前使用的尝试 MulticoreImageGen.exe 使用批处理文件:
cd C:\am2434\tools
MulticoreImageGen LE AM2434 app_multi_core.appimage ^
agg_main_r5fss0-0_freertos_ti-arm-clang1.rprc ^
agg_r5fss0-1_nortos_ti-arm-clang.rprc ^
agg_m4fss0-0_nortos_ti-arm-clang.rprc
遗憾的是、这不会为我的 3 个内核生成有效的映像。
我也尝试使用 UniFlash、但仍不确定这样是否可以完全解决我的问题。
您能否提供有关如何正确构建多核映像并将其刻录到 AM2434-LP 板载 SPI 闪存的指导或示例?
提前感谢、
Baruch
“你要我做什么? sbl_qspi_multicore_elf在 SDK 10.01.00 中添加对空目录的引用 (就像您今天前面提到的)、那么 TI 就知道他们的 SDK 中缺少什么了?
尊敬的 Baruch:
您没有回答我之前的问题、但我自己解决了这些问题、现在我的多核应用程序运行正常。
正如您还提到的、您提到的示例并未针对 AM243 LP 给出、但您可以从此处获取参考:
您还想我吗sbl_qspi_multicore_elf在 SDK 10.01.00 中添加对空目录的引用 (就像您今天前面提到的)、那么 TI 了解其 SDK 中缺少的内容是什么?
请分享这个,谢谢。
[引述 userid=“555359" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563134/am2434-am2434/6017848这是我当前使用的尝试 MulticoreImageGen.exe 使用批处理文件:
cd C:\am2434\tools
MulticoreImageGen LE AM2434 app_multi_core.appimage ^
agg_main_r5fss0-0_freertos_ti-arm-clang1.rprc ^
agg_r5fss0-1_nortos_ti-arm-clang.rprc ^
agg_m4fss0-0_nortos_ti-arm-clang.rprc您是否参考 MCU+ SDK 中提到的命令? https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/TOOLS_BOOT.html#MULTICOREIMAGEGEN_TOOL
期待您的答复。
此致、
Vaibhav
尊敬的 Vaibhav:
您基于 SDK 11 的回答非常有用、但我遇到了与文件名长度相关的一些小限制。 这个过程一旦我缩短了文件名就开始工作。
下一个挑战是在 UniFlash 实用程序中浏览 XIP 映像。 我的工程中没有系统级 XIP 文件、因此我使用了从 R00 生成的 XIP 文件。 该工具似乎成功地对 QSPI 闪存进行了编程、但之后电路板停止正常运行。 我无法再将任何程序加载到 AM243X-LP。
我尝试更改引导模式并尝试使用 UniFlash 擦除 QSPI 闪存、但问题仍然存在。 请告知:
如何将评估板恢复到工作状态?
使用 UniFlash 对 XIP 映像进行编程的正确参数是什么?
感谢您的支持。
此致、
Baruch
尊敬的 Baruch:
文件名长度
对于 AM243 LP 与 AM243 EVM 来说、这是否与 MSRAM 有关?
如何将评估板恢复到工作状态?
我相信擦除闪存可以解决问题、便于稍后重新编程。
您能否尝试以下步骤:

将大小作为闪存大小、其余大小应该没问题。
此致、
Vaibhav
主题: 在 AM243x-LP 上擦除闪存后发出
尊敬的 Vaibhav:
我擦除了 AM243x-LP 上的闪存。 首先,我跑uart_uniflash_gui.py了,但我不知道如何激活它,如你所建议的。 完成此过程后、UniFlash 工具擦除整个闪存。
擦除后、我能够将程序加载到 R00 和 R01、但 M4 内核发生故障。 我曾尝试在没有 M4 内核的情况下工作、但在随后的下电上电或在 CCS 中重新加载后、回到了原始问题。 我在下面添加了两条错误消息以供您参考。
第一个 CCS 错误消息:
MAIN_Cortex_R5_0_0: AM2434_ALX
MAIN_Cortex_R5_0_0: GEL Output: CPU reset (soft reset) has been issued through GEL.
MAIN_Cortex_R5_0_1: AM2434_ALX
MAIN_Cortex_R5_0_1: GEL Output: CPU reset (soft reset) has been issued through GEL.
BLAZAR_Cortex_M4F_0: Error connecting to the target: (Error -1274 @ 0x0)
Error encountered during connect sequence. The specific reason is unknown but may be the result of trying to access a Core or logic that is inaccessible due to a lack of Power, Clocks, or Authentication (i.e. Security is preventing). If blocked by security, and if supported, access may be allowed after following the Authentication process. (Emulation package 20.0.0.3178)
擦除闪存后、此解决方案不稳定。 当我再次尝试使用 AM243x-LP 复位、加电或重新激活 CCS 时、错误变为:
第二个 CCS 错误消息:
MAIN_Cortex_R5_0_0: AM2434_ALX
MAIN_Cortex_R5_0_0: GEL Output: CPU reset (soft reset) has been issued through GEL.
MAIN_Cortex_R5_0_0: Trouble Writing Memory Block at 0x0 on Page 0 of Length 0x40:
(Error -1065 @ 0x40) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 20.0.0.3178)
MAIN_Cortex_R5_0_0: File Loader: Verification failed: Target failed to write 0x00000000
MAIN_Cortex_R5_0_0: GEL: File: C:\yoval_singer-instruments\DPL\agg_main_r5fss0-0_freertos_ti-arm-clang1\Debug\agg_main_r5fss0-0_freertos_ti-arm-clang1.out: Load failed.
您能否告知我如何解决此问题并在擦除闪存后确保稳定运行?
此致、
Baruch
尊敬的 Vaibhav:
我尝试在命令窗口中运行以下命令:
Python uart_uniflash.py -p COM7 -o 0 --operation erase --flash-writer sbl_uart_uniflash.release.hs_fs.tiimage --erase-size 0x4000000 --chunk-size-kb 256
该脚本可以正确启动、并似乎加载了闪存写入器:
Found flash writer ... sending sbl_uart_uniflash.release.hs_fs.tiimage
Sent flashwriter sbl_uart_uniflash.release.hs_fs.tiimage of size 308654 bytes in 29.13s.
但是、它会停止、并显示以下错误消息:
Traceback (most recent call last):
File "C:\tools_am2434\python\uart_uniflash.py", line 770, in <module>
main(sys.argv[1:])
File "C:\tools_am2434\python\uart_uniflash.py", line 518, in main
elif linecfg.optype in ["flash-mcelf-xip"]:
^^^^^^^
UnboundLocalError: cannot access local variable 'linecfg' where it is not associated with a value
C:\tools_am2434\python>
错误消息结束
您能否指导我如何解决此问题、以便成功完成擦除过程?
谢谢、
Baruch
尊敬的 Baruch:
按如下方式修改 cfg 文件、然后进行刷写:[/报价]
不要将其写入命令本身、而是尝试以这种方式写入 default_sbl_null.cfg 文件并运行此处提到的脚本。
链接: software-dl.ti.com/.../EVM_SETUP_PAGE.html
谢谢、
Vaibhav
尊敬的 Vaibhav:
我做了更改、但错误消息保持不变。
C:\tools_am2434\python>Python uart_uniflash.py -p COM7 --file=sbl_null.release.hs_fs.tiimage --option=flash --flash-offset=0x0 --erase-size=0x4000000
回溯(最近一次呼叫):
中的文件“C:\tools_am2434\python\uart_uniflash.py“、第 770 行
main (sys.argv[1:])
文件“C:\tools_am2434\python\uart_uniflash.py“、第 518 行、位于 main 中
[“flash-mcelf-xip"]中“中的 elf linecfg.optype:
^^^^^^^μ s
UnboundLocalError:无法访问未与值关联的局部变量“linecfg"</s>“
谢谢
Baruch
尊敬的 Vaibhav:
我uart_uniflash.py在复制后运行了脚本 default_sbl_null.cfg 复制到我的目录中。 我还复制了文件 sbl_uart.release.hs_fs.tiimage 和 sbl_null.release.hs_fs.tiimage 、缩短了它们的名称、并更新了 default_sbl_null.cfg 使用这些修改后的文件名。 此过程已完成、没有任何错误。
但是、当我尝试激活我的工程(就像我在尝试烧录闪存之前所做的那样)时、R00 和 R01 内核成功连接、但 M4 内核仍然显示存储器问题。 退出并重新启动 CCS 后、我无法再加载程序、现在在内核 R00 处失败。
在此阶段、我仍然无法将程序烧录到闪存中、并且 AM243X-LP 似乎处于故障状态。 您能告诉我如何解决此问题吗? 对于软件开发、我可以考虑购买新电路板、但我主要担心的是确保系统可以在上电后从闪存启动和运行。
感谢您的支持。
此致、
Baruch
尊敬的 Baruch:
已成功连接 R00 和 R01 内核、但 M4 内核仍显示内存问题
为了澄清一下、 我假设 R50 和 R51 是多核应用、M4 是独立应用。
以及您通过连接到内核并加载.out 来通过 CCS 加载它们
您观察到以下行为:
此致、
Vaibhav
尊敬的 Baruch:
但 M4 内核仍然显示内存问题
这是否与以下线程中显示的内容匹配?
此外、我尝试在 CCS 上加载 R500 和 M400、但没有遇到任何问题。 也会尝试加载 R501 应用程序。
此致、
Vaibhav
尊敬的 Vaibhav:
我相信你已经成功地成功地烧了你的 EVB。 然而,在我的情况下,我可能在燃烧过程中犯了一个错误。 如果不完全了解 AM243X-LP 发生了什么、我就很难继续开发。
当然、购买新 AM243X-LP 很容易、但我的主要问题是了解在使用 UniFlash 时当前电路板可能已损坏。 当我尝试烧录 QSPI 外部闪存时、该工具正确地识别了我的评估板、但该板似乎不再按预期运行。
您能否就可能出现的问题提供指导、以及将来如何恢复或预防此问题?
感谢您的支持。
此致、
Baruch
尊敬的 Baruch:
您的最终目标是将多核映像刷写到 QSPI 闪存中。
在这种情况下、您可以参考以下 cfg 文件: c:\ti\mcu_plus_sdk_am243x_11_01_00_17\tools\boot\sbl_prebuilt\am243x-lp\default_sbl_ospi.cfg
请注意、 C:\ti\mcu_plus_sdk_am243x_11_01_00_17\tools\boot\sbl_prebuilt\am243x-lp\default_sbl_ospi.cfg 文件中包含应用程序映像作为多核 appimage。
为了开发/识别映像是否是多核 appimage、我会让您查看带有以下后缀的示例: system_freertos_nortos
例如、


尊敬的 Vaibhav:
如前所述、在使用擦除 QSPI 闪存后uart_uniflash.py、我在尝试通过 CCS 重新加载工程时遇到了严重问题。
第一次尝试(擦除后立即):
当我尝试加载项目时 M4 内核发生故障 连接方式。
第二次尝试(复位后):
我无法再加载我的项目、也无法加载任何其他项目。
CCS 控制台的详细信息:
使用执行闪存擦除uart_uniflash.py。
首次尝试加载原始项目:
MAIN_Cortex_R5_0_0: AM2434_ALX
MAIN_Cortex_R5_0_0: GEL Output: CPU reset (soft reset) has been issued through GEL.
MAIN_Cortex_R5_0_1: AM2434_ALX
MAIN_Cortex_R5_0_1: GEL Output: CPU reset (soft reset) has been issued through GEL.
BLAZAR_Cortex_M4F_0: Error connecting to the target: (Error -1274 @ 0x0)
Error encountered during connect sequence.
Possible reasons: inaccessible Core/logic due to Power, Clocks, or Security Authentication.
下一次尝试(复位后):
MAIN_Cortex_R5_0_0: AM2434_ALX
MAIN_Cortex_R5_0_0: GEL Output: CPU reset (soft reset) has been issued through GEL.
MAIN_Cortex_R5_0_0: Trouble Writing Memory Block at 0x0 on Page 0 of Length 0x40: (Error -1065 @ 0x40) Unable to access device memory.
Suggestion: Verify memory address, confirm configuration, power-cycle board, or try more reliable JTAG settings (lower TCLK).
File Loader: Verification failed: Target failed to write 0x00000000
Load failed: agg_main_r5fss0-0_freertos_ti-arm-clang1.out
在此阶段、擦除闪存后、我无法将任何工程加载到 AM2434-LP 板上。
您能否建议如何恢复电路板并恢复通过 CCS 加载应用程序的能力?
此致、
Baruch
尊敬的 Vaibhav:
我第一次尝试时成功恢复了一个 AM243x-LP、但我尝试在第二个电路板上运行相同的过程、初始错误相同、遇到文件参考问题。
我的批处理流程失败default_sbl_ospi.cfg、因为(第 30 行)引用:
ipc_notify_echo_system.release.appimage_xip
我在中的任何位置都找不到此文件 MCU+ SDK AM243x 10.01.00.32 。 在之前的尝试中、尽管我遇到了此参考问题、但第一块电路板最终恢复了;但是、现在我无法在第二块电路板上完成恢复。
请告知:
应该将哪个示例/appimage 与default_sbl_ospi.cfg用于 SDK 10.01.00.32 ?
如果在此 SDK 中重命名或移动了该文件、正确的替换路径/文件名是什么?
如果有更新default_sbl_ospi.cfg、我可以从哪里获得它?
提前感谢您的帮助!
此致、
Baruch
尊敬的 Baruch:
对于您提到的文件、您找不到。
您可以在以下目录中找到该工程: c:\ti\mcu_plus_sdk_am243x_10_01_00_32\examples\drivers\ipc\ipc_notify_echo\am243x-lp\system_freertos_nortos
您可能需要按照上述目录中所述构建应用、或者它可能已经随所使用的 MCU+ SDK 构建。
只需运行 gmake profile=release 目录中找到。
希望这有所帮助。
谢谢、
Vaibhav
尊敬的 Vaibhav:
我尝试按照您建议的步骤操作、但该过程以错误结束。 ipc_notify_echo_system.release.appimage_xip未生成文件。
我将工程导入到我的目录中、使用所有内核进行构建、并生成发布版本。 但是、该文件仍然未出现在我的工程中。
您能告诉我您的想法吗? 我仍然无法清楚地了解 UniFlash 为何导致我的 LP-AM243x-LP 停止工作、以及当过程(通常会失败)设法写入一次并恢复我的 EBV 时它如何恢复。
谢谢、
Baruch
下面是我运行的示例输出:
C:\ti\mcu_plus_sdk_am243x_10_01_00_32\examples\drivers\ipc\ipc_notify_echo\am243x-lp\system_freertos_nortos>C:\ti\ccs1281\ccs\utils\bin\gmake PROFILE=release
Generating SysConfig files ...
...
makefile:47: recipe for target 'corebuild' failed
gmake: *** [corebuild] Error 2
C:\ti\mcu_plus_sdk_am243x_10_01_00_32\examples\drivers\ipc\ipc_notify_echo\am243x-lp\system_freertos_nortos>
尊敬的 Baruch:
我已查看您的日志。
缺少编译器工具链。
在 Imports.mak 中、您将看到提到的 TI CLANG 版本、然后您需要下载相同的代码并将其放入 C:\ti 中、并在 Imports.mak 中提供正确的路径。
谢谢、
Vaibhav