调试时可以把程序载入SDRAM执行,对于SDRAM一般不叫烧录;SDRAM掉电或者控制电路罢工,里面的程序全没了,而且不工作也挺耗电。
还有一种产品比较特殊,怕被人破解,会把程序下载到SRAM中(不是DRAM),平时SRAM就靠一小片电池保持数据(只给SRAM供电),破解时一掉电程序就蒸发了。
我们平时的程序都是烧写到STM32的内部FLASH里的,所以可以通过串口或JLINK直接下载就可以了。而ST官方DEMO的资源文件,和uclinux的image文件都是烧写到外部NOR FLASH的,
除了可以用DFU方式下载.dfu文件之外,还可以用JLINK烧写.bin文件和.hex等文件,而且JLINK烧写NOR的速度比DFU快很多。
这里我们来介绍一下,是怎么通过JLINK烧写字库到NOR FLASH里的:
1、首先打开SEGGER->JLink ARM Vx.xx ->J-Flash ARM
2、然后点File ->open project,
在d出的选择框中选择工程文件:C:\Program Files\SEGGER\JLinkARM_V424\Samples\JFlash\ProjectFiles\STM32F103ZE_ST_MB672_CFI_1x16.jflash
3、然后点File ->open data file 打开要烧写的文件,这里以字库HZK16.bin为例
4、然后会d出一个地址设置框,这里我们填写NOR FLASH的起始地址64000000
5、设置好上面的步骤后,下面点Target ->connect连接设备
连接成功后,在下面的LOG框中看到Connected successfully的信息
6、最后就可以点Target ->program &valify烧写了
等待烧写完成,文件就成功烧写到外部NOR FLASH了
如果要烧写多个文件,步骤3、完成后,接着加一个步骤File ->Merge data file。后面步骤一样。
如果我们烧写的两个文件,会擦除FLASH的同一个块,那就要用Merge data file,不然后面烧的就会把前面烧的擦除了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)