SylixOS ARM BSP 第一篇【文件結構】

SylixOS 是國人自己開發的開源實時操作系統,該系統符合 IEEE1003 POSIX 操作系統規範,功能強大開發便利,系統主頁:www.sylixos.com


此篇博客爲 SylixOS ARM BSP 編寫連載的第一篇,力求以深入淺出的方法介紹 SylixOS ARM BSP 的編寫方法。


SylixOS BSP 分爲兩大部分:

  1. 基礎支持程序

  2. 驅動程序


其中【基礎支持程序】主要是實現系統的啓動流程與硬件板最基礎的功能實現,例如中斷控制器管理,TICK 定時器管理,初始內存映射管理等等。【驅動程序】主要是實現操作系統對外部設備的管理。


此篇博客主要介紹 SylixOS BSP 文件的構成。SylixOS BSP 可通過 RealCoder(SylixOS 集成開發環境,可點擊這裏申請下載)創建,創建出來的 BSP 模板分爲三個文件夾:bsp、driver、user。

  1. bsp 文件夾下的文件對應的就是【基礎支持程序】;

  2. driver 文件夾下的文件對應的就是【驅動程序】;

  3. user 目錄爲 t_main 內核線程實現,可以根據項目需要加入自己的代碼。


bsp 文件夾下存在至少 5 個源文件,他們分別是:config.h、startup.S、bspInit.c、bspLib.c、bspMap.h。當然 SylixOS 並不嚴格規定 BSP 必須這樣寫,只是長期以來形成的習慣。

  1. config.h 文件包含板子的基本配置情況,如果本 bsp 包含對多種板子的支持,則可以在 bsp 目錄下再建立一些針對各種板子的文件夾,具體方法可參考TI 335x BSP 點擊下載

  2. startup.S 文件是系統的啓動入口。

  3. bspInit.c 文件是 bsp 初始化入口,其中初始化函數爲 bspInit(),此函數會被 startup.S 文件調用。

  4. bspLib.c 文件是【基礎支持程序】主要實現部分,包括中斷管理,TICK 初始化等等。

  5. bspMap.h 文件是操作系統內存佈局設置與初始映射配置。


driver 文件夾下就是【驅動程序】的實現,內部分爲很多子文件夾,每一個文件夾都是指定設備的驅動程序,例如 uart (或者 sio tty 等)是代表串口的驅動程序。這個在以後的博客中將會介紹具體的驅動程序編寫方法。


user 目錄包含 t_main.c 文件,系統完成所有的初始化後進入多任務模式,其中 t_main 是 BSP 創建的內核任務,SylixOS 既可以像 Linux 一樣動態裝載用戶進程,也可以像其他小型 RTOS 一樣直接將用戶應用程序和 BSP 一起編譯,運行在內核空間,如果選擇將應用程序和 BSP 一起編譯,t_main 任務可以認爲是用戶應用程序的入口,不過 SylixOS 還是不推薦這種方法,SylixOS 推薦開發者像使用 Linux 或者 Windows 一樣,將指定的應用編譯成獨立進程,通過 SylixOS 裝載器動態裝載執行,方便升級與調試。


(此篇完)


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