关于程序员:ArtPi学习笔记9如何为Artpi的内部flash设置读保护

如何为Art-pi的外部flash设置读爱护。

个别在我的项目开结束之后,最终烧录固件的时候都会将stm32设置为读爱护。过来始终应用STM32 ST-LINK Utility配合st-link来实现这个步骤。这次用到art-pi上,不灵了。

具体表现如下:
实现固件下载

配置option bytes,后果弹出设置失败

原来art-pi上应用的是Stm32H7系列的芯片,属于比拟新的系列了。STM32 ST-LINK Utility算是比拟长远的一款下载工具了,当初要与时俱进,应用新的工具了,就是STM32CubeProgrammer了。看看这界面,一看就是高大上。

具体怎么弄呢?
双击关上工具之后,能够看到右上角有抉择连贯的硬件设施,这个工具很弱小,能够反对多种硬件烧录设施,这里选钻研st-link。所以抉择了st-link而后点击connect。

因为方才烧录之后设置读爱护是失败的,所以此时芯片是处于没有爱护的状态,因而连贯胜利之后会主动读取到外部flash的内容。

点击左上角的按钮,能够关上菜单栏

抉择option bytes,而后能够看到以后的状态字是0xAA,而且左边还有具体的解释,要设置成level1的读爱护,须要写入BB。

这里间接点击小三角弹出下拉菜单,而后抉择BB,而后点击apply

弹出写入胜利,点击确定退出。留神这里退出之后,按电路板上的reset按键,是不会产生复位的,要间接给指标板断电重启,这一步十分重要。

板子重启之后,咱们再次连贯板子,就会弹出数据读取失败的对话框,阐明曾经读爱护了。

此时如果要解开读爱护,要如何操作呢?很简略,只有反复方才的OB选项的操作就能够了。只不过这次把值改成AA,就能够了。

然而解除读爱护,会将外部flash革除,此时读出的都是FF。这样就无效避免间接通过SWD口来拷贝bin固件了。

那如果是批量生产过程中,每一个板子都这么先烧录后加锁,操作步骤太简单了,有没有简便的办法呢?有的,间接用生产模式,主动烧录。
点击菜单栏,而后抉择擦除和烧录选项

而后先抉择要烧录的固件,而后勾选全片擦除,下载文件,并在最初的option bytes commands中填写“-ob rdp=0xBB”,最初点击开始主动烧录

当看到log中显示这一句的时候,阐明曾经烧录胜利,此时就能够拔掉板子上的swd口连线。插入第二块版,程序会主动烧录第二块版,不必手工点击。

如果要退出主动烧录模式,只有点击stop就能够了。

这个工具还有其余性能,当前用到了再缓缓钻研。

原文:https://club.rt-thread.org/as…