利用Jflash通过SWD接口烧录SPI flash

一、目的

        用于量产的spi flash 的烧录bin文件,如UI,字库等。

二、操作

2.1.算法制作

        参考:MDK下载外部SPI FLASH算法制作

注意:上面的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文件是一致的,证明成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值