代碼結(jié)構(gòu)劃分層次
為了方便后續(xù)代碼維護(hù)和閱讀, 建議將代碼分為以下幾個(gè)層次:
- 通用層(Common): 項(xiàng)目中通用的宏定義, 全局共享的變量等.
- 應(yīng)用層(Applications): 業(yè)務(wù)邏輯, 流程框架都在這層.
- 模塊層(Modules): 自己實(shí)現(xiàn)的模塊化功能代碼, 與MCU硬件不相關(guān)的組件. 比如串口命令組件, i2c-tools組件等.
- 驅(qū)動(dòng)層(Drivers): 各個(gè)硬件模塊驅(qū)動(dòng)代碼.
- 廠商提供的源碼(Vendors): MCU原廠提供的SDK, 第三方模塊的源碼, 比如FreeRTOS, File System等.
示例
講道理, 這里層次分的還不是很合理, 只是初步分層, 后續(xù)分層規(guī)范后, 將會(huì)重新更新這個(gè)圖片.
通用的宏控
在 Common 層中, 目前有下面這3個(gè)文件, 分別用于返回值檢查(asserts), 項(xiàng)目宏控區(qū)分代碼流程(products), 統(tǒng)一項(xiàng)目中的返回值(errors).
IDE(eclipse)頭文件尋找路徑配置
由于 IDE 中的目錄結(jié)構(gòu)變化了, 導(dǎo)致編譯的時(shí)候找不頭文件了. 因此需要新增加的目錄加入 gcc 頭文件搜索路徑中.
具體加目錄方法如下: 工程名右鍵 >>> 屬性:
屬性界面依次進(jìn)入 C/C++ General >>> Code Analysis >>> Path and Symbols, 詳細(xì)配置如下圖: