主题中讨论的其他器件: HALCOGEN
您好、TI 团队、
我想了解 RM57L843和 TMS570l843微控制器的启动过程。 提供了一些链接、我们需要在其中对此进行研究。 是否有任何具体的指南或参考链接、请与我们分享。
什么是引导过程、在哪里研究它、什么是 RTOS 和嵌入式的引导过程。
RTOS 遵循了与嵌入式相同的引导过程。
请引导我
谢谢。此致、
A. Ajith Kumar。
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.
您好、TI 团队、
我想了解 RM57L843和 TMS570l843微控制器的启动过程。 提供了一些链接、我们需要在其中对此进行研究。 是否有任何具体的指南或参考链接、请与我们分享。
什么是引导过程、在哪里研究它、什么是 RTOS 和嵌入式的引导过程。
RTOS 遵循了与嵌入式相同的引导过程。
请引导我
谢谢。此致、
A. Ajith Kumar。
尊敬的 Ajith Kumar:
Hercules 器件 没有 ROM 引导加载程序。 这些器件只支持从闪存引导。
因此、在上电复位后、闪存中的代码将从地址0x0执行。
和参考以下应用手册、了解 Hercules 器件的初始化序列:
Hercules ARM Cortex-R4F 微控制器的初始化(修订版 D)
--
谢谢。此致、
Jagadish。
Jagadish、您好!
我已经了解了启动过程。 我理解一些东西、但对此我仍有困惑。 我会告诉下面我的理解,如果我错了,请纠正我。
1.微控制器启动(或)复位后。
2.启动代码将从闪存执行。(由制造商预定义)
3.此引导代码将包含外设初始化和加载引导加载程序。 引导加载程序将检查 nRST 引脚是否为低电平、以更新主程序。 变为 低电平。 引导加载程序将擦除以前的存储器并将主程序加载到微控制器中。
主应用程序包含启动程序、该程序将初始化所有外设、时钟、中断、可编程内置自检(PBIST)模块将测试所有正常工作的外设。
在该主函数之后执行哪个用户定义的。
Question:
1.我提到的上述过程是否正确或按任何顺序更改。
2.是否引导代码可以由用户修改。 有可能吗?如何实现?
3.PBIST 模块会出现在引导代码中还是启动代码中?
启动代码和启动代码之间的区别?
5.同样的过程也适用于微处理器吗? 请说明其中的差异。
6.汇编语言在引导代码中的作用是什么?
谢谢。此致、
A. Ajith Kumar
尊敬的 Ajith Kumar:
2. 启动代码将从闪存执行。(由制造商预定义)
制造商不会提供任何预定义代码。 控制器完成复位后、它将直接开始执行来自闪存0x0地址的代码。
所以、这里不会有任何主要的引导加载程序概念。 所有初始化都将是应用程序代码的一部分。 我是说所有必要的初始化、例如 CPU 寄存器初始 化、堆栈指针初始化、内存初始化和系统初始化 、所有内容都将仅存储在闪存中。 这些所有初始化都将位于函数"_c_int00"中。

处理器完成复位后、它将通过分支到函数 "_c_int00"来直接执行这些初始化。

1.上述 过程是否正确或按任何顺序更改。
不正确、在 Hercules 器件中不会有任何制造商引导加载程序概念。
Unknown 说:2.is 启动代码可以由用户修改。 是否可能以及如何实现?
代码将始终从闪存地址0x0开始执行、这完全取决于我们在闪存开头编程的代码类型。
通常、HALCoGen 将生成如下代码:

在起始地址上、它将存储中断矢量、然后它将逐个存储代码的不同目标文件。
因此、在复位后、处理器将执行地址0x0中的代码矢量表、并跳转到 _c_int00函数。
您可以根据您的要求修改此代码。
3.PBIST 模块会出现在启动代码或启动代码中?
PBIST 相关代码将位于名为片上 PBIST ROM 的单独存储器部分中。
它是一个只读存储器、不能被改变。
4.启动代码与启动代码之间的区别?
如前所述、制造商不会提供任何启动代码。 在调用 main 函数之前、_c_int00函数中的所有初始化都可以作为启动代码进行调用。
5. 同样的过程也适用于微处理器吗? 请提及差异。
不是、微处理器采用不同的程序、因为它们没有任何内置闪存。 其中处理器将包含内置的 ROM 存储器、该存储器包含启动代码(我们可以将其称为主引导加载程序)。 复位后、处理器将执行主引导加载程序、并使用该主引导加载程序、我们可以加载次级引导加载程序和/或应用程序。
6. 汇编语言在启动代码中的作用是什么?
在所有内核寄存器初始化、堆栈指针和存储器初始化之前、代码将使用汇编语言。 一旦所有这些初始化完成、代码就可以使用 C 语言、因为根据我的理解、没有这些初始化、我们就无法进行任何正确的函数调用?
--
谢谢。此致、
Jagadish。