DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6144|回复: 7
打印 上一主题 下一主题

[UUProg] uuprog开发教程:Bootloader应用之用户区代码跳转设置

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-19 06:32:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        前面几篇已经对bootloader的应用做了比较详细的讲解,bootloader已经可以使用了,但是还有个必须的,就是平时使用必须要自动跳转到用户区代码,这才是我们所需要的,真正用bootloader的几率比较少,所以才有了这个单独的教程。前面已经说到了用户区代码必须从0x2800h开始(不清楚就翻原来贴看看吧,这里不累述。)。这里我教大家怎么设置这块。
第一步 加入STARTUP.A51文件到工程

第二步 修改程序的起始地址为 2800H,如上图。

  1. ?C_C51STARTUP   SEGMENT   CODE
  2. ?STACK          SEGMENT   IDATA

  3.                 RSEG    ?STACK
  4.                 DS      1

  5.                 EXTRN CODE (?C_START)
  6.                 PUBLIC  ?C_STARTUP

  7.                 CSEG    AT      2800H
复制代码

第三步 修改中断向量起始地址为 0x2800

第四步 选中Use On-chip Rom(0x0-0xFFFF)

并修改用户程序空间的范围为0x2800-0xFFFF

按上面几步设置好后你就可以编译你得固件了,这个就可以用于固件更新用,不会提示地址不多或者超出范围之类了。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
沙发
发表于 2014-11-19 09:41:25 | 只看该作者
8051的中断向量,是怎么remap到APP的?
是不是在boot的上每个向量位置放一个jmp指令
板凳
 楼主| 发表于 2014-11-19 10:11:23 | 只看该作者
mcuplayer 发表于 2014-11-19 09:41
8051的中断向量,是怎么remap到APP的?
是不是在boot的上每个向量位置放一个jmp指令

不是,只是在定义了个起始地址,然后app部分有自己的定位地址,编译时设置的那个中断向量表地址,以后都会从这里检索
地板
发表于 2015-1-12 08:59:28 | 只看该作者
好啊,写的很详细啊。
5#
发表于 2021-1-24 14:12:28 | 只看该作者
>>不是,只是在定义了个起始地址,然后app部分有自己的定位地址,编译时设置的那个中断向量表地址,以后都会从这里检索
8051是这样的?STM32 他是有个设置向量的寄存器啊?你不要设么?
6#
发表于 2021-1-24 14:15:25 | 只看该作者
PIC18 这样也都是要跳转的
7#
发表于 2021-1-24 18:24:18 | 只看该作者
第三步 修改中断向量起始地址为 0x2800 ,这个比较重要,
stm32也是这样有个设置中断向量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-23 18:13 , 耗时 0.091319 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表