微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 Flash lock 加密问题

CC2541 Flash lock 加密问题

时间:10-02 整理:3721RD 点击:

1、在IAR的project->option->debugger->Texas instrument->Download下面有个Flash lock protection设置,选中Lock  flash memory,并在选中下面的CC253x,CC254x,在输入框中输入0-127,这样是不是说锁定了从0到127page的flash?

2、使用上面的设置之后,每次使用IAR进行download and debugger都会提示我flash已经锁定,需要对芯片进行erase才能继续,这个是表明芯片的flash已经被锁定了吗?但是我看编译出来的.hex文件的lock bits没有发现变成0了啊,这是为什么,还是说实际编译出来的.hex文件长度不够,没有到lock bit?

3、另外即使使用了1中的设置,但是使用SmartRF Flash Programmer还是可以利用动作Read flash into hex-file将CC2541的flash读出来。这样的话锁定不就失效了吗?那这个锁定到底是锁定什么?只是锁定不让debugger吗?

4、使用SmartRF Flash Programmer设置Flash lock,并在该处输入框中输入0-127,这样进行下载,是不是效果与1类似?还是有所差异?

禁止读,要如下设置,这个就够了,其他没设置过。

这个功能是flash写保护的,防止改变程序代码!

谢谢您的回答。

1、但实际上按照只这样设置还是不能锁定芯片,使用SmartRF Flash Programmer仍然可以通过动作Read flash into hex-file将flash读到某个.hex文件里。必须要同时选中Lock flash memory,并在输入框中输入0-126才能实现SmartRF Flash Programmer不能读取,这时除了动作Erase之外,其余5个动作都会提示Chip is locked!我试了很多次,如果不设置Lock flash memory,那么读取仍然能成功,芯片不会被锁定。这个跟IAR的版本有关系吗?我使用的是IAR for 8051 8.10版。

2、虽然可以通过上述1中IAR这样的设定实现芯片读取被锁定,但是这有个问题,因为设定了Lock flash memory,那么程序中正常的写flash的操作都将会失败,这将导致程序错误!

3、另外,如果不使用IAR做程序的下载,而是将上述1中生成的.hex文件通过SmartRF Flash Programmer下载进入芯片,那么SmartRF Flash Programmer读取flash竟然成功了,也就是说程序失去了读取锁定!这样的话,如果实际生产中无法给出源码用IAR进行烧写,就不能实现读取锁定!

设定了Lock flash memory确实可以实现Flash的写保护,但程序中正常的写flash的操作也将会失败

我发现了解决问题的办法,只要在使用SmartRF Flash Programmer下载.hex文件时勾选Block debug commands,其他的write protect不用输入任何数据,同时IAR编译时也不需要设定Lock  flash memory和Debugger interface lock,这样就能实现读取锁定!

我发现了解决办法,只需在下载.hex文件时选中SmartRF Flash Programmer的Block debug commads,即可以实现flash的读取锁定!这个时候不需要设置write protect,在IAR编译的时候的也不需要设定Flash lock protection和Debugger interface lock。

这个网站有问题,我这个回帖已经发布3遍了,不知道为什么在帖子中就是看不到。

我发现了解决办法,只需在下载.hex文件时选中SmartRF Flash Programmer的Block debug commads,即可以实现flash的读取锁定!这个时候不需要设置write protect,在IAR编译的时候的也不需要设定Flash lock protection和Debugger interface lock。

你IAR里也是一样啊。如果你用的flashprgorammer,这是地球人都知道的方法呀。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top