Other Parts Discussed in Thread: RM57L843, HALCOGEN
主题中讨论的其他器件: 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.
Other Parts Discussed in Thread: RM57L843, HALCOGEN
您好、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。