Other Parts Discussed in Thread: MSPM0L1227, UNIFLASH, MSPM0G3507
器件型号: MSPM0L1227
Thread 中讨论的其他器件: UNIFLASH、 MSPM0G3507
在基于 MSPM0L1227 控制器调试我们的系统时、我们会遇到一些奇怪的行为。 以下是我们遵循的步骤:
- 首先擦除 MAIN、DATA 和 NONMAIN(否则每次刷写都会失败)
- 使用 XDS110 调试器和 CCS 刷写了我们的应用。
- 该应用程序具有一个非常简单的链接器文件、它将应用程序放置在闪存扇区的开头。 如下所示:
-
移动数据
{
闪存中 (Rx) :origin = 0x00000000、length = 0x00020000
SRAM_OS_STACK (RW) :origin = 0x20200000、length = 0x00001000
SRAM_OS_DATA (RW) :origin = 0x20201000、length = 0x00001000
SRAM_Task1_stack (RW) :origin = 0x20202000、length = 0x00002000
SRAM_task2_stack (RW) :origin = 0x20204000、length = 0x00001000
SRAM (rwx):origin = 0x20205000、长度= 0x00003000
BCR_CONFIG (R) :origin = 0x41C00000、length = 0x000000FF
BSL_CONFIG (R) :origin = 0x41C00100、length = 0x00000080
}
刷写完成后、我们启动了调试会话并并行运行 Canoe 来观察 LIN 通信。
首先、LIN 在调试模式下运行良好。
在此之后、我们停止仿真、移除调试器、并为系统提供电源复位。 在此步骤之后、一切都会发生变化。 在调试器断开连接的情况下运行 Re 软件、我们看到没有 LIN 通信。
在此时间点之后、在连接或断开的两个调试器中、LIN 通信没有进一步成功。
我们尝试了多次刷写软件、但在 LIN 通信中未成功。
恢复这一点的唯一方法是使用 Uniflash 再次擦除数据、MAIN 和 NONMAIN、然后再次刷写应用、序列仍然与上述相同。
我们尝试在运行(首次)和未运行(首次试验后的所有试验)方案中读取 NONMAIN 数据。
BCR 和 BSL 字节在所有情况下都保持一致。
我们怀疑引导加载程序没有在第二、第三次等运行周期将系统跳转到应用程序。
知道我们出错的原因或点会很好。
