我想使用克劳迪乌奇库里塔斯PIC16的小型引导加载程序(我已经修改了它以适应我的芯片),但由于该引导加载程序不会移动代码以防止覆盖引导加载程序,因此我必须以某种方式手动确保引导加载程序不会被覆盖。我尝试使用--rom选项,如下所示:
--rom=default,-0-4,-3f00-3fff我想要的是:在代码内存的前4个单词中没有代码,因为这是跳转到引导加载程序的位置,而在内存的最后128个单词中没有代码,因为那是实际的引导加载程序所在的位置。--rom就像我使用它一样,什么也不做。我使用的是高科技的PICC编译器(Microchip PICmicro) V9.60PL3,芯片是pic16f876A。
发布于 2009-10-31 04:18:06
您也可以使用自定义链接器脚本执行此操作。通常,您的链接器脚本将包含以下行,以将重置向量放在第一位,并将代码(在名为“page”的页面中)放在其后面:
CODEPAGE NAME=vectors START=0x0 END=0x29 PROTECTED
CODEPAGE NAME=page START=0x2A END=0x7FFF对于Microchip的FSDem板中使用的引导加载程序(占用0x0-0x800范围,并期望您的程序在0x800处有自己的向量),将其替换为以下行,以防止链接器使用低于0x800的任何内容:
CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED
CODEPAGE NAME=page START=0x82A END=0x7FFFhttps://stackoverflow.com/questions/1427415
复制相似问题