101 lines
4.0 KiB
Plaintext
101 lines
4.0 KiB
Plaintext
一、工程结构说明:
|
||
1、CORE:Cotex-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的区别在于无法进行任务切换。
|
||
|
||
-------------------------------------------------------------------------------------------
|
||
|
||
◆其他重要连接:
|
||
开发板光盘资料下载地址
|
||
|
||
|
||
◆友情提示:
|
||
|
||
|
||
|
||
|
||
|
||
淘宝店铺: https://shop344794749.taobao.com
|
||
公司网站:
|
||
技术论坛:
|
||
电话: 13635513618
|
||
晏诚信息科技
|
||
2020-11月 |