【发布时间】:2010-10-28 08:29:13
【问题描述】:
我正在为 HCS08 系列微控制器开发基于 USB 的引导加载程序。我在汇编中有引导加载程序代码(适用于串行通信)。 我正在从此汇编代码中调用用于 USB 通信的 C 函数(终端微控制器)。但是,这些 C 函数似乎没有位于保护区 ROM 中,我可以在 project.map 中看到这一点。它们与我的引导加载程序代码不连续,即我的引导程序代码从 F003 开始,但这些 USB 函数在某些〜1000-2000。 我的问题是,如何让这些 C 函数继续使用 ROM 中的 bootloader.asm 代码。
这是程序流程:我有一个 C 主函数,它在上电时跳转到 bootloader.asm。 虽然 bootloader.asm 工作正常,但由于 USB 例程在非受保护的程序 ROM 区域中,这些也被擦除,此后 bootloader 无法与我的终端通信。
这方面的任何建议都会很有帮助。
谢谢
【问题讨论】:
标签: c assembly bootloader