查看: 3748|回复: 13

[其他] Flash保护后最靠近保护区域的flash块部分不可写

[复制链接]
回帖奖励 5 NXP金币 回复本帖可获得 1 NXP金币奖励! 每人限 1 次

该用户从未签到

3

主题

28

帖子

0

注册会员

Rank: 2

积分
131
最后登录
2015-11-15
发表于 2015-10-8 22:40:13 | 显示全部楼层 |阅读模式
小弟在用DZ60单片机做一个bootloader,flash是这样划分的1900-E7FF用作用户程序区,不加保护
E800-FFFF的6K保护,其中E800-F9FF的4.5K是bootloader的程序存放区。
如下所示
QQ图片20151008223450.jpg

根据数据手册,设置相关寄存器如下
const unsigned char NVPROT_INIT @0xFFBD = 0xFB; // EPROM不保护,FLASH 6K
const unsigned char NVOPT_INIT @0xFFBF = 0x02;  //启用向量重定向

使用RAM——CODE运行flash擦写函数,并修改了相关PRM

结果是,最靠近保护区的那个flash块的最后一部分始终无法成功写入,但写入函数也不报错。而那一块恰好应该是向量重定向后的中断表所在
如下图示:
QQ图片20151008224121.jpg
E77A还可以写入,但 E77B到E7FF就写不了,而按照数据手册所说,保护了6K后向量表应该位于E7C0-E7FD,请教各位这个怎么解决




我知道答案 目前已有13人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-10-9 09:44:57 | 显示全部楼层

    回帖奖励 +1 NXP金币

    关注此问题,学习学习
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    61

    主题

    965

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2394
    最后登录
    1970-1-1
    发表于 2015-10-9 12:02:39 | 显示全部楼层

    回帖奖励 +1 NXP金币

    学习               
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    131
    最后登录
    2015-11-15
     楼主| 发表于 2015-10-12 09:00:09 | 显示全部楼层
       卧槽,还是我自己来回答吧。
       经调试发现,DZ60在使用flash保护,启用中断向量重定向后出现新向量表所在flash区段无法写入的原因在于靠近新向量表的flash块内写有数据。例如,当保护6K时,保护区段为0XE800-0XFFFF,新向量表所在位置为0XE7C0-0XE7FF,但若BootLoader程序的代码被写入0XE800开始的flash块,则会导致其上的0XE77B-0XE7FF无法写入任何内容,该现象未记载于数据手册。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    47
    最后登录
    2016-8-6
    发表于 2015-10-15 11:08:20 | 显示全部楼层

    回帖奖励 +1 NXP金币

    我最近也在搞DZ60的can刷写bootloader,被那些地址和启动搞得有点稀里糊涂的,能把你的源码给我参考一下吗,不胜感谢啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    47
    最后登录
    2016-8-6
    发表于 2015-10-15 11:11:42 | 显示全部楼层
    我的邮箱是13068808154@139.com,不胜感谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    47
    最后登录
    2016-8-6
    发表于 2015-10-15 11:12:27 | 显示全部楼层
    错了,是13068808164@139.com
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-10-16 22:46:31 | 显示全部楼层
    学习了,谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34

    主题

    110

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    338
    最后登录
    2018-3-31
    发表于 2015-10-16 23:19:08 | 显示全部楼层

    回帖奖励 +1 NXP金币

    学习下            
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    131
    最后登录
    2015-11-15
     楼主| 发表于 2015-10-23 08:40:13 | 显示全部楼层

    我暂时用的是SCI的,不过重要部分应该差不多,你要哪些源码?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 15:28 , Processed in 0.112365 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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