查看: 3147|回复: 9

[求助] 【求助】MK20 Flash Protection功能无效,求解决

[复制链接]
  • TA的每日心情
    难过
    2016-11-23 17:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    7

    主题

    35

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    1970-1-1
    发表于 2016-4-18 22:59:28 | 显示全部楼层 |阅读模式
    本帖最后由 eefocus8 于 2016-4-18 23:01 编辑

    产品需要对单片机的部分区域进行保护,不允许再写入,因此需要进行flash 保护设置。

    但0x408~0x40B 全部设为 0 ,单片机的程序依然可以被擦除掉(通过jlink 故意擦除的)。
    通过读固件,确认 0x408~0x40B 都是 0的,没写错。


    问题来了,为何 FPROT 写入0后,还是无效的?

    我知道 opensda1 的 bootloader  是不可擦除的,PE 公司对那部分代码进行特殊保护。我如何才可以实现这样的功能?

    是不是漏了什么寄存器没配置?

    QQ截图20160418230105.jpg
    我知道答案 目前已有9人回答
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24849
    最后登录
    2025-7-17
    发表于 2016-4-19 11:19:12 | 显示全部楼层
    楼主你好!
    你说用JLINK擦除,你用的是JLINK的什么方式擦除的呢?
    unlock kinetis命令?
    另外,你现在用的芯片全称是什么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-11-23 17:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    7

    主题

    35

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    1970-1-1
     楼主| 发表于 2016-4-19 11:28:32 | 显示全部楼层
    用 jlink 的 erase 命令。

    按理我设置了全部禁止写功能,那么擦除命令也是无效的,却能全部都擦除成功。

    用 MK20DX128VFM5 ,不行。

    MKL26Z256VLL4 试过,也是这情况。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24849
    最后登录
    2025-7-17
    发表于 2016-4-19 11:31:12 | 显示全部楼层
    eefocus8 发表于 2016-4-19 11:28
    用 jlink 的 erase 命令。

    按理我设置了全部禁止写功能,那么擦除命令也是无效的,却能全部都擦除成功。

    好的,我待会试下,然后给你回复!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-11-23 17:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    7

    主题

    35

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    1970-1-1
     楼主| 发表于 2016-4-19 12:43:41 | 显示全部楼层
    小恩GG 发表于 2016-4-19 11:31
    好的,我待会试下,然后给你回复!

    好的,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24849
    最后登录
    2025-7-17
    发表于 2016-4-19 13:34:11 | 显示全部楼层
    本帖最后由 小恩GG 于 2016-4-19 16:57 编辑

    楼主你好!
    看下这个应用笔记:
    http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4507.pdf
    第11页:
    3.3.1 Mass erase
    Both the Debug and EzPort mass erase commands ignore flash protection settings, so mass erase can be used as long as the
    FSEC setting has mass erase enabled, to return the chip to the default state where none of the flash is protected.
                          NOTE
    The flash Erase All Block command checks the flash protection settings. The command
    will not execute if any of the flash regions are protected. So, in order to use mass erase to
    clear the protection settings, the JTAG/debugger or EzPort method must be used.

    也就是说,如果mass erase使能的话,使用SWD接口调试器,还是能够全片擦除的,除非你在FSEC中关闭mass erase使能位。


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-11-23 17:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    7

    主题

    35

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    1970-1-1
     楼主| 发表于 2016-4-19 13:49:33 | 显示全部楼层
    本帖最后由 eefocus8 于 2016-4-19 13:51 编辑

    原来如此。果然是有东西漏了。非常感谢你的帮忙
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24849
    最后登录
    2025-7-17
    发表于 2016-4-19 16:57:08 | 显示全部楼层
    eefocus8 发表于 2016-4-19 13:49
    原来如此。果然是有东西漏了。非常感谢你的帮忙

    不客气,后续有问题,欢迎继续发帖交流!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-11-23 17:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    7

    主题

    35

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    1970-1-1
     楼主| 发表于 2016-9-1 20:48:22 | 显示全部楼层
    本帖最后由 eefocus8 于 2016-9-1 22:30 编辑
    小恩GG 发表于 2016-4-19 16:57
    不客气,后续有问题,欢迎继续发帖交流!

    还是不行,依旧可以被擦除。我的opensda1 (PE 公司提供那个)被我搞坏了,能否帮忙提取一下固件出来,我想看看他的 flash 配置是如何配置的。
    FSEC 的MEEN 改为10,disabled了。SEC 改成 11 MCU security status is secure 。


    QQ截图20160901203618.jpg


    后续还把 Freescale access也给禁了,依旧这样。

    我的操作步骤:按着复位键,然后就可以直接通过jlink来擦除flash,上述的配置无效。
    我希望的是 指定的flash 不能被有意或者无意而擦除。

    如果复位就能擦除掉,飞思卡尔的 Kinetis 安全保护都是纸老虎。




    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-11-23 17:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    7

    主题

    35

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    205
    最后登录
    1970-1-1
     楼主| 发表于 2016-9-2 16:03:48 | 显示全部楼层
    小恩GG 发表于 2016-4-19 16:57
    不客气,后续有问题,欢迎继续发帖交流!

    没法解决,只要按复位不放,就能重置security 状态,擦除flash。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-17 18:48 , Processed in 0.158573 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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