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.

[参考译文] Starterware:电路板可以#39;t 启动而不进行调试--me

Guru**** 1788580 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/566538/starterware-board-can-t-boot-up-without-debug---me-too

主题中讨论的其他器件:HALCOGEN

工具/软件:Starterware

您好、先生:

我使用 了 RM48L952ZWT 和 HAL Cogen

同样的条件: 没有调试(J-tag)、电路板无法启动

 在 E2E 社区上查找:

您好!

我的团队开发了基于 RM48L952ZWT 微控制器的电路板、我们将使用自己的启动代码。

每当我尝试调试代码时、一切都正常工作。 我可以重新启动、重置它、一切都可以正常工作。 当我断开电路板的电源、然后重新插回电路板时、问题就会出现。 它设置了 DE nERROR 引脚、我的代码无法启动。 为了测试这一点、我使用  halcogen 对电路板进行了编程 、并在其中放置了一个虚拟应用(无限循环)、我可以看到一切都正常工作。

如果我还在 RM48HDK 中测试了我的代码、我可以看到、有时它会起作用。 如果我在连接调试电缆的情况下将其关闭、我的应用程序就会工作、如果我在没有插入调试器的情况下也这样做、则应用程序不工作。

这显然是一个固件问题、我必须配置错误、但我不知道是什么。 我将在清理代码并删除专有代码后立即发布代码。

对  Enrique Lizarraaga 的答复

很抱歉花这么长时间回答您的问题。 我在发布问题10分钟后发现了错误。 这是一个非常愚蠢的错误。 我正在调用初始化 VFP 模块、在函数开始时我正在执行

stmfd sp!、{r0}

如果堆栈指针和寄存器已经被初始化、这是可以的。 正如我在遵循初始化手册时所说的、VFP 应该是我初始化的第一个东西、但我没有考虑堆栈指针。 注意到这一点后,我更改了 initVFP()函数的位置。 但我也可以删除 stmfd 指令(及其模拟指令)、它也可以正常工作。  
 

我不知道

我正在调用初始化 VFP 模块、在函数开始时我正在执行

stmfd sp!、{r0}

如果堆栈指针和寄存器已经被初始化、这是可以的。

如何在 HALCoGen ASM 和 C 模块上进行修改

exe 中。  sys_code.asm 和 sys_startup.c ( void _c_int00 (void))

此致

作者:Ken Lin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将此主题移至 Hercule 安全微控制器论坛。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以做的是:

    -打开目标配置文件窗口。
    -为您的目标选择.ccxml
    右键单击、然后选择 Launch Debug Session (启动调试会话)
    -连接到目标

    执行此操作*After *您在断开仿真器的情况下加电,然后您将停止设备*After *发生错误。

    然后、您可以查看 ESM 状态和 ESM 影子状态寄存器、以找出导致设置 nERROR 引脚的错误标志。

    这应该有助于您了解问题所在。

    -Anthony