首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为PIC代码指定地址范围?

如何为PIC代码指定地址范围?
EN

Stack Overflow用户
提问于 2009-09-15 14:08:41
回答 1查看 916关注 0票数 0

我想使用克劳迪乌奇库里塔斯PIC16的小型引导加载程序(我已经修改了它以适应我的芯片),但由于该引导加载程序不会移动代码以防止覆盖引导加载程序,因此我必须以某种方式手动确保引导加载程序不会被覆盖。我尝试使用--rom选项,如下所示:

代码语言:javascript
复制
--rom=default,-0-4,-3f00-3fff

我想要的是:在代码内存的前4个单词中没有代码,因为这是跳转到引导加载程序的位置,而在内存的最后128个单词中没有代码,因为那是实际的引导加载程序所在的位置。--rom就像我使用它一样,什么也不做。我使用的是高科技的PICC编译器(Microchip PICmicro) V9.60PL3,芯片是pic16f876A。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-31 04:18:06

您也可以使用自定义链接器脚本执行此操作。通常,您的链接器脚本将包含以下行,以将重置向量放在第一位,并将代码(在名为“page”的页面中)放在其后面:

代码语言:javascript
复制
CODEPAGE   NAME=vectors    START=0x0            END=0x29           PROTECTED
CODEPAGE   NAME=page       START=0x2A           END=0x7FFF

对于Microchip的FSDem板中使用的引导加载程序(占用0x0-0x800范围,并期望您的程序在0x800处有自己的向量),将其替换为以下行,以防止链接器使用低于0x800的任何内容:

代码语言:javascript
复制
CODEPAGE   NAME=boot       START=0x0            END=0x7FF          PROTECTED
CODEPAGE   NAME=vectors    START=0x800          END=0x0x829        PROTECTED
CODEPAGE   NAME=page       START=0x82A          END=0x7FFF
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1427415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档