当前位置: 首页 > news >正文

做简历哪个网站好/neotv

做简历哪个网站好,neotv,电子商务网站租用服务器费用,那个手机网最好1. 摘要本文档主要介绍,在IAR环境下,QSPI下载算法的制作和应用,方便将全字库和图片等资源文件存入QSPI flash里面,这样就可以开发炫酷的人机界面而不占用MCU内部flash资源。以STM32H743为例,QSPI flash用的是华邦的W25…
1. 摘要

本文档主要介绍,在IAR环境下,QSPI下载算法的制作和应用,方便将全字库和图片等资源文件存入QSPI flash里面,这样就可以开发炫酷的人机界面而不占用MCU内部flash资源。以STM32H743为例,QSPI flash用的是华邦的W25Q01JV  1G bits,  128M 字节。一部分用来存储界面的资源文件,一部分用作他用。

2. QSPI flash下载算法

可能大家平时都是使用IAR的默认下载算下到MCU内部flash,没有注意过,在IAR的安装目录下,有很多下载算法,有MCU片内的,页有QSPI等外部Flash等. 而本篇笔记主要是介绍制作外部QSPI flash的下载算法,但无论是内部还是外部,下载算法框架都是一样的,所以必须先来介绍下IAR的flashloader框架。IAR 环境下,程序的下载都是通过flashloader进行的,flashloader其实就是一小段运行在RAM中的程序,因为调试器是不能直接写flash的,只能直接下载到RAM,所以基于解决这个问题就诞生了IAR的flashloader下载框架

0d2eb164789c48594cc2502f7134e77e.png

IAR的下载框架是开源的遵守Apache许可。可以直接下载使用或者在IAR的安装目录里也有。

http://links.iar.com/cmsis/IAR_flashloader_framework_200.zip

3. 主要构成

3.1 Flashloader 程序

Flashloader程序其实就是一小段可以操作flash的程序,包含一些falsh的擦,写等函数。C-SPY等将falshloader下载到RAM运行,通过调用flashloader里面的函数进行交互。如下就是STM32h7xx系列内部flash的下载算法程序,在IAR的安装目录里可以找到,

818a403b9e55d617fb117fb78a02de21.png

而QSPI falsh的下载算法,也是遵守flashloader的框架,只是用来下载到片外SPI接口的flash里面。QSPI flash的下载算法,在IAR的安装路径里有一部分,但不是很全,因为flash型号很多,厂家不一,如果里面有你用的,那么恭喜你可以用,如果没有那么就需要自己制作QSPI flash下载算法。如我使用的华邦的W25Q01JV 就没有,需要自己来制作,不过好在有一些例子可以参考,如下图就是IAR提供的例程,我们正式基于这个工程来修改裁剪适合我们自己外部QSPI flash的下载算法。

24f1d56375e7303a23af1e5db044226f.png

3.2 Flash配置文件

配置文件是扩展名为.flash的XML文件,提供flash的基地址,块大小,页大小等,如MCU内部flash的配置文件

1f393a6899179acd956ac5cab497fbd2.png

在打开开看QSPI flash的配置文件

1081fd89fd1d2f4ad25c11cfa5f55e40.png

可以看到XML文件里有如exe,page,block等关键词

Exe 指定flashloader算法的路径,

Page  指定flash的页大小, 如256字节等

Flash_base 指定flash的基地址,如STM32 内部falsh基地址一般为0x08000000等

Block用来指定flash的分布和块大小。

以上是必须的配置,除此之外还有一些可选的,这里不做过多介绍。

3.3 Flash系统配置文件

Flash系统配置文件也是一个XML文件,只是扩展名为.board, 这个文件就是我们要在IDE中指定的

332b77ce7b0fd8069fc80af82d03ca2a.png

如果你的应用只是片内flash,那么大多时候使用默认的指定就可以,取掉勾选即可,如果你是一部分程序运行在内部flash,一部分资源文件放在外部flash,那么就得指定,如我的工程

09328802987b32bb9149e36a7a5e6344.png

点击Edit可以编辑,如下所示

a417367ef8e19fa6b640730082260d30.png

.board文件会指定使用那个.flash配置文件。可以看到我这里有3个.flash,  一个用于配置内部BANK1 flash, 一个用于配置内部BANK 2  flash, 最后一个用于指定QSPI flash 的配置信息。选中任何一个点击Edit可以修改范围,指定路径。还可以添加参数,我这里没有添加扩展参数。

33b936e0726347062cd50e6277b9864b.png

e072c67fe30b1e4203bdb780a86f6799.png

来看下.board文件的全貌,可以看到正是我们在IAR的IDE中在options->Debugger->Download中指定的文件内容。用于高速系统flash的配置信息, 而每一个.flash文件里面指定使用哪一个.out算法和使用哪一个.mac, 更加详细的这些文件的内容可以参考IAR安装目录下的FlashLoaderGuide.ENU.pdf说明文档,如果你要开发自己的下载算法,这个文件需要仔细阅读几遍。

3ac74dbcd0f6996c54938bf834d67184.png

4. 动手制作

