读保护作用
防止第三方使用调试接口读取flash中的内容。
开启读保护的三种方式
- 在代码中开启读保护
在APPROTECT的低8位写0表示开启读保护。
在工程中的任意源文件中加入如下代码。
const uint32_t UICR_APPROTECT __attribute__((at(0x10001208))) __attribute__((used)) = 0xFFFFFF00;
- 使用批处理烧录
在烧录hex文件之后执行命令:nrfjprog --rbp all
在开启读保护之后想要重新对flash进行编程的话,可以使用命令:nrfjprog --recover
- 使用nRFgo Studio
在烧录程序的时候将该选项选中。
使用jflash读取flash
- Create a new Project
- 选择对应的芯片型号和接口类型
- 连接上目标芯片,点击Target,connect
- 开始读取
- 读取成功之后可以保存成hex文件
当开启读保护之后使用这种方法是读取不成功的。