我想使用PIC16的Claudiu Chiculitas微型引导加载程序(我已根据我的芯片进行了修改)但由于该引导加载程序不会移动代码以防止覆盖引导加载程序,因此我必须以某种方式手动查看引导加载程序未被覆盖。我试过像这样使用--rom选项:
--rom=default,-0-4,-3f00-3fff
我想要的是:代码存储器的前4个字中没有代码,因为跳转到引导加载程序的位置是最后128个字的内存中没有代码,因为那是实际的引导程序所在的位置。 - 像我使用它什么也没做。我使用的是HI-TECH PICC STD编译器(Microchip PICmicro)V9.60PL3,芯片是pic16f876A。
答案 0 :(得分:1)
您也可以使用自定义链接描述文件执行此操作。通常,您的链接器脚本将包含这些行以将重置向量放在第一位,并将代码(在名为“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=0x7FFF