请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
你好!
我正在为 RM44编写引导加载程序、我对 F021库有2个问题:
问题1:
如果引导加载程序将帮助安装新版本的应用程序、而不是新的引导加载程序、那么只需要从 RAM 运行 F021库、还是必须从 RAM 运行整个引导加载程序?
例如:
引导加载程序位于闪存、组0、扇区0中
应用程序位于闪存、组0、扇区1至15中。
F021存储在闪存组0扇区0中、但从 RAM 运行。
我假设:
我可以从闪存运行引导加载程序、但 F021必须存储在闪存中、在使用前必须复制到 RAM 中、并且链接器必须链接到 F021的 RAM 位置。 然后、引导加载程序将能够利用 F021来写入自己的扇区以外的其他扇区。 此假设是否正确?
问题2:
"从 ROM 复制到 RAM"函数是否必须位于汇编代码中? 我看到的所有示例都是这样做的、但是如果它是在堆栈设置完成后完成的、而它仅用于库、那么肯定必须能够在 C 代码中进行存储器复制?
我一直在浏览论坛上的一些问题、以及您的引导加载程序示例和应用手册、但我的大脑有点慢、无法弄清这些问题。 希望您能提供帮助、谢谢。