【发布时间】:2010-11-11 23:23:40
【问题描述】:
是否可以一次运行 2 个不同的 C 程序(即 2 个 main()),存储在 Flash(微控制器)中?
我有一个引导加载程序代码,它是一个单独的程序,位于 ROM 的单独受保护部分中。然后我有我的应用程序,它位于单独的 ROM 部分。虽然,驻留在内存中不是问题,但链接器将如何解释这一点?如何在 2 个程序之间切换。这可能吗?
例如: 一旦我完成了引导加载程序,我可以让它跳转到应用程序函数,但是链接器如何知道这个函数呢?
补充一下,我用的是飞思卡尔HCS08系列,IDE是Codewarrior。
此外,以下是步骤顺序: 我在 ROM 中加载了一个引导加载程序代码。然后需要这个引导加载程序代码来加载我的应用程序代码。然后我的应用程序代码应该会接管。
引导加载程序代码: 程序应用区ROM 启动应用程序
申请代码: 检查是否运行引导加载程序代码或应用程序本身。
【问题讨论】:
-
我认为答案,如果可能的话,将是微控制器特定的。提供您的目标芯片,您将有更好的机会得到答案。
标签: c linker microcontroller