Skip to content

Commit 64fd64f

Browse files
committed
本次更新,包含建立IAP状态图,整理文件,添加标准库版本的FreeRTOS模板,增加MAP信息等等
1 parent d3579fe commit 64fd64f

21 files changed

+58
-15
lines changed
File renamed without changes.
1.56 MB
Binary file not shown.
187 KB
Binary file not shown.
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
- 并使其实用化,规范化,实现计划详看下面的"IAP程序的两种配置"
5050

51-
- 严重注意,在跳转程序之前,必须先关闭IAP程序所用到的所有中断,停止其外设,并反初始化
51+
- 严重注意,在跳转程序之前,必须先关闭IAP程序所用到的所有中断,停止其外设,并反初始化,没有用到中断的外设也都关闭,并反初始化
5252

5353
- 注意“IAP-Bootloader 参考程序”里面的程序,串口接收APP数据时候不能中断,一中断就认为发送完了,应该改改,加个头帧和尾帧;里面的跳转和判断程序基本对,不要改动
5454

@@ -67,10 +67,12 @@
6767

6868
​ 防止陌生固件下载:下载之前用专有协议+非对称加密(MCU内部ID做密钥)握手,然后才可以接收数据
6969
​ 防止已存固件篡改:对每个固件在第一次运行前进行一次硬件CRC校验并存下结果,在以后的启动运行固件前用硬件CRC进行一次固件校验
70-
​ 防止固件被截获:对APP程序的.bin文件进行加密,传输到MCU中,MCU在下载之前进行解密(若MCU的FLASH能直接读出这步白做
70+
​ 防止固件被截获:对APP程序的.bin文件进行加密,传输到MCU中,MCU在下载之前进行解密(若MCU的FLASH能直接读出,那么这步白做
7171

7272
### IAP程序的两种配置:
7373

74+
(注:最新的方案在IAP状态图.drawio文件中以状态图描述,按照这个来,下面的就仅供参考了)
75+
7476
(即在IAP源工程选择编译并下载后,运行时不能改动的配置)
7577
配置一:手动
7678
1、IAP程序下载到MCU后,等待传入APP数据或者用户选择执行APP,可以选择的接收APP二进制文件的通讯接口有:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="Electron" modified="2020-12-11T07:14:56.432Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.9.9 Chrome/85.0.4183.121 Electron/10.1.5 Safari/537.36" etag="RA1XBXGPJhoxDaKHP8Bj" version="13.9.9" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile>
174 KB
Loading

STM32F4DSP_HAL_IAP/方案描述文件/IAP状态图.svg

Lines changed: 3 additions & 0 deletions
Loading

STM32F4DSP_HAL_freeRTOS_Framework/Docs/docs.bin

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,43 @@ TODO
185185
���ϣ� SRAM1 �ϵ���Ĭ�� ռ�ñ� 70+30+����/128
186186
InrRAM �ϵ���Ĭ�� ռ�ñ� ����/70 ͬʱ��LWIP��USBʱ��InrRAMʣ��(70-30-12)KB��
187187
*/
188+
/* ����С���롱��MAP�������ļ�ռ�ÿռ�
189+
���ȥ��printf.o��tftlcd.o���ٹر�һЩ��������FLASH������10KB����
190+
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
191+
192+
308 82 0 0 0 789 bareconfig.o
193+
252 18 0 0 0 3233 lwrb.o
194+
26 0 0 0 0 8215 main.o
195+
416 42 36 39 141440 6531 malloc.o
196+
94 0 0 0 0 3455 mystring.o
197+
1046 80 21 664 0 14154 periphconfig.o
198+
3138 572 559 36 900 27638 periphconfigcore.o
199+
3698 244 80 1 0 18345 printf.o
200+
36 8 392 0 1024 868 startup_stm32f407xx.o
201+
222 50 0 12 0 12095 stm32f4xx_hal.o
202+
256 14 0 0 0 35131 stm32f4xx_hal_cortex.o
203+
72 0 0 0 0 1804 stm32f4xx_hal_crc.o
204+
36 0 0 0 0 1191 stm32f4xx_hal_dma.o
205+
484 52 0 0 0 3674 stm32f4xx_hal_gpio.o
206+
72 22 0 0 0 2244 stm32f4xx_hal_pwr.o
207+
1352 82 0 0 0 6240 stm32f4xx_hal_rcc.o
208+
316 20 0 0 0 1372 stm32f4xx_hal_rcc_ex.o
209+
916 30 0 0 0 7520 stm32f4xx_hal_rtc.o
210+
20 0 0 0 0 1707 stm32f4xx_hal_rtc_ex.o
211+
1754 90 0 0 0 16685 stm32f4xx_hal_tim.o
212+
148 28 0 0 0 2445 stm32f4xx_hal_tim_ex.o
213+
1344 16 0 0 0 10431 stm32f4xx_hal_uart.o
214+
20 0 0 0 0 6026 stm32f4xx_it.o
215+
1110 196 113 352 0 8443 sys_menu.o
216+
84 18 24 4 0 732367 system_stm32f4xx.o
217+
3628 178 2970 4 14 21841 tftlcd.o
218+
219+
----------------------------------------------------------------------
220+
20888 1842 4240 1140 143388 954444 Object Totals
221+
0 0 32 0 0 0 (incl. Generated)
222+
40 0 13 28 10 0 (incl. Padding)
223+
224+
*/
188225
/*
189226
TODO:��F1ģ����������淶����ɹ淶��Ĭ����������
190227
*/

0 commit comments

Comments
 (0)