首页 > 编程知识 正文

我的第一本算法书pdf下载,ht66f018中文资料下载

时间:2023-05-05 20:25:02 阅读:40834 作者:2667

IAR下载算法编写http://www.Sina.com/http://www.Sina.com /

作者 火星上的哈密瓜,数据线 本文档主要介绍如何在IAR环境中创建QSPI下载算法。

本论文使用的硬件、软件如下

编译器: IAR 8.32

单片机: STM32H750VBT6

外部Flash:W25Q64

时间 2020-12-06 17:06:18 为什么需要下载算法? 下载算法在哪里使用? 这是一个我们必须首先理解的问题。

如上图所示,不允许C-SPY直接将固件下载到Flash。 怎么才能把固件下载到Flash上呢? 根据IAR官方文档《FlashLoaderGuide.ENU.pdf》,需要将固件放入RAM缓存中,然后通过一个名为“Flash Loader”的小程序不断将代码从RAM运送到Flash。

上面的“Flash Loader”是我们需要在不同硬件上分别实现的代码,也就是所谓的Flash下载算法。

摘要IAR下载算法共包含四个文件(.out文件、 flash文件、 board文件和. mac文件)。

. out文件由“Flash Loader”代码生成,其中包含QPSI管脚定义、函数FlashInit ()、函数FlashWrite ()和函数FlashErase () )的实现。 flash文件是一个XML文件,包含一些必需元素和一些不必要的元素。 关于必要的要素,简单介绍一下exe。 out文件flash_base:Flash的基址page:Flash每页的大小block :与flash对应的扇区数,每个扇区的大小。 (必须验证block元素是对应于Flash扇区还是块).board文件也是XML文件。 可以在pass *** /pass中设置多个. flash文件。 每个pass包含两个所需的属性range。 Flash的开始地址和结束地址loader已表面化。 对于当前pass调用其下载算法的路径IAR,每次模拟时完成下载的程序都是从当前项目的主函数中运行的。 将代码下载到0x90000000地址时,内存映射未打开,无法模拟。 此时,必须将. mac文件作为启动脚本进行采样,在程序模拟下载完成后,跳转到0x08000000并开始运行。 在0x08000000处进行内存映射,然后立即跳转到0x90000000处,即可进行模拟。 3358 www.Sina.com /下载" flashloader "开放源代码以创建空项目,然后将" flashloader "开放源代码中的文件作为项目完成函数FlashInit 添加到函数FlashErase的生成. out文件创建. flash文件创建. borad文件根据需要在创建. mac文件背景上介绍了创建下载算法的基础知识和创建思想现在,我们将正式着手创建下载算法。

下载FlashLoder的开源代码,然后送到门口。 下载的文件内容如下图所示: " flash_loader.c "、" flash_loader.h "、" flash_loader_asm.s "、" flash _ loader _ s "

为方便起见,IAR安装路径(c:programfiles(x86 ) IAR系统嵌入式work bench 8.3armsrcflash loaderST ) ) 添加“FlashLoder”代码并添加相应的路径。 (注意: flash_loader_ram.c文件在当前项目中重命名为FlashSTM32H7xx_QSPI.c )。

补充FlashInit函数的内容

补充FlashWrite函数的内容

补充FlashErase函数的内容

生成. out文件有三点需要注意

必须将代码下载到RAM中并运行。 IAR-Option-Linker-Config配置如下

IAR-Option-Linker-Output构成输出. out文件的内容

当前项目没有main函数。 程序执行的第一个函数是FlashInit函数。 IAR-Option-Linker-Library配置如下

创建. flash文件。 如下图所示

创建. board文件。 如下图所示

在H750内存映射的外部Flash中,还必须创建. mac文件,如下所示

我很清楚文件的内容。 下载完成后,pc指针指向中断向量表中的Reset_Handler函数,堆栈指针指向程序正在运行的起始地址。 每次这样完成程序模拟的下载时,都从0x08000000开始执行。 我们可以把Boot程序放在这个地址上。 在Boot程序中进行内存映射,然后跳转到0x90000000。

效果显示,在编写4份上诉文件后,将在0x90000000处创建运行的工程,并轻松配置该工程。

IAR-Option-Debugger-Download配置如下

IAR-Option-Debugger-Setup配置如下

IAR-Option-Linker-Edit的构成如下

代码的第一个地址必须添加中断向量表的地址SCB-VTOR=0x90000000。

上诉配置结束后,进行模拟下载。 如下图所示,main函数已存在0x90003588个,可以模拟,表示配置正确。

以全速运行代码时,串行端口将显示正式程序设置的输出。

现在,我已经介绍了在IAR中创建和验证下载算法的所有内容。

http://www.Sina.com/flashloaderguide.enu.pdf ewarm _ debugging guide.enu.pdflashloader源代码3358www.Sina.com/

引出导线: 4w2w

复制这个内容后,打开百度网盘手机App,操作会更方便哦。 来自百度网盘超市会员V3的分享

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。