利用串口升级用户程序

[复制链接]
 楼主| happyjing 发表于 2015-3-15 22:26 | 显示全部楼层 |阅读模式
看到有串口升级用户程序时有将中断向量表映射出去,而bl程序中也没有用中断  这样映射有必要吗?求大神指导。
    ASEG
    ORG 0xFC00  ;place at the bottom of Segment 1

Int_Priority_0: mov.w  &0xFBE0, PC
Int_Priority_1: mov.w  &0xFBE2, PC
Int_Priority_2: mov.w  &0xFBE4, PC
Int_Priority_3: mov.w  &0xFBE6, PC
Int_Priority_4: mov.w  &0xFBE8, PC
Int_Priority_5: mov.w  &0xFBEA, PC
Int_Priority_6: mov.w  &0xFBEC, PC
Int_Priority_7: mov.w  &0xFBEE, PC
Int_Priority_8: mov.w  &0xFBF0, PC
Int_Priority_9: mov.w  &0xFBF2, PC
Int_Priority_A: mov.w  &0xFBF4, PC
Int_Priority_B: mov.w  &0xFBF6, PC
Int_Priority_C: mov.w  &0xFBF8, PC
Int_Priority_D: mov.w  &0xFBFA, PC
Int_Priority_E: mov.w  &0xFBFC, PC
User_Reset:     mov.w  &0xFBFE, PC

       ASEGN INTVEC: CODE, 0xFFE0

      DW  Int_Priority_0  ;FFE0
      DW  Int_Priority_1  ;FFE2
      DW  Int_Priority_2  ;FFE4
      DW  Int_Priority_3  ;FFE6
      DW  Int_Priority_4  ;FFE8
      DW  Int_Priority_5  ;FFEA
      DW  Int_Priority_6  ;FFEC
      DW  Int_Priority_7  ;FFEE
      DW  Int_Priority_8  ;FFF0
      DW  Int_Priority_9  ;FFF2
      DW  Int_Priority_A  ;FFF4
      DW  Int_Priority_B  ;FFF6
      DW  Int_Priority_C  ;FFF8
      DW  Int_Priority_D  ;FFFA
      DW  Int_Priority_E  ;FFFC

      ASEGN RESET: CODE, 0xFFFE
      DW  Reset
dirtwillfly 发表于 2015-3-16 17:52 | 显示全部楼层
没必要映射出去的。当然,这个也要看你的mcu的flash分配情况
 楼主| happyjing 发表于 2015-3-16 20:54 | 显示全部楼层
dirtwillfly 发表于 2015-3-16 17:52
没必要映射出去的。当然,这个也要看你的mcu的flash分配情况

谢谢
dirtwillfly 发表于 2015-3-16 20:58 | 显示全部楼层
本帖最后由 dirtwillfly 于 2015-3-16 21:03 编辑

这里有个用串口升级详细的介绍:http://www.21ic.com/app/mcu/201111/96887_2.htm
使用的映射中断向量表。一般都是这样用。

说真的,如果不映射中断向量表不知道能否正确操作,我没实验过。
但没查到资料说不映射,就不能成功
dirtwillfly 发表于 2015-3-16 21:06 | 显示全部楼层
好像也有人使用跳转指令来完成串口升级
 楼主| happyjing 发表于 2015-3-18 08:24 | 显示全部楼层
dirtwillfly 发表于 2015-3-16 21:06
好像也有人使用跳转指令来完成串口升级

感觉在主程序中放一个MOV.W #MONITOR_START, PC
在bl程序中放一个MOV.W #UMEM_START, PC
应该可以实现来回的跳转
等我试试去 看看行不行

请问一下上位机的软件 是需要自己写吗?有现成吗?
dirtwillfly 发表于 2015-3-18 08:58 | 显示全部楼层
happyjing 发表于 2015-3-18 08:24
感觉在主程序中放一个MOV.W #MONITOR_START, PC
在bl程序中放一个MOV.W #UMEM_START, PC
应该可以实现来 ...

一般不用自己写的。有些串口调试软件可以利用
 楼主| happyjing 发表于 2015-3-18 09:44 | 显示全部楼层
dirtwillfly 发表于 2015-3-18 08:58
一般不用自己写的。有些串口调试软件可以利用

好的  我找找看
cowboy2014 发表于 2015-3-19 17:11 | 显示全部楼层
学到知识了
comeon201208 发表于 2015-3-19 19:47 | 显示全部楼层
这个分享的资料还是蛮不错的吧。
firstblood 发表于 2015-3-19 21:56 | 显示全部楼层
串口升级用户程序是常用的方式的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部