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.
工具与软件:
我一直在尝试在 EVM 上运行这个应用。 用户指南中指出、我需要使用"can_MetaImage.exe"应用程序发送 Metaimage_Flasher。 但是、此应用基于峰值 CAN 硬件、我没有。 相反、我有一个 Kvaser CAN 接口。
用户指南还提到了为其他软件狗移植应用程序的可能性。 您能否提供此应用程序的源文件路径?
您好、Tanoop、
目前、 基于 PC 的 CAN 应用程序的源代码未包含在雷达工具箱中。
这是应用程序的流程。
此致、
Samhitha
尊敬的 Samhitha:
我尝试使用流程图为它编写一个 python 脚本
但我遇到了这个错误
_____________
调试:次级引导加载程序应用程序启动
_____________
按任意键停止自动引导并更新元映像...
加载闪存中的现有元映像20 19 18.
调试:更新选定的元映像
调试:器件信息:制造商:0、器件类型= 0、容量= 0
调试:从闪存地址加载应用元映像:c0040000
调试:擦除 SFlash...
调试:闪存擦除完成
调试:使用 XMODEM 通过 UART 开始映像下载、或点击"速度栏"以开始映像下载移动 CAN 接口
CCCCCDebug:写入的总数据= 0x202440
错误:元数据标题不存在!!!
错误:无法将 metaimage 下载到 RAM。 尝试引导备用出厂默认映像。
调试:从闪存地址加载备用出厂默认映像:c0180000
错误:元数据标题不存在!!!
错误:无法将备份出厂默认映像元下载到 RAM。 复位试验板以重试
此问题何时发生?
有没有 调试方法 就我所知、此问题无法调试此应用、就像我刷写调试文件并尝试将 CAN SBL 的.xerf 文件附加到 MSS 内核时那样、但是它没有在暂停状态下初始化、或者从正在运行状态开始
类似的东西
主题
您还能解释一下这个代码位吗
/** * @brief Metaheader start word. */ #define SBL_META_HDR_START (0x5254534DU) /** * @brief Metaheader end word. */ #define SBL_META_HDR_END (0x444E454DU)
编辑-经过进一步调查、我认为问题出在 CRC
有什么想法如何解决此问题?
因为我在这行代码中遇到错误
#define SBL_META_HDR_START (0x5254534DU) ..... if (metaHeaderStart != SBL_META_HDR_START) { gSblMCB.metaHdrAbsent = 1U; gSblMCB.errorStatus |= SBL_METAHEADER_NOT_FOUND; numBytesRead = 0U; } .....
如果我的想法正确、请告诉我
谢谢。此致
您好、Tanoop、
MetaImage 具有一个元数据标题。 您似乎 正在尝试刷写没有 metaheader 的二进制文件。 您可以尝试从 MMWAVE_SDK_中刷写 SBL -sts\packages\ti\utils\sbl\xwr18xx_sbl.bin。 这 是 metaheader 的屏幕截图、其中突出显示了起始字和结束字。
是否有 调试方法 就我所知、此问题无法调试此应用、就像我刷写调试文件并尝试将 CAN SBL 的.xerf 文件附加到 MSS 内核时那样、但是它没有在暂停状态下初始化、或者从正在运行状态开始
[报价]您可以添加 while (1)进行调试。
此致、
Samhitha
尊敬的 Samhitha:
那么、以下是我按照 CAN_SBL_SBL 中所述执行的步骤 User_Guide
将随输出文件自动创建用于 SBL 的 Meta-Image 应用程序 编译该应用程序时 . 请注意、此映像将仅包含 MSS 二进制文件(无 BSS 或 DSS 二进制文件)。 需要使用传统方法(uniflash)刷写该元映像 .
2.在设备管理器下找到显示为"XDS110 Class Application/User UART"的 COM 端口、并使用 Terraterm 连接到该端口。
通过按下 EVM 上的"SW2"来重新启动器件。
在控制台上点击"Enter"。(应用程序将开始擦除 SLFAH 的部分)
5.开始从基于 PC 的 CAN 应用程序传输(此应用程序使用 PCAN (峰值) USB-CAN 适配器将固件下载到器件。)
6.一旦 PC 应用程序通过 CAN 发送了完整的 Meta-Image、控制台将显示传输的总字节数。 这可用于确保已传输完整的映像。
我还获得了 调试:写入的总数据= 0x202440 发送消息、因此我认为 CAN 应用也可以很好地工作。
我在这两者之间放入了更多的调试语句
*readPtr=1381258061.
metaHeaderStart=1381258061
这是在刷写正确时(即加载出厂备份时)
但当我尝试使用从下载 metaimage 时,我可以得到这两个变量不同的值,因此在以下几行代码中失败
readPtr =和(gSblMCB.inputBuffers.bufferPrms[gSblMCB.inputBuffers.readBufferIdx].inputBuffer[0U]);
...
...
bytesRead = SBL_stateMetaHeaderParser (readPtr);
....
....
sbl_stateMetaHeaderParser (uint32_t readPtrLcl[])
{...
bytesRead = sbl_metaHeaderParser (readPtrLcl);
...
}
uint32_t sbl_metaHeaderParser (uint32_t bufferPtr[])
{...
metaHeaderStart =* bufferPtr;
....
if (metaHeaderStart!= SBL_META_HDR_START)
{
gSblMCB.metaHdrAbsent = 1u;
gSblMCB.errorStatus |= SBL_METADER_NOT_FOUND;
numBytesRead = 0u;
}
....
}
此致
您好、Tanoop、
[报价 userid="575257" url="~/support/sensors-group/sensors/f/sensors-forum/1387354/awr1843boost-can-secondary-bootloader-lab_0012/5307924 #5307924"]metaHeaderStart=1381258061该十六进制值为0x5254534D。 如果您看到我之前的回复、SBL 有一个 metaheader、它的开头 是0x5254534D。 您是否尝试过从 MMWAVE_SDK_中刷写 SBL -sts\packages\ti\utils\sbl\xwr18xx_sbl.bin?
但当我尝试使用从下载 metaimage 时、这两个变量是否可以得到不同的值
您能否确认您是使用 CAN 刷写 SBL 还是应用二进制文件?
此致、
Samhitha
尊敬的 Samhitha:
我正在尝试通过 CAN 下载应用文件、即 MRR 实验文件、并 通过 uniflash 下载此 SBL_实验 文件
我的应用文件(MRR_lab.bin)也具有 与标头类似的值
我还尝试了刷写 MMWAVE_SDK_的解决方案 -LTS\packages\ti\utils\SBL\xwr18xx_sbl.bin 文件通过 uniflash、但是这个 SBL 通过 UART (XMODEM)接受应用文件、这并不是我目前想要通过 CAN 下载的用例
编辑:
为了尝试并检查 CAN/Xmodem 下载后的正向逻辑在 SBL 中是否有效、我尝试使用 Xmodem 进行下载、此操作成功
_____________
调试:次级引导加载程序应用程序启动
_____________
按任意键停止自动引导并更新元映像...
在20 19 18 17 16 15 14 13中从闪存加载现有元映像12.
调试:更新选定的元映像
调试:器件信息:制造商:0、器件类型= 0、容量= 0
调试:从闪存地址加载应用元映像:c0040000
调试:擦除 SFlash...
调试:闪存擦除完成
调试:使用 XMODEM 通过 UART 开始映像下载、或点击"进度条"以开始通过 CAN 接口进行映像下载
CCDebug:写入的总数据= 0x40980
调试:解析完成
应用程序按预期运行。
但我注意到的一个奇怪的事情是,虽然我在闪同一个文件通过两种方法
写入 CAN 和 XMODEM 中的字节数有很大不同(这些来自 debug 语句)
在 Xmodem 中- 写入总数据= 0x40980 (33KB)
在 CAN 中- 写入的总数据= 0x204840 (264Kb)
该文件的原始大小约为258Kb
但问题仍然存在、为什么我在 尝试使用 CAN 进行下载时遇到了该问题
此致、
Tanoop
您好、Tanoop、
当我尝试使用下载 metaimage 时、可以为这两个变量获得不同的值吗
使用 CAN 刷写应用程序时、您能否检查 metaHeaderStart 的值是多少? 此外、将写入串行闪存的数据 与您要刷写的应用程序二进制文件进行比较、以确保映像成功刷写。
此致、
Samhitha
尊敬的 Samhitha:
我解决了这个问题。 我以传统 CAN 格式以8字节(DLC)传输数据。 但是、在更仔细地研究代码后、我意识到它需要具有64字节 DLC 的 CAN FD 格式的消息。
此致、
Tanoop