查看: 2813|回复: 4

[CodeWarrior] CW10.6如何对芯片设置加密

[复制链接]

该用户从未签到

5

主题

41

帖子

0

注册会员

Rank: 2

积分
198
最后登录
2017-4-18
发表于 2016-4-27 16:11:00 | 显示全部楼层 |阅读模式
我使用的是KEA128芯片,file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\799458977\QQ\WinTemp\RichOle\@H}@X5LT6AU%@KUUP6]%T]Y.pngfile:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\799458977\QQ\WinTemp\RichOle\@H}@X5LT6AU%@KUUP6]%T]Y.png
ld文件中内存的描述:
MEMORY
{
  m_interrupts        (rx) : ORIGIN = 0x00000000, LENGTH = 0xC0           /*长度192,只读区域*/
  m_cfmprotrom         (rx) : ORIGIN = 0x00000400, LENGTH = 0x10           /*长度16字节,只读区域,Flash配置字段*/
  m_text                 (rx) : ORIGIN = 0x00002000, LENGTH = 128K - 0x2000   /*为何从0x800开始*/
  m_data            (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K                        /* SRAM,可读写区域,低位SRAM和高位SRAM区 */
}

关于配置字段的分配:
* Define output sections  定义输出部分 */
SECTIONS
{
  .cfmprotect :
  {
    . = ALIGN(4);
        KEEP(*(.cfmconfig))        /* Flash Configuration Field (FCF) Flash配置区域 */
        . = ALIGN(4);
  } > m_cfmprotrom

}

main.c文件中定义了__attribute__((section (".cfmprotect"))) volatile const UINT32 FlashConfig[4] ={0x55555555,0xAAAAAAAA,0xFFFFFFFF,0xFFFFBCFF};
想实现MCU的加密功能,我使用的是CW10.6,调试后发现芯片没有加密,且配置字段(地址0x400-0x40F)的数据没有如以上设想改变,请问这是怎么回事?

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

使用道具 举报

该用户从未签到

5

主题

41

帖子

0

注册会员

Rank: 2

积分
198
最后登录
2017-4-18
 楼主| 发表于 2016-4-27 16:12:15 | 显示全部楼层
抱歉,发帖经验不足,把一些文件的路径也粘贴进去了,那个是没有用的。
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24903
最后登录
2025-7-22
发表于 2016-4-27 16:31:08 | 显示全部楼层
楼主你好!
你生成下hex,然后看下0X400-0X40F相关的secure字节有没有被改变掉?
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

41

帖子

0

注册会员

Rank: 2

积分
198
最后登录
2017-4-18
 楼主| 发表于 2016-4-27 16:51:03 | 显示全部楼层
小恩GG 发表于 2016-4-27 16:31
楼主你好!
你生成下hex,然后看下0X400-0X40F相关的secure字节有没有被改变掉?
...

谢谢,此问题已经解决,HEX文件的确显示相关的字节有改变,只是我采用的是Debug,应该用CW10.6的闪电图标来对HEX文件直接烧录到MCU,这样就完成了flash的加密。多谢多谢!
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24903
最后登录
2025-7-22
发表于 2016-4-27 17:00:02 | 显示全部楼层
我娘她女儿真萌 发表于 2016-4-27 16:51
谢谢,此问题已经解决,HEX文件的确显示相关的字节有改变,只是我采用的是Debug,应该用CW10.6的闪电图标 ...

不客气,debug的时候,有些仿真器会将flash configuration 写为默认的值,而不是用户改后的值。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-22 19:08 , Processed in 0.093112 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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