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