2021-10-25 21:18:35 索煒達(dá)電子 801
項(xiàng)目編號(hào):E1757
文件大?。?2M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述:
Demo發(fā)射板使用用串口收固件,后通過NRF24L01對(duì)目標(biāo)板發(fā)射固件。
串口指令: A,發(fā)送0x00, 系統(tǒng)提示等待執(zhí)行指令; B,發(fā)送0xff,系統(tǒng)接收固件狀態(tài); C,發(fā)送0xfe,系統(tǒng)進(jìn)入接收目標(biāo)ID個(gè)數(shù)和ID狀態(tài); D,發(fā)送0xfd,系統(tǒng)進(jìn)入發(fā)射固件狀態(tài)。
固件發(fā)射機(jī)制: 將接收的固件按5KB分批發(fā)送,NRF單次最多發(fā)送32byte,前4個(gè)byte為發(fā)送數(shù)據(jù)包第N個(gè)標(biāo)記,實(shí)則單次發(fā)送固件28byte。 丟包處理:NRF自動(dòng)應(yīng)答無效 -> 重新發(fā)送N次 -> 超過N次后自取消發(fā)送,提示發(fā)射失敗,進(jìn)行下一個(gè)目標(biāo)板發(fā)射。
// 首次添加代碼 // 接收端為STM32F103C8T6 // 發(fā)射端為STM32F103C8T6
目錄│文件列表:
└ OTA-STM32F103
├ RXD_9S
│ │ .mxproject
│ │ pro.ioc
│ ├ BSP
│ │ │ BSP_Main.c
│ │ │ BSP_Main.h
│ │ │ BSP_SYS.c
│ │ │ BSP_SYS.h
│ │ │ SYS.H
│ │ ├ BSP_Drivers
│ │ │ │ BSP_Flash.c
│ │ │ └ BSP_Flash.h
│ │ └ BSP_OTA
│ │ │ BSP_24L01.c
│ │ │ BSP_24L01.h
│ │ │ BSP_OTA.C
│ │ └ BSP_OTA.h
│ ├ Drivers
│ │ ├ CMSIS
│ │ │ ├ Device
│ │ │ │ └ ST
│ │ │ │ └ STM32F1xx
│ │ │ │ ├ Include
│ │ │ │ │ │ stm32f100xb.h
│ │ │ │ │ │ stm32f100xe.h
│ │ │ │ │ │ stm32f101x6.h
│ │ │ │ │ │ stm32f101xb.h
│ │ │ │ │ │ stm32f101xe.h
│ │ │ │ │ │ stm32f101xg.h
│ │ │ │ │ │ stm32f102x6.h
│ │ │ │ │ │ stm32f102xb.h
│ │ │ │ │ │ stm32f103x6.h
│ │ │ │ │ │ stm32f103xb.h
│ │ │ │ │ │ stm32f103xe.h
│ │ │ │ │ │ stm32f103xg.h
│ │ │ │ │ │ stm32f105xc.h
│ │ │ │ │ │ stm32f107xc.h
│ │ │ │ │ │ stm32f1xx.h
│ │ │ │ │ └ system_stm32f1xx.h
│ │ │ │ └ Source
│ │ │ │ └ Templates
│ │ │ │ │ system_stm32f1xx.c
│ │ │ │ ├ arm
│ │ │ │ │ │ startup_stm32f100xb.s
│ │ │ │ │ │ startup_stm32f100xe.s
│ │ │ │ │ │ startup_stm32f101x6.s
│ │ │ │ │ │ startup_stm32f101xb.s
│ │ │ │ │ │ startup_stm32f101xe.s
│ │ │ │ │ │ startup_stm32f101xg.s
│ │ │ │ │ │ startup_stm32f102x6.s
│ │ │ │ │ │ startup_stm32f102xb.s
│ │ │ │ │ │ startup_stm32f103x6.s
│ │ │ │ │ │ startup_stm32f103xb.s
│ │ │ │ │ │ startup_stm32f103xe.s
│ │ │ │ │ │ startup_stm32f103xg.s
│ │ │ │ │ │ startup_stm32f105xc.s
│ │ │ │ │ └ startup_stm32f107xc.s
│ │ │ │ ├ gcc
│ │ │ │ │ │ startup_stm32f100xb.s
│ │ │ │ │ │ startup_stm32f100xe.s
│ │ │ │ │ │ startup_stm32f101x6.s
│ │ │ │ │ │ startup_stm32f101xb.s
│ │ │ │ │ │ startup_stm32f101xe.s
│ │ │ │ │ │ startup_stm32f101xg.s
│ │ │ │ │ │ startup_stm32f102x6.s
│ │ │ │ │ │ startup_stm32f102xb.s
│ │ │ │ │ │ startup_stm32f103x6.s
│ │ │ │ │ │ startup_stm32f103xb.s
│ │ │ │ │ │ startup_stm32f103xe.s
│ │ │ │ │ │ startup_stm32f103xg.s
│ │ │ │ │ │ startup_stm32f105xc.s
│ │ │ │ │ └ startup_stm32f107xc.s
│ │ │ │ └ iar
│ │ │ │ │ startup_stm32f100xb.s
│ │ │ │ │ startup_stm32f100xe.s
│ │ │ │ │ startup_stm32f101x6.s
│ │ │ │ │ startup_stm32f101xb.s
│ │ │ │ │ startup_stm32f101xe.s
│ │ │ │ │ startup_stm32f101xg.s
│ │ │ │ │ startup_stm32f102x6.s
│ │ │ │ │ startup_stm32f102xb.s
│ │ │ │ │ startup_stm32f103x6.s
│ │ │ │ │ startup_stm32f103xb.s
│ │ │ │ │ startup_stm32f103xe.s
│ │ │ │ │ startup_stm32f103xg.s
│ │ │ │ │ startup_stm32f105xc.s
│ │ │ │ │ startup_stm32f107xc.s
│ │ │ │ └ linker
│ │ │ │ │ stm32f100xb_flash.icf
│ │ │ │ │ stm32f100xb_sram.icf
│ │ │ │ │ stm32f100xe_flash.icf
│ │ │ │ │ stm32f100xe_sram.icf
│ │ │ │ │ stm32f101x6_flash.icf
│ │ │ │ │ stm32f101x6_sram.icf
│ │ │ │ │ stm32f101xb_flash.icf
│ │ │ │ │ stm32f101xb_sram.icf
│ │ │ │ │ stm32f101xe_flash.icf
│ │ │ │ │ stm32f101xe_sram.icf
│ │ │ │ │ stm32f101xg_flash.icf
│ │ │ │ │ stm32f101xg_sram.icf
│ │ │ │ │ stm32f102x6_flash.icf
│ │ │ │ │ stm32f102x6_sram.icf
│ │ │ │ │ stm32f102xb_flash.icf
│ │ │ │ │ stm32f102xb_sram.icf
│ │ │ │ │ stm32f103x6_flash.icf
│ │ │ │ │ stm32f103x6_sram.icf
│ │ │ │ │ stm32f103xb_flash.icf
│ │ │ │ │ stm32f103xb_sram.icf
│ │ │ │ │ stm32f103xe_flash.icf
│ │ │ │ │ stm32f103xe_sram.icf
│ │ │ │ │ stm32f103xg_flash.icf
│ │ │ │ │ stm32f103xg_sram.icf
│ │ │ │ │ stm32f105xc_flash.icf
│ │ │ │ │ stm32f105xc_sram.icf
│ │ │ │ │ stm32f107xc_flash.icf
│ │ │ │ └ stm32f107xc_sram.icf
│ │ │ ├ DSP_Lib
│ │ │ │ └ Source
│ │ │ │ ├ BasicMathFunctions
│ │ │ │ │ │ arm_abs_f32.c
│ │ │ │ │ │ arm_abs_q15.c
│ │ │ │ │ │ arm_abs_q31.c
│ │ │ │ │ │ arm_abs_q7.c
│ │ │ │ │ │ arm_add_f32.c
│ │ │ │ │ │ arm_add_q15.c
│ │ │ │ │ │ arm_add_q31.c
│ │ │ │ │ │ arm_add_q7.c
│ │ │ │ │ │ arm_dot_prod_f32.c
│ │ │ │ │ │ arm_dot_prod_q15.c
│ │ │ │ │ │ arm_dot_prod_q31.c
│ │ │ │ │ │ arm_dot_prod_q7.c
│ │ │ │ │ │ arm_mult_f32.c
│ │ │ │ │ │ arm_mult_q15.c
│ │ │ │ │ │ arm_mult_q31.c