这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
sd_iap_arm实验_更新升级stm32 [2020/07/11 17:15] zgf |
sd_iap_arm实验_更新升级stm32 [2022/03/22 10:25] (当前版本) sean |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-07-11 | gingko | 初次建立 | | | V1.0 | 2020-07-11 | gingko | 初次建立 | | ||
行 20: | 行 19: | ||
==== 二、 实验设备及平台 ==== | ==== 二、 实验设备及平台 ==== | ||
- | - iCore4 双核心板。 | + | - iCore4 双核心板[[https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22598974120.15.5923532fsFrHiE&id=551864196684|点击购买]]。 |
- | - JLINK(或相同功能)仿真器。 | + | - JLINK(或相同功能)仿真器[[https://item.taobao.com/item.htm?id=554869837940|点击购买]]。 |
- Micro USB线缆。 | - Micro USB线缆。 | ||
- SD卡。 | - SD卡。 | ||
行 63: | 行 62: | ||
* FATFS的这些特点,加上免费、开源的原则,使得FATFS应用非常广泛。 | * FATFS的这些特点,加上免费、开源的原则,使得FATFS应用非常广泛。 | ||
=== 5、FATFS模块的层次结构图 === | === 5、FATFS模块的层次结构图 === | ||
- | {{ :icore4:icore4_arm_hal_33_1.png?direct |}} | + | {{ :icore4:icore4_arm_hal_33_1.png?direct&400 |}} |
* 最顶层是应用层,使用者无需理会FATFS的内部结构和复杂的FAT协议,只需要调用FATFS模块提供给用户的一系列应用接口函数,如f_open,f_read,f_write和f_close等,就可以像在PC上读/写文件那样简单。 | * 最顶层是应用层,使用者无需理会FATFS的内部结构和复杂的FAT协议,只需要调用FATFS模块提供给用户的一系列应用接口函数,如f_open,f_read,f_write和f_close等,就可以像在PC上读/写文件那样简单。 | ||
行 69: | 行 68: | ||
* 需要我们编写移植代码的是FATFS模块提供的底层接口,它包括存储媒介读/写接口(diskI/O)和供给文件创建修改时间的实时时钟。 | * 需要我们编写移植代码的是FATFS模块提供的底层接口,它包括存储媒介读/写接口(diskI/O)和供给文件创建修改时间的实时时钟。 | ||
=== 6、原理图 === | === 6、原理图 === | ||
- | {{ :icore4:icore4_arm_hal_33_2.png?direct |}} | + | {{ :icore4:icore4_arm_hal_33_2.png?direct&400 |}} |
* STM32具有IAP(在应用编程)功能,实现用户程序在运行的过程中对User Flash部分区域进行烧写来实现固件程序的更新升级,本实验有两部分代码(Bootloadert程序和APP程序),第一部分代码不执行正常的功能操作,来执行对第二部分代码的更新,第二部分代码才是真正的功能代码,将第二部分代码产生的bin文件存放在SD卡中供STM32更新升级。如果直接上电则执行第二部分代码,如果按下ARM-KEY上电,则执行第二部分代码的更新升级。 | * STM32具有IAP(在应用编程)功能,实现用户程序在运行的过程中对User Flash部分区域进行烧写来实现固件程序的更新升级,本实验有两部分代码(Bootloadert程序和APP程序),第一部分代码不执行正常的功能操作,来执行对第二部分代码的更新,第二部分代码才是真正的功能代码,将第二部分代码产生的bin文件存放在SD卡中供STM32更新升级。如果直接上电则执行第二部分代码,如果按下ARM-KEY上电,则执行第二部分代码的更新升级。 | ||
==== 四、 实验程序 ==== | ==== 四、 实验程序 ==== |