nRF SDK Step By Step

概述

單板嵌入式軟件到底是用驅動庫還是直接操作寄存器,這是一個永恆的話題,就像豆花到底應該放鹽還是放糖一樣。

剛接觸nRF SDK的我也一樣在糾結這個問題:直接操作寄存器吧,簡單,非常簡單。但是一方面程序結構和移植性上肯定好不了,如果想做好一點,幹嘛不用別人做好的?人家已經寫了幾百M的代碼放在那裏(這得是多少人的心血啊!尤其是嵌入式領域!),幹嘛要重複造車輪子?用庫吧,你得先把人家的庫看明白了纔好用啊,要把這麼多代碼看明白。。。。想想也是醉了。而且nRF不光有外設驅動,還有應用庫,上面再疊加應用,三層結構。分這麼多層,理解了就很好用,要入門就很頭疼。

糾結!!!

想來想去,還是不要浪費人家寫的幾百M的代碼爲好,站在巨人的肩膀上不是更好!

所以,我們現在要做的,就是先爬上去!

文件結構

打開一個最簡單的SDK裏的外設驅動工程,即可以一般地歸納出從代碼的框架結構:

Application

main.c:主程序,包含初始化和主循環。如果應用夠簡單,功能的實現代碼也會被放在這裏。

Board Definition

也只包含一個Boards.c文件,從內容上來看,基本上就只包含了按鍵和LED的初始化和使用代碼

nRF_Drivers

外設驅動,應該是包含跟外設寄存器直接打交道的代碼,其中有一個文件叫‘nrf_drv_common.c’, 應該是所有外設都會用到的公用代碼。然後需要用啥外設就把相應的文件往裏加

nRF_Libraries

個人理解這個文件夾下的代碼是基於 nRF_Drivers,給Application提供服務的。

nRF_Log/nRF_Segger_RTT

用於打印調試信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章