硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7105|回复: 13
收起左侧

[J-Link] J-Flash中添加MDK制作的QSPI Flash下载算法方法

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
发表于 2020-11-10 09:17:31 | 显示全部楼层 |阅读模式
在JLINK的电脑端驱动V6.84a上测试的。

1、MDK的QSPI Flash下载算法制作方法和制作好的算法看教程第80章和配套的例子即可
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980


2、将下载算法添加到JLINK安装目录的如下路径:
QQ截图20201110100838.png

3、修改文件JLinkDevices.xml

1.png

在如下位置:
QQ截图20201110101143.png

添加如下代码:
  <Device>
        <ChipInfo Vendor="ST" Name="STM32H743XI_STM32-V7" WorkRAMAddr="0x24000000" WorkRAMSize="0x80000"Core="JLINK_CORE_CORTEX_M7" />
        <FlashBankInfo Name="QSPI Flash" BaseAddr="0x90000000" MaxSize="0x02000000" Loader="Devices/ST//STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>

4、添加后,打开J-Flash:

1.png

大部分设置都默认即可(根据自己的是JTAG还是SWD进行选择),主要是这里:

2.png

选择我们做好的算法
3.png


5、下载测试:

加载一个存到的外部QSPI Flash的文件

3.png

6.png







回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
 楼主| 发表于 2020-11-10 10:17:48 | 显示全部楼层
更新完毕。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2021-6-29 09:15:20 | 显示全部楼层

做了一个429上外部FLASH下载算法,在MDK中可以正常下载,放到J-flash中报错: - Start of flash programming
- Programming range 0x90000000 - 0x90007FFF (  8 Sectors, 32 KiB)
- ERROR: Timeout while programming sector, core does not stop. (PC = 0x20002130, XPSR = 0x81000000, SP = 0x20007FE0)!
- ERROR: Programming failed @ address 0x00000000 (-1)
- End of flash programming
- ERROR: Program failed
- Start of restoring
- End of restoring
- ERROR: Failed to auto program target
Disconnecting ...
- DisconnectedF:\Desktop\捕获.PNG
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
 楼主| 发表于 2021-6-29 10:22:38 | 显示全部楼层
GAOPAN 发表于 2021-6-29 09:15
做了一个429上外部FLASH下载算法,在MDK中可以正常下载,放到J-flash中报错: - Start of flash programm ...

估计是没有正确识别算法,和JLINK的机制不太兼容。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2021-6-29 11:23:46 | 显示全部楼层
eric2013 发表于 2021-6-29 10:22
估计是没有正确识别算法,和JLINK的机制不太兼容。

我是在V6-025_SPI Flash的MDK下载算法上该的芯片引脚和容量。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
 楼主| 发表于 2021-6-29 12:10:59 | 显示全部楼层
GAOPAN 发表于 2021-6-29 11:23
我是在V6-025_SPI Flash的MDK下载算法上该的芯片引脚和容量。

别的问题不太清楚了。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2021-6-29 14:19:23 | 显示全部楼层
eric2013 发表于 2021-6-29 10:22
估计是没有正确识别算法,和JLINK的机制不太兼容。

STM32H743的QSPI下载算法测试了没问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
 楼主| 发表于 2021-6-30 09:28:23 | 显示全部楼层
GAOPAN 发表于 2021-6-29 14:19
STM32H743的QSPI下载算法测试了没问题。

其它的问题你再试试。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2021-7-1 09:10:32 | 显示全部楼层
eric2013 发表于 2021-6-30 09:28
其它的问题你再试试。

stm32f103、STM32H743测试了都可以,429上不行,STM32CubeProgrammer下载算法也是的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
 楼主| 发表于 2021-7-1 10:10:59 | 显示全部楼层
GAOPAN 发表于 2021-7-1 09:10
stm32f103、STM32H743测试了都可以,429上不行,STM32CubeProgrammer下载算法也是的。



帮你用我们的H7-TOOL做脱机下载STM32F429的SPI Flash测试了,这个算法是没问题的。

此贴的方案:
H7-TOOL通过SWD接口脱机下载内部Flash + QSPI Flash + SPI Flash三合一操作说明,也支持1拖4
http://www.armbbs.cn/forum.php?mod=viewthread&tid=107011

H7-TOOL烧写我们F429板子的内部Flash + SPI Flash

