怎么去更改code区的函数的起始地址
时间:10-02
整理:3721RD
点击:
比如说在code区中有一个SLP_ISR函数,其起始地址为0x1050,现在我要更改为0x1090,在keil C51中怎么用C语言去修改。我用的是64K的,code区为0x1000~0x4FFF,需要修改SLP_ISR在code区的起始存储地址
void slp_isr(void) interrupt 15{
INTSTT_SLP = 0;
if (b_SleepC){
b_SleepC--;
}
report_isr();
}
你这是中断地址吧,51单片机不能能改中断地址的,而且起始地址都是中断占了
一般单片机的向量区是不可以更改的。如果你想用自固件,可以模拟出你的向量区地址。假如你的0x1000到0x107F,是向量区占用地址,你可以在0x1080-0xxxxx作为引导区。剩下的0xxxxx-0x4FFF作为你的app应用区,里面包含你的虚拟向量表和代码应用区。一般重定向编译需要在你的链接文件修改,或者option选项,选择你的rom和ram编译项。