前面的都是为这一节铺垫,必须搞清楚.board, .flash,  .out, .mac等这些文件的关系,才能制作成功flash下载算法。进入IAR安装目录的src目录下有一些flashloader的源码工程,可以看到有H7,F7等常见系列都有,因为我们使用的是STM32H743芯片,所以按道理使用H7的例程最好,但是经过比较发现H7的例程是基于HAL的,而F7是和HAL无关的,而且支持美信,华邦等厂家,经过考虑选择移植F7的工程,因为flashloader框架都是一样的。所以也很好移植,

3b7f0ad92b1673812c9c62c5e679d316.png

复制FlashSTM32F7xx_QSPI的工程到任意非IAR安装目录,因为工程里面需要调用IAR的开源下载框架源码,所以还需要将这一部分也拷出到外部目录,此框架位于IAR的安装目录下的framework2目录里

d752ea373d2456f1d602a5542d97db46.png

做好的工程目录如下

4613372d2a8e72ed89248a67d9950d5e.png

其实搭好工程后,许多文件是不用做任何修改的,框架部分的文件,不需要修改,只需要修改QSPI flash驱动,以及一些配置,首先修改工程配置目录,并定义符号 DRV_WINBOND.代表使用华邦flash。

aef4cb798090f4f13dc6810734a48b04.png

配置输出算法的名称

a5b59c37474e48e4c973231d973c0786.png

查看下工程的地址配置,一般是配好的,这里要理解,因为下载算法是运行在RAM中的,所以必须连接到RAM地址。

f2c63a857d9d3364417f2d3f21f7bafd.png

修改擦写等函数,改为4地址操作指令

de70596983060c7169e0b48e87b287a9.png

7450753d4aa50dc92bb9ab887c2db24d.png

修改最多的应该是.mac文件,这个要根据自己的板子硬件管脚修改,文件比较长,这里列出一部分。

49c71e02b7ffa509565cb235865c1ee6.png

编译无误后,还需要制作.flash和.board文件,制作好的.flash文件如下

283251004baa5b17ec7ef553fd999396.png

制作好的.board文件如下

56b9bc8a0acade0fb5290f24d6434a84.png

5. 算法验证

将.flash,  .board, .out, .mac四个文件拷贝到IAR的安装目录下,就可以使用下载算法了,

61daf59e78e15b815078b9647d86da1a.png 找一个工程验证下。拿我之前的TouchGFX 工程验证, 资源文件都是下载到qspi flash里面, 其他在内部flash里面。首先需要配置工程指定board文件

2ae50c7278ba658d967ef804babcec72.png

确保验证算法的工程无误后,下载进板子验证下载算法是否正确。

2ef16299da688b37eb05e445b24d04e9.png

15ff362fb1eb2601fc7b6ad230fb4e59.png

因为下载后,CPU会复位,这时候退出了内存映射模式,不能在进入QSPI flash,要解决这个问题可以参照https://www.iar.com/support/tech-notes/debugger/accessing-external-qspi-memory-in-c-spy/  应用笔记。顺利解决,主要是制作一个.mac文件,配置装在到应用工程即可。

05b43563307e8cc14b2ca1df6ecc3490.png

可以在先仿真, 触摸,操作,显示操作都正常,证明算法没有问题.

6. 参考文档

序号

文献

1

https://www.iar.com/

2

FlashLoaderGuide.ENU

http://www.lbrq.cn/news/1584739.html

相关文章:

  • 国内最好的网站服务器/网站注册流程和费用
  • 可以做微网站的第三方平台/行业关键词查询
  • 百度快照和做网站有关系吗/廊坊关键词快速排名
  • 装饰公司网站模板/免费注册公司
  • 网站开发的基本过程/如何刷关键词指数
  • 成都网站建设电话咨询/谷歌应用商店app下载
  • wordpress island/网站搜索排名优化软件
  • wordpress纯静态网站/服装品牌策划及营销推广方案
  • 网站租空间多少钱/河北seo人员
  • 自然景观网站模板/seo课程培训要多少钱
  • 个人网站备案名/hyein seo官网
  • 自助建站免费申请个人网页/肇庆网站快速排名优化
  • 网站建设报告内容/91
  • 网上做调查网站有哪些/百度客户端电脑版
  • 网站建设怎么添加图片上去/学电脑办公软件培训班
  • 了解档案网站的建设/实时积分榜
  • 求跳转代码来自百度等搜索引擎访问跳转到另一个网站直接输入域名/西安网站建设制作
  • 怎么架构网站/哪些平台可以做推广
  • wordpress在lnmp部署/上海牛巨微seo优化
  • 网站建设找超速云建站/高端网站定制
  • 做个网站需要什么/今天的新闻头条最新消息
  • 美食类网站开发需求/怎么把产品放到网上销售
  • 四川建设工程交易信息网站/广东: 确保科学精准高效推进疫情
  • 广东有做阿里网站的吗/网络营销有哪些特点
  • 自己做的网站/宁波seo搜索引擎优化
  • 北京 网站 外包/免费公司网站建站
  • 做网站需要多少费用/大二网络营销实训报告
  • 中小型企业网站建设与管理/seo北京公司
  • 网站建设技术服务方案/小广告网站
  • 宜昌营销型网站/app拉新平台有哪些
  • Day09 Tlisa登录认证
  • 阿里云 Flink
  • 智慧能源场景设备缺陷漏检率↓76%:陌讯多模态融合检测方案实战解析
  • 笔试——Day29
  • promise类方法
  • 【C语言】自定义类型:联合体与枚举