我想在规定的flash区间写入规定的bootload代码。
怎么写入?
例如:
void main(void)
{
ubyte i,j=0;
Disable_Interrupt_WDT();
Main_Clock_Init();
GPIO_Init();
Bootload();
SDK_Parameters_Init();
#ifdef Manchester_Encoding_Test
sri10_rfsm();
#endif
Wait_Power_Normal();
Calibrate_Power();
Variable_Init();
RTC_Init();
Simulate_SPI_Init();
}
这段代码,我想将开头的
Disable_Interrupt_WDT();
Main_Clock_Init();
GPIO_Init();
Bootload();
这部分代码写入到5C00~(6C00-1)地址区?
怎么写入?
求大家支招。。。
烧录器写入,写入的区域可设
你的Bootload不是写在flash开头?
我不是所有的代码都写入到这个地方。
因为代码比较多,写不完。
如果我单独写bootload代码的话,就可以:
void main(void)
{
__disable_interrupt();
//关闭WDT
WDTCTL = WDTPW + WDTHOLD;
main_clock_init();
port_init();
//延时
delayms(0x500);
for(;;)
{
BootLoader();
}
}
但是我加了应用代码就多出了。。。
//关于BOOTLOADER FLASH空间的定义
//FF80H~FFFFH为BOOTLOADER的中断向量区
//5C00~(6C00-1)为BOOTLOADER的程序区
//关于用户程序 FLASH空间的定义
//FC80H~FCFFH为用户程序的中断向量区
//6C00H~FEFFH为用户程序的程序区
//45BFFH~40000H为用户程序的程序区
//45BFFH~40000H为用户程序的程序区
//1FFFFH~10000H为用户程序的程序区
//2FFFFH~20000H为用户程序的程序区
//3FFFFH~30000H为用户程序的程序区
我在加了应用代码部分后,当要更新软件版本时,要擦除应用代码区,发现老时会将bootload代码一起擦除。
单独写的话就可以
我现在就是想将应用代码和bootload代码一起
是通过ftp服务器下载到eeprom内,在从eeprom写入到flash
在分散加载文件里改main地址?
下载选不要擦除的