如何指定PIN码的地址范围?

时间:2009-09-15 14:08:41

标签: linker pic rom

我想使用PIC16的Claudiu Chiculitas微型引导加载程序(我已根据我的芯片进行了修改)但由于该引导加载程序不会移动代码以防止覆盖引导加载程序,因此我必须以某种方式手动查看引导加载程序未被覆盖。我试过像这样使用--rom选项:

--rom=default,-0-4,-3f00-3fff

我想要的是:代码存储器的前4个字中没有代码,因为跳转到引导加载程序的位置是最后128个字的内存中没有代码,因为那是实际的引导程序所在的位置。 - 像我使用它什么也没做。我使用的是HI-TECH PICC STD编译器(Microchip PICmicro)V9.60PL3,芯片是pic16f876A。

1 个答案:

答案 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