一、目的
用于量产的spi flash 的烧录bin文件,如UI,字库等。
二、操作
2.1.算法制作
注意:上面的2.3章,需要屏蔽掉Verify、BlankCheck这两个函数,仅Jflash需要屏蔽(因为我也不知道Jflash为什么一直在验证失败),MDK正常使用。
2.2.添加算法
将生成的.FLM文件(如ARMFLY_STM32F429_SPI_W25Q128_NO_VERIFY.FLM)放入jfalsh的目录C:\Users\Callen\AppData\Roaming\SEGGER\JLinkDevices\Device2,我用的是V7.82的版本JLinkDevices\Device2这是我自己建立的管理文件夹。
参考:(新旧版本的jflash添加方法都有)Jlink新版驱动安装目录无JLinkDevices.xml添加新器件方法_xml_onlyloveonlyu-GitCode 开源社区
2.3.编写xml文件
这文件是jflash找到算法的依据,解释如下图:
<Database>
<Device>
<ChipInfo
Vendor="ARMFLY"
Name="ARMFLY_STM32F429_SPI_W25Q128_NO_VERIFY"
WorkRAMAddr="0x20000000"
WorkRAMSize="0x30000"
Core="JLINK_CORE_CORTEX_M4"/>
<FlashBankInfo
Name="My Flash Bank1"
BaseAddr="0xC0000000"
AlwaysPresent="1">
<LoaderInfo
Name="ARMFLY_STM32F429_SPI_W25Q128_NO_VERIFY"
MaxSize="0x1000000"
Loader="ARMFLY_STM32F429_SPI_W25Q128_NO_VERIFY.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN"/>
</FlashBankInfo>
</Device>
</Database>
完成时截图:
三、下载
1.打开jflash.exe
2.新建工程
3.选择算法
4.打开要下载的bin文件
5.测试spi flash 的内容
我用的是MDK算法里面的测试模板,先擦除扇区,然后再读前面1024字节。(这个地方可以任意测试方法)
这是我擦除后打印出来的:
6.连接芯片
7.烧录芯片
烧录完成
重新测试
好了,这里读出来的数据和bin文件是一致的,证明成功了!