找回密码
 立即注册
查看: 915|回复: 4

为什么STC32G12K128中IAP的保护地址为0xFF0003-0xFF1003

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    7

    主题

    13

    回帖

    147

    积分

    注册会员

    积分
    147
    发表于 2023-3-3 21:02:24 | 显示全部楼层 |阅读模式
    STC32G12K128的boot例程中使用0xFF0000-0xFF0FFF作为boot空间,用户程序的保护区域不应该是0xFF0000-0xFF0FFF吗,为什么是0xFF0003-0xFF1003。0xFF0000不用保护吗?用户程序的进入地址是0xFF1000,这个地址不应该被保护啊,会根据程序变动改改变的啊。
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2520

    积分

    超级版主

    积分
    2520
    发表于 2023-3-3 22:30:10 | 显示全部楼层
    首先,这里的保护,其实就是告诉Keil编译器,不要在FF:0003~FF:1003的地址放指令或数据,因为这部分地址有特殊用途

    用户ISP的应用程序会将用户复位地址FF:0000~FF:0002的跳转指令重映射到FF:1000~FF:1002
    如果FF:1000~FF:1002的地址不保护起来,keil就可能在这个地址编译用户代码,
    后面的重映射就会失败了

    FF:0000~FF:0002的地址就更加不能保护了,Keil编译时,FF:0000~FF:0002这个地址是强制写复位跳转指令了

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    7

    主题

    13

    回帖

    147

    积分

    注册会员

    积分
    147
     楼主| 发表于 2023-3-4 17:58:23 | 显示全部楼层
    感谢,现在我明白了。我看了下生成的hex文件,是从0xFF0000开始的。 QQ图片20230304175558.png
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    7

    主题

    13

    回帖

    147

    积分

    注册会员

    积分
    147
     楼主| 发表于 2023-3-4 18:33:43 | 显示全部楼层
    《利用STC的IAP单片机开发自己的ISP程序-STC32G12K128系列.pdf》中提到的保护地址是“0xFF0003-0xFF1003”,末尾地址是0xFF1003,我觉得应该是有问题的,应该是0xFF1002,只要保护0xFF1000、0xFF1001、0xFF1002这三个地址就可以,没必要再加上0xFF1003。并且加上0xFF1003的情况下,程序里使用外部中断0中断,编译会报错。
    QQ图片20230304182714.png
    QQ图片20230304183312.png

    点评

    zhp
    确实是的,后续更正文档。 多谢提醒!  详情 回复 发表于 2023-3-4 19:53
  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2520

    积分

    超级版主

    积分
    2520
    发表于 2023-3-4 19:53:38 | 显示全部楼层
    templeton 发表于 2023-3-4 18:33
    《利用STC的IAP单片机开发自己的ISP程序-STC32G12K128系列.pdf》中提到的保护地址是“0xFF0003-0xFF1003” ...

    确实是的,后续更正文档。
    多谢提醒!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-27 08:09 , Processed in 0.061951 second(s), 48 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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