QQ截图20210701101209.jpg
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2021-7-1 12:14:08 | 显示全部楼层
eric2013 发表于 2021-7-1 10:10
帮你用我们的H7-TOOL做脱机下载STM32F429的SPI Flash测试了,这个算法是没问题的。

此贴的方案:
...

下载算法没问题,在MDK中使用jlink烧写F429板子的内部Flash + SPI Flash也没问题,使用j-flash就下载不了。H743 QSPI可以,不清楚什么原因。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106541
QQ
 楼主| 发表于 2021-7-1 13:08:31 | 显示全部楼层
GAOPAN 发表于 2021-7-1 12:14
下载算法没问题,在MDK中使用jlink烧写F429板子的内部Flash + SPI Flash也没问题,使用j-flash就下载不了 ...

其它问题自己找下吧,我现在基本不用JLINK了
回复

使用道具 举报

1

主题

11

回帖

14

积分

新手上路

积分
14
发表于 2021-8-18 19:20:11 来自手机 | 显示全部楼层
@GAOPAN 你的问题找到原因了吗,我的现象和你一模一样,我可以擦除芯片和块,但是就是写和读不行,写数据的现象和一样,今天看segger的文章和尝试了很久还是不行。接下来看看使用的主控芯片的数据手册找找原因。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-9-26 10:03:43 | 显示全部楼层
尊敬的楼主,非常感谢,我在H750上测试成功了。
不过你文章中添加的代码,似乎有个笔误:Loader="Devices/ST//STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM"中,"ST//"这里可能多了一个斜杠,导致J-Flash报错。去掉一条斜杠就好了。贴一下我的H750的代码:
  <Device>
        <ChipInfo Vendor="ST" Name="STM32H750VB-QSPI" WorkRAMAddr="0x24000000" WorkRAMSize="0x80000"Core="JLINK_CORE_CORTEX_M7" />
        <FlashBankInfo Name="QSPI Flash" BaseAddr="0x90000000" MaxSize="0x08000000" Loader="Devices/ST/STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-9-26 10:04:20
尊敬的楼主,非常感谢,我在H750上测试成功了。
不过你文章中添加的代码,似乎有个笔误:Loader="Devices/ST//STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM"中,"ST//"这里可能多了一个斜杠,导致J-Flash报错。去掉一条斜杠就好了。贴一下我的H750的代码:
  <Device>
        <ChipInfo Vendor="ST" Name="STM32H750VB-QSPI" WorkRAMAddr="0x24000000" WorkRAMSize="0x80000"Core="JLINK_CORE_CORTEX_M7" />
        <FlashBankInfo Name="QSPI Flash" BaseAddr="0x90000000" MaxSize="0x08000000" Loader="Devices/ST/STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-9-26 10:05:21
尊敬的楼主,非常感谢,我在H750上测试成功了。
不过你文章中添加的代码,似乎有个笔误:Loader="Devices/ST//STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM"中,"ST//"这里可能多了一个斜杠,导致J-Flash报错。去掉一条斜杠就好了。贴一下我的H750的代码:
  <Device>
        <ChipInfo Vendor="ST" Name="STM32H750VB-QSPI" WorkRAMAddr="0x24000000" WorkRAMSize="0x80000"Core="JLINK_CORE_CORTEX_M7" />
        <FlashBankInfo Name="QSPI Flash" BaseAddr="0x90000000" MaxSize="0x08000000" Loader="Devices/ST/STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-9-26 10:06:44
尊敬的楼主,非常感谢,我在H750上测试成功了。
不过你文章中添加的代码,似乎有个笔误:Loader="Devices/ST//STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM"中,"ST//"这里可能多了一个斜杠,导致J-Flash报错。去掉一条斜杠就好了。贴一下我的H750的代码:
  <Device>
        <ChipInfo Vendor="ST" Name="STM32H750VB-QSPI" WorkRAMAddr="0x24000000" WorkRAMSize="0x80000"Core="JLINK_CORE_CORTEX_M7" />
        <FlashBankInfo Name="QSPI Flash" BaseAddr="0x90000000" MaxSize="0x08000000" Loader="Devices/ST/STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-9-26 10:08:20
Loader="Devices/ST//STM32H7/ARMFLY_STM32H7x_QSPI_W25Q256.FLM" 这段代码的ST后面多了一条斜杠,会导致软件报错。希望楼主改正这个笔误。非常感谢。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-24 07:59 , Processed in 0.235347 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表