天天看點

[單片機架構] 架構檔案分層介紹

什麼是架構?

程式架構其實就類似一個檔案大綱或者模闆。因為寫程式就和類似于寫文章,如果沒有大綱或者模闆那麼你寫起來就會比較費勁。一個好的架構,能事半功倍,節約時間,減少錯誤。

[單片機架構] 架構檔案分層介紹

嵌入式系統組成

嵌入式控制系統基本都是由“main:while(1)”和“中斷服務”組成。

main任務:指對時間響應要求不高或者說是那種周期性執行的任務;

中斷任務:指對時間響應要求高,必須立刻處理的任務

本套架構将采用RTX_OS,這是ARM公司研發的OS,效率高,使用便捷。

RTX系統可以實作零中斷延時,也就是跟裸機情況是一樣的。

RTX5安全認證

RTX5的汽車級,工業級,醫療和鐵路安全認證已經通過:

  1. ISO 26262 (ASIL D) 汽車級最高安全認證
  2. IEC 61508 (SIL 3) 工業級認證
  3. IEC 62304 (Class C) 醫療認證
  4. EN 50128 (SIL 4) 運輸/鐵路安全認證
  1. Cortex-M0/M0+
  2. Cortex-M3
  3. Cortex-M4
  4. Cortex-M7

嵌入式系統實作

  1. 中斷發送信号,線程接收信号并處理
  2. 利用軟定時器節約硬體資源
  3. 采用注冊回調函數的方式,實作功能與業務分層。
├─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