硬汉嵌入式论坛

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

[SPI/QSPI] mdk qspi flash 下载算法会自动删除?

[复制链接]

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
发表于 2020-11-22 14:10:58 | 显示全部楼层 |阅读模式
按照 安福来大神提供的 Mdk qspi flash 下载算法捣鼓的
*.flm的文件,当加载到程序里面后会自动删除,请问这个怎么个情况?
是我的 内存映射没有成功吗?

IMG_20201122_131513.jpg
按下确定按钮返回,再按Ok按钮退出后,当再次进来时刚刚加载进来的
那个文件就消失了?


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-22 14:50:50 | 显示全部楼层
推荐放到这个路径下:
Keil_v530\ARM\Flash
不行话,你考虑重新安装下MDK,安装当前最新的MDK5.33,直接安装到相应盘符根目录下。
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-22 15:13:56 | 显示全部楼层
eric2013 发表于 2020-11-22 14:50
推荐放到这个路径下:
Keil_v530\ARM\Flash
不行话,你考虑重新安装下MDK,安装当前最新的MDK5.33,直接 ...

刚刚重新安装了最新的mdk v5.33版本,*?flm 目前是放到了
keil_v5\ARM\Flash 这个目录下,问题还是依旧啊?
还有哪些因素会造成这样的情况啊?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-23 00:05:59 | 显示全部楼层
hpdell 发表于 2020-11-22 15:13
刚刚重新安装了最新的mdk v5.33版本,*?flm 目前是放到了
keil_v5\ARM\Flash 这个目录下,问题还是依旧 ...

是不是电脑环境变量出问题了。
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-23 08:47:08 | 显示全部楼层
eric2013 发表于 2020-11-23 00:05
是不是电脑环境变量出问题了。

在哪里可以查看啊 ?
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-23 09:21:39 | 显示全部楼层
eric2013 发表于 2020-11-23 00:05
是不是电脑环境变量出问题了。

我吧我修改制作的 mdk 下载算法 发给你帮我看看如何啊 ??

qspi flash 芯片使用的是 mt25QL512A 这个芯片,单独测试读写时,程序进入 quad / qpi 模式,程序是没有任何问题的,
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-23 11:34:20 | 显示全部楼层
eric2013 发表于 2020-11-23 00:05
是不是电脑环境变量出问题了。

我目前这个 qspi flash 工作模式是 quad 模式 及四字节模式,如果不使能 四字节模式,程序只能访问前 16MB 字节的空间,估计跟这个 qpi 工作模式 及 4字节模式有没有什么关系呀 ?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-23 11:47:32 | 显示全部楼层
hpdell 发表于 2020-11-23 09:21
我吧我修改制作的 mdk 下载算法 发给你帮我看看如何啊 ??

qspi flash 芯片使用的是 mt25QL512A 这个 ...

你直接上传你的FLM文件,我添加试试,看看会不会有你说的消失问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-23 11:53:15 | 显示全部楼层
hpdell 发表于 2020-11-23 11:34
我目前这个 qspi flash 工作模式是 quad 模式 及四字节模式,如果不使能 四字节模式,程序只能访问前 16M ...

这个要看你芯片手册要求,像华邦的,无此需求。
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-23 12:09:00 | 显示全部楼层
本帖最后由 hpdell 于 2020-11-23 14:16 编辑
eric2013 发表于 2020-11-23 11:53
这个要看你芯片手册要求,像华邦的,无此需求。

芯片手册说是 如果需要访问 > 16MB的空间就需要设置为4字节模式
ARMFLY_STM32H7x_QSPI_MT25QL512ABB.FLM (1.25 MB, 下载次数: 1)


麻烦你帮我试试看

MT25QL512ABB(xip).pdf (1.76 MB, 下载次数: 1)


回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-23 14:46:22 | 显示全部楼层
貌似发现了猫腻了,原来需要在 stm32-v7.sct 里面增加
LR_ROM1 0x90000000 0x04000000  {
  ER_ROM1 0x90000000 0x04000000  {  ; load address = execution address
    stm32H7x_guix_chinese_main_resources.o (+RO)
  }
}
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-23 18:59:46 | 显示全部楼层
eric2013 发表于 2020-11-23 11:53
这个要看你芯片手册要求,像华邦的,无此需求。

