我自己写了一个PIC18的bootloader,但是用到了中断服务程序。而用户程序也要使用中断。
例程的bootloader都是不用中断的,所以可以0x08和0x18地址重定位到用户程序。
但是我如果照例程那样做就不能转到bootloader的中断服务程序了。
我现在有两种方案:
1.在0x08和0x18判断当前运行的是bootloader还是用户程序的标志位,然后转到相应地方
2.在执行bootloader前将0x08和0x18的命令改成“goto bootloader中断服务程序”。在执行用户程序前将0x08和0x18的命令改成“goto 用户中断服务程序”。
感觉上方案2好一点,节省时间。但是不知道会有什么副作用。有没有人用到过bootloader里面也有中断的啊?请教请教。 |