SmallRTOS是一個(gè)源代碼開放的、易于移植的、面向深度嵌入式應(yīng)用的微內(nèi)核實(shí)時(shí)操作系統(tǒng),主要應(yīng)用領(lǐng)域?yàn)楣I(yè)控制,智能傳感器開發(fā),智能終端等。下面我們逐步演示如何在Zynq平臺(tái)運(yùn)行SmallRTOS實(shí)時(shí)操作系統(tǒng)。
我們從Vivado導(dǎo)出硬件頂層設(shè)計(jì)包開始,如下圖所示點(diǎn)擊菜單File->Export->Export Hardware
Vivado會(huì)彈出如下對(duì)話框,我們不做任何修改,直接點(diǎn)擊OK按鈕
然后通過Vivado啟動(dòng)軟件開發(fā)套件工具SDK,點(diǎn)擊菜單File->Launch SDK
Vivado會(huì)彈出如下提示對(duì)話框,采用默認(rèn)設(shè)置,直接點(diǎn)擊OK按鈕
此時(shí)軟件開發(fā)套件SDK會(huì)啟動(dòng),并提示正在導(dǎo)入硬件頂層設(shè)計(jì)包,如下圖所示:
導(dǎo)入完畢,我們?cè)赟DK左側(cè)欄可以看到導(dǎo)入的硬件頂層設(shè)計(jì)包design_1_wrapper_hw_platform_0
在此基礎(chǔ)上,我們創(chuàng)建板級(jí)支持包BSP工程,點(diǎn)擊SDK菜單下的File->New->Board Support Package
SDK彈出如下配置對(duì)話框,采用默認(rèn)命名,默認(rèn)參數(shù)即可,直接點(diǎn)擊Finish按鈕。
接著彈出如下對(duì)話框,選擇根據(jù)需要選擇板級(jí)支持包的功能組件,我們選擇如下三個(gè)組件:lwip,xilffs,xilrsa等
點(diǎn)擊OK按鈕后,彈出如下進(jìn)度提示框,表示正在生產(chǎn)BSP板級(jí)支持包。
生成完畢后,在左側(cè)欄會(huì)出現(xiàn)如下所示的兩個(gè)工程:
接著,就可以創(chuàng)建應(yīng)用程序了。
在SDK的彈出對(duì)話框中,填寫應(yīng)用程序的名字,比如SmallRTOSDemo等,板級(jí)支持包選擇已經(jīng)創(chuàng)建的工程standalone_bsp_0。之后點(diǎn)擊按鈕Next
此時(shí)會(huì)出現(xiàn)示例工程選擇對(duì)話框,如下所示,可以根據(jù)需要自行選擇,我們選擇Empty Application
點(diǎn)擊按鈕Finish后,應(yīng)用工程就創(chuàng)建完畢了,不過此時(shí)應(yīng)用工程是空的,還無法使用。接下來我們向應(yīng)用程序SmallRTOSDemo中添加代碼文件。
打開SmallRTOS壓縮包如下路徑\Demo\CORTEX_A9_Zynq_Zedboard_SDK\SmallRTOSDemo\src,把其中的.c文件及.h文件連同SmallRTOS文件夾一起拷貝到剛剛創(chuàng)建的SmallRTOSDemo\src文件夾下;注意,lscript.ld文件也要拷貝過去,這個(gè)文件里面配置有SmallRTOS的匯編入口地址。 此時(shí),右鍵點(diǎn)擊工程SmallRTOSDemo,在彈出菜單中點(diǎn)擊Refresh。
一般情況下Refresh完畢后,工程會(huì)自行編譯,此時(shí)會(huì)提示報(bào)錯(cuò)信息,這是因?yàn)椴糠致窂竭€沒有指定,一些文件找不到。
右鍵點(diǎn)擊工程SmallRTOSDemo,在彈出菜單欄中選擇Properties
此時(shí)SDK彈出編譯環(huán)境配置對(duì)話框,選擇C/C++ General -> Paths and Symbols,打開Include小貼簽項(xiàng),點(diǎn)擊Add按鈕
出現(xiàn)如下配置提示框,點(diǎn)擊Workspace按鈕
在彈出框中,選擇工程SmallRTOSDemo下的src文件夾,點(diǎn)擊OK。
路徑會(huì)顯示到Directory的編輯框里,點(diǎn)擊OK按鈕即可。
按照同樣方式添加SmallRTOS的OS及CPU路徑,如下圖所示。
添加完畢后,路徑會(huì)顯示在列表中,如下圖所示:
此時(shí)點(diǎn)擊Apply按鈕,使配置參數(shù)生效,此時(shí)彈出對(duì)話框如下所示,點(diǎn)擊Yes即可。
上述對(duì)話框退出后, 點(diǎn)擊上圖OK按鈕,退出路徑配置對(duì)話框。此時(shí)工程會(huì)重新編譯。 若沒有重新編譯,可以右鍵點(diǎn)擊SmallRTOSDemo工程,在彈出菜單欄點(diǎn)擊Clean Project
操作后,結(jié)果如下圖所示:
工程在Clean的同時(shí),會(huì)重新編譯,這次編譯成功了,生成了SmallRTOSDemo.elf文件,出現(xiàn)如下編譯后的結(jié)果:
|
|