什么是框架?
程序框架其实就类似一个文件大纲或者模板。因为写程序就和类似于写文章,如果没有大纲或者模板那么你写起来就会比较费劲。一个好的框架,能事半功倍,节约时间,减少错误。
嵌入式系统组成
嵌入式控制系统基本都是由“main:while(1)”和“中断服务”组成。
main任务:指对时间响应要求不高或者说是那种周期性执行的任务;
中断任务:指对时间响应要求高,必须立刻处理的任务
本套框架将采用RTX_OS,这是ARM公司研发的OS,效率高,使用便捷。
RTX系统可以实现零中断延时,也就是跟裸机情况是一样的。
RTX5安全认证
RTX5的汽车级,工业级,医疗和铁路安全认证已经通过:
- ISO 26262 (ASIL D) 汽车级最高安全认证
- IEC 61508 (SIL 3) 工业级认证
- IEC 62304 (Class C) 医疗认证
- EN 50128 (SIL 4) 运输/铁路安全认证
支持的内核:
- Cortex-M0/M0+
- Cortex-M3
- Cortex-M4
- Cortex-M7
RTX5授权方式
RTX4和RTX5都已经是开源免费的,Apache2.0授权,随意商用,不需要付费。
嵌入式系统实现
- 中断发送信号,线程接收信号并处理
- 利用软定时器节约硬件资源
- 采用注册回调函数的方式,实现功能与业务分层。
├─app
│ ├─app_key
│ ├─app_adc
│ ├─app_led
│ ├─app_power
│ ├─app_temp_control
│ └─app_soft_voltameter
├─lib
│ ├─x_strtok
│ ├─str_hex
│ └─crc16
├─bsp
│ ├─cx32l003
│ └─nrf52
├─os
│ ├─rtx
│ └─rtx5
├─sys
│ ├─cx32f0
│ └─nrf52
├─drivers
│ ├─include
│ └─g_sensor
│ └─adxl34x
├─project
│ ├─bt_ant_code_table
│ ├─bt_speaker
│ ├─bike_lamp
│ │ ├─head_tail_lamp
│ │ │ ├─cx32_RX1500
│ │ │ │ └─business
│ │ └─public_code
│ │ ├─cx32_bootload
│ │ │ └─boot
│ │ ├─biz_ldr
│ │ ├─biz_power
│ │ ├─biz_temp
│ │ ├─biz_uart
│ │ ├─check_uid
│ │ └─comm_uart
├─chip
│ ├─CX32L003_SDK
│ └─nRF5_SDK_17.0.2_d674dde
├─tool
│ ├─xBin2Dfu
│ ├─xAudioTool
│ │ ├─.vscode
│ │ ├─res
│ │ ├─src
│ │ └─ui
│ ├─LiSunTool
├─platform
│ ├─log
│ │ ├─cx32f0
│ │ └─nrf52
│ └─at_comm
│ └─cx32f0
├─protocol_stack
└─protocol