貌似还是不行啊?
IMG_20201123_185200.jpg

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-24 02:29:23 | 显示全部楼层
hpdell 发表于 2020-11-23 12:09
芯片手册说是 如果需要访问 > 16MB的空间就需要设置为4字节模式

你这个算法确实有这个问题,添加后再打开就消失了。
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-24 08:54:25 | 显示全部楼层
eric2013 发表于 2020-11-24 02:29
你这个算法确实有这个问题,添加后再打开就消失了。

貌似是的,目前我也比较迷糊了啊,我也是按照你的历程修改的,只是修改了底层的驱动部分,再就是更改了一下 芯片型号而已,其他配置没有修改。

看来这个要想搞到还不说一时半会的事了啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-24 14:07:07 | 显示全部楼层
hpdell 发表于 2020-11-24 08:54
貌似是的,目前我也比较迷糊了啊,我也是按照你的历程修改的,只是修改了底层的驱动部分,再就是更改了一 ...

是不是你那个配置文件修改的有问题,那个有问题容易导致识别有问题
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-24 14:25:36 | 显示全部楼层
本帖最后由 hpdell 于 2020-11-24 14:47 编辑
eric2013 发表于 2020-11-24 14:07
是不是你那个配置文件修改的有问题,那个有问题容易导致识别有问题



配置文件基本没有怎么修改,刚开始只是修改了了

#define SECTOR_NUM 512         // Max Number of Sector Items,刚开始修改的是 768,程序无法识别,后来也还是改成了 512


#ifdef FLASH_MEM
struct FlashDevice const FlashDevice  =  {
        FLASH_DRV_VERS,                   /* 驱动版本,勿修改,这个是MDK定的 */
        "STM32H7x_QSPI_MT25QL512ABB1EW9",   /* 算法名,添加算法到MDK安装目录会显示此名字 */
        EXTSPI,                           /* 设备类型 */
        0x90000000,                       /* Flash起始地址 */
        64 * 1024 * 1024,                 /* Flash大小,64MB 需要与 QSPI_FLASH_SIZES 这个大小对应 */
        4 * 1024,                         /* 编程页大小 */
        0,                                /* 保留,必须为0 */
        0xFF,                             /* 擦除后的数值 */
        1000,                            /* 页编程等待时间 100 mSec*/
        6000,                             /* 扇区擦除等待时间 6000 mSec */
        64 * 1024, 0x000000,              /* 扇区大小,扇区起始地址 */
  SECTOR_END   
};
#endif


配置文件仅仅是修改了 文件名称,其他基本都无修改


回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-24 15:54:22 | 显示全部楼层
eric2013 发表于 2020-11-24 14:07
是不是你那个配置文件修改的有问题,那个有问题容易导致识别有问题

有没有什么方法可以仿真 下载算法里面的程序啊 ?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-25 09:41:08 | 显示全部楼层
hpdell 发表于 2020-11-24 15:54
有没有什么方法可以仿真 下载算法里面的程序啊 ?

你可以在执行的擦除,初始化等函数里面做个串口打印的,注意用查询方式输出
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-25 11:37:17 | 显示全部楼层
eric2013 发表于 2020-11-25 09:41
你可以在执行的擦除,初始化等函数里面做个串口打印的,注意用查询方式输出

好的,我捣鼓看看
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-26 09:34:56 | 显示全部楼层
本帖最后由 hpdell 于 2020-11-27 08:48 编辑
eric2013 发表于 2020-11-25 09:41
你可以在执行的擦除,初始化等函数里面做个串口打印的,注意用查询方式输出

终于发现了自动消失是怎么回事了啊,原来是 输出字符 名称的字符个数不能够超过 31 个字符(32个字符没有试过),
也就是只要名称字符 <= 31 个就没有问题了,他奶奶的,捣鼓了这么久,哎,悲催呀

不过还好总算是摆平了

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-11-27 01:27:39 | 显示全部楼层
hpdell 发表于 2020-11-26 09:34
终于发现了自动消失是怎么回事了啊,原来是 字符 名称的字符个数不能够超过 31 个字符(32个字符没有试过) ...

相当给力,发现这个问题不容易。
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2020-11-27 08:49:49 | 显示全部楼层
eric2013 发表于 2020-11-27 01:27
相当给力,发现这个问题不容易。

有用就好哇,刚刚测试了一下,输出字符名长度必须 <= 31 ,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 06:15 , Processed in 0.441813 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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