一个stm32 ota的功能实现,基于现成移远4G模块
 
 
Go to file
zcy 11a81adc7c no message 2024-02-26 11:31:48 +08:00
Bin first commit 2023-12-15 14:28:06 +08:00
CORE first commit 2023-12-15 14:28:06 +08:00
FreeRTOS first commit 2023-12-15 14:28:06 +08:00
HARDWARE no message 2024-02-26 11:31:48 +08:00
RTC first commit 2023-12-15 14:28:06 +08:00
STM32F10x_FWLib first commit 2023-12-15 14:28:06 +08:00
SYSTEM no message 2023-12-20 18:22:52 +08:00
USER no message 2024-02-26 11:31:48 +08:00
.gitignore first commit 2023-12-15 14:28:06 +08:00
Boot.map no message 2024-02-26 11:31:48 +08:00
keilkilll.bat first commit 2023-12-15 14:28:06 +08:00
readme.txt no message 2023-12-15 14:33:22 +08:00
startup_stm32f10x_hd.lst first commit 2023-12-15 14:28:06 +08:00

readme.txt

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

一、工程结构说明:
	1、CORECotex-M3内核相关
	     core_cm3.c                  Cotex-M3核心外设访问层
		 startup_stm32f10x_hd.s      stm32f10x_hd启动文件
	
	2、USER用户层
	     main                        用户顶层应用代码
		 userapp                     用户层应用代码
		 usercmd                     用户数据帧处理驱动
		 user_key                    用户按键关联菜单驱动
		 user_oled                   用户菜单显示驱动
		 user_timer   				 应用层硬件定时器驱动
		 user_ftp                    应用层FTP应用
		 user_tcp                    应用层TCP/IP应用
         user_http                   应用层HTTP协议应用
         user_flash                  应用层操作内部flash驱动
		 iap.c                       应用程程序跳转相关驱动函数
         cjson                       应用层C语言解析json数据驱动		 
		 
    3、HARDWARE文件夹: ABM-EC20主板外设层驱动
	     led     					主板DATA_LED驱动
		 key            			主板按键KEY外设驱动
		 beep           			主板蜂鸣器驱动
		 usb            			主板串口1转USB驱动
		 RS232          			主板串口5转RS232驱动
		 RS485          			主板串口4转RS485驱动
		 oled   	    			主板1.3寸oled屏驱动
		 logflash       			用户本地flash存储log驱动
		 ec20_module    			用户EC20模块硬件相关驱动
		 ec20_net       			用户EC20模块核心网驱动
		 ec20_tcp       			用户EC20模块TCP/IP协议驱动
		 ec20_http      			用户EC20模块http协议驱动
		 ec20_ftp                   用户EC20模块FTP协议驱动
		 
    4、SYSTEM文件夹: STM32硬件相关驱动 
	     sysport            		SYSTEM层对外接口对SYSTEM各驱动整合形成标准接口供上层调用
	     syslib             		系统库函数(存放一些常用的数据处理等通用函数)
		 malloc             		STM32系统RAM动态内存管理驱动
		 usart              		STM32硬件串口驱动
		 dma                		STM32DMA驱动    
		 io                 		STM32通用IO驱动
		 mac                		STM32硬件地址驱动keil编译软件版本也在内
		 rtc                		STM32硬件实时时钟驱动	     
		 systick            		STM32硬件系统滴答定时器驱动
		 timer              		STM32硬件定时器驱动。
		 watchdog           		STM32硬件看门狗驱动
		 flash              		STM32内部flash闪存驱动
		 stm32Temp          		STM32内部温度传感器驱动		 
		 pvd                		STM32PVD相关驱动
		 sys                		STM32汇编指令相关操作:执行WFI指令、关闭所有中断、开启所有中断、设置堆栈地址
		 
		 
	5、FWLIB            			st官方STM32固件库
	
	6、README                     工程说明文件
		 
	
二、命名规则:
	1、函数      首字母大写,各功能词首字母大写。功能词之间以“-”连接/不使用字符连接
	2、变量      首字母小写,各功能词首字母大写。功能词之间无连接符
	3、指针      首字母小写p开头各功能词首字母大写。功能词之间无连接符
	3、枚举类型  首字母大写各功能词首字母大写。功能词之间无连接符以“—m”结尾
	4、枚举变量  以“m”开头 各功能词首字母大写。功能词之间无连接符
	5、结构体类型首字母大写各功能词首字母大写。功能词之间无连接符以“—s”结尾
	6、结构体变量以“—s”开头各功能词首字母大写。功能词之间无连接符
	7、共用体类型首字母大写各功能词首字母大写。功能词之间无连接符以“—u”结尾
	8、共用体变量以“—u”开头各功能词首字母大写。功能词之间无连接符
	
应用层硬件资源分配详见《ABM_EC20开发板用户手册》:
    1、串口资源分配
	    串口1<-->USB
		串口2-->空闲
		串口3<-->EC20模块
		串口4<-->RS485
		串口5<-->RS232
	
注意事项:
	1、为了配合boot使用在boot校验时会校验bin文件的第4~8字节即中断向量表中Reset_Handler中断处理函数地址所以需要在编译APP时将startup_stm32f10x_hd.s 文件放在最前面。前4个字节为__initial_sp栈顶地址第4~8个字节是
	   中断向量表中Reset_Handler中断处理函数地址。
	   如果不按照此规范操作在boot升级时即使固件正确也无法校验通过。
	   
	2、本例程是基于晏诚科技自主开发的轮询操作系统YcOS例程。其实很简单就是将FreeRTOS中的多任务采用定时轮询的方式执行YcOS相对FreeRTOS的区别在于无法进行任务切换。	

-------------------------------------------------------------------------------------------