uuprog开发教程:Bootloader应用之用户区代码跳转设置
前面几篇已经对bootloader的应用做了比较详细的讲解,bootloader已经可以使用了,但是还有个必须的,就是平时使用必须要自动跳转到用户区代码,这才是我们所需要的,真正用bootloader的几率比较少,所以才有了这个单独的教程。前面已经说到了用户区代码必须从0x2800h开始(不清楚就翻原来贴看看吧,这里不累述。)。这里我教大家怎么设置这块。第一步 加入STARTUP.A51文件到工程
第二步 修改程序的起始地址为 2800H,如上图。
?C_C51STARTUP SEGMENT CODE
?STACK SEGMENT IDATA
RSEG ?STACK
DS 1
EXTRN CODE (?C_START)
PUBLIC?C_STARTUP
CSEG AT 2800H
第三步 修改中断向量起始地址为 0x2800
第四步 选中Use On-chip Rom(0x0-0xFFFF)
并修改用户程序空间的范围为0x2800-0xFFFF
按上面几步设置好后你就可以编译你得固件了,这个就可以用于固件更新用,不会提示地址不多或者超出范围之类了。
8051的中断向量,是怎么remap到APP的?
是不是在boot的上每个向量位置放一个jmp指令 mcuplayer 发表于 2014-11-19 09:41
8051的中断向量,是怎么remap到APP的?
是不是在boot的上每个向量位置放一个jmp指令
不是,只是在定义了个起始地址,然后app部分有自己的定位地址,编译时设置的那个中断向量表地址,以后都会从这里检索 好啊,写的很详细啊。 >>不是,只是在定义了个起始地址,然后app部分有自己的定位地址,编译时设置的那个中断向量表地址,以后都会从这里检索
8051是这样的?STM32 他是有个设置向量的寄存器啊?你不要设么? PIC18 这样也都是要跳转的 第三步 修改中断向量起始地址为 0x2800 ,这个比较重要,
stm32也是这样有个设置中断向量 很有用。。。。。。。。。。。。。。。
页:
[1]