查看: 6686|回复: 6

[其他] 求dz60重定向中断向量表方法,求赐教啊

[复制链接]

该用户从未签到

6

主题

11

帖子

0

新手上路

Rank: 1

积分
47
最后登录
1970-1-1
发表于 2012-6-12 10:47:48 | 显示全部楼层 |阅读模式
rt,看手册实在看不明白,求高手啊
我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

0

主题

19

帖子

0

新手上路

Rank: 1

积分
40
最后登录
1970-1-1
发表于 2014-5-19 10:20:42 | 显示全部楼层

回复:求dz60重定向中断向量表方法,求赐教啊

DZ60中断是可以重定向的,但中断向量只能有一个,即通过配置NVOPT寄存器中的FNORED来允许重定向,重定向的地址为(通过地址 0xFFBD上的 NVPROT 寄存器进行编程来进行块保护)块保护的之前的地址。
DZ60没有中断向量基址寄存器,所以bootloader和用户程序只能公用一个向量表,但用户程序需要动态更改中断向量表,这样更新用户程序时可能会破坏bootloader的向量表,导致bootloader程序无法正常工作。上诉冲突的解决办法为bootloader不使用中断。
回复 支持 1 反对 0

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-6-12 15:36:12 | 显示全部楼层

    RE:求dz60重定向中断向量表方法,求赐教啊

    DZ60中断向量不能重新定义,这个是固定的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    47
    最后登录
    1970-1-1
     楼主| 发表于 2012-6-12 16:08:57 | 显示全部楼层

    回复:求dz60重定向中断向量表方法,求赐教啊

    回复第 2 楼 于2012-06-12 15:36:12发表:
    DZ60中断向量不能重新定义,这个是固定的。 

    感谢版主回复激动啊,我再请文下手册上在flash介绍时有一段向量重定向?我看它的意思是将后一段地址保护起来中断向量表会自动向前移动?请问这是什么意思?
    另外如果中断向量表不能移动那通过bootloader向板子里烧需要中断的应用程序应该怎么做呢? 谢谢版主大哥赐教 好人啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-6-12 20:01:56 | 显示全部楼层

    RE:求dz60重定向中断向量表方法,求赐教啊

    NVOPT 寄存器中编程FNORED 位来启用以后,将中断向量 (0xFFC0–0xFFFD) 被重定向到位置 0xF9C0–0xF9FD。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    47
    最后登录
    1970-1-1
     楼主| 发表于 2012-6-12 23:05:12 | 显示全部楼层

    回复:求dz60重定向中断向量表方法,求赐教啊

    回复第 4 楼 于2012-06-12 20:01:56发表:
    NVOPT 寄存器中编程FNORED 位来启用以后,将中断向量 (0xFFC0–0xFFFD) 被重定向到位置 0xF9C0–0xF9FD。 

    额,我就这两句没看懂,什么叫NVOPT寄存器中编程FNORED位?能具体指明下么,我理解是用flash向NVOPT寄存器写数?但这个寄存器的位置是0xFFBF,不能写入啊。。。求赐教,最好能有个例程啊。。。谢谢版主。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-11-22 09:35
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    2

    主题

    22

    帖子

    0

    注册会员

    Rank: 2

    积分
    162
    最后登录
    2018-7-4
    发表于 2016-8-16 10:15:56 | 显示全部楼层
    peisihai-251376 发表于 2014-5-19 10:20
    DZ60中断是可以重定向的,但中断向量只能有一个,即通过配置NVOPT寄存器中的FNORED来允许重定向,重定向的 ...

    我看文档HCS08RMV1中的描述,boot和app不是公用一个向量表,而是有两个,boot放在被保护的flash区块中,使用默认的向量表,app使用的是重定向的向量表。
    “For example, if 512 bytes of FLASH are protected, the protected address region is from $FE00 through
    $FFFF. The interrupt vectors ($FFC0–$FFFD) are redirected to the locations $FDC0–$FDFD. Now, if an
    SPI interrupt is taken for instance, the values in the locations $FDE0:FDE1 are used for the vector instead
    of the values in the locations $FFE0:FFE1. This allows the user to reprogram the unprotected portion of
    the FLASH with new program code including new interrupt vector values while leaving the protected area,
    which includes the default vector locations, unchanged.”
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-10-29 01:45 , Processed in 0.092283 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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