內容提要
引言
FAQ NO.1 如何創建在MCU應用工程中添加SDK?
方法1. 在新建應用工程向導中選擇使能相應的SDK
方法2. 選中應用工程,右鍵-->SDKs添加(適用于創建工程時未使能SDK的應用工程)
FAQ NO.2 如何添加/切換使用SDK時 的MCU引腳封裝?
FAQ NO.3 如何打開SDK的demo工程以及如何使用demo工程?
FAQ NO.4 如何獲取并安裝最新版本的SDK?
方法1. 通過S32DS IDE的軟件更新推送,給S32DS IDE打補丁安裝
方法2. Check S32DS IDE官網,下載升級包安裝
FAQ NO.5 如何查看SDK外設組件()的幫助文檔?
總結
引言
使用S32DS IDE開發NXP S32K/R系列MCU以及 系列MCU應用程序的工程師,可能已經注意到,其集成了可以圖形化配置并自動生成代碼的處理器專家系統-- ,用于配置SDK。使用NXP提供的MCU SDK可以省去大家開發外設底層驅動的時間和精力,幫助大家實現產品原型的快速開發和功能驗證。
NXP S32DS IDE 中提供的SDK軟件架構如下:
本文旨在答疑一些大家使用SDK和 時遇到的常見問題(FAQ),以幫助大家更好的使用S32DS IDE的SDK。
Tips:本文介紹內容雖然基于S32DS for Power v2017.R1和 SDK,但其同樣適用于其他版本的S32DS for ARM/Power以及其他MCU系列(比如S32K、和等)的SDK。
FAQ NO.1 如何創建在MCU應用工程中添加SDK?
方法1. 在新建應用工程向導中選擇使能相應的SDK
新建應用工程向導第一步,菜單File-->New-->New S32DS :
新建應用工程向導第二步,輸入應用工程名(只能以英文字母開頭,不能包含英文字母和阿拉伯數字以及下劃線之外的其他特殊字符)、選擇儲存路徑(默認位置為打開S32DS IDE時選擇的工作空間)、選擇MCU Part 以及內核編譯工具鏈(如果安裝并想使用其他第三方工具鏈,請在此選擇,默認選擇為S32DS IDE集成的GCC工具鏈)等設置:
新建應用工程向導第三步,選擇內核和SDK、C語言庫,標準輸入輸出設備支持以及默認調試器等,在此點擊選擇需要使用的SDK即可:
工程創建成功后,在應用工程瀏覽器( )窗口中,可以看到有一個叫.pe的文件,即為SDK的處理器專家配置信息儲存文件:
方法2. 選中應用工程,右鍵-->SDKs添加(適用于創建工程時未使能SDK的應用工程)
如果你已經創建好了一個MCU的應用工程,但是在工程創建向導中沒有使能SDK,也可以以下方法和步驟使能SDK:
首先,選中應用工程,然后右鍵-->SDKs:
在彈出的SDKs選擇界面中,選中想要添加的SDK,然后選擇/...,在彈出的/ SDK窗口中,點擊添加相應的編譯目標,然后OK:
此時可以看到,相應的Debug、和編譯目標下該SDK都有“+”了,表示已經使能,點擊Apply-->OK:
Tips:在以上窗口中,可以通過顯示所有( all SDKs)和只顯示最新版本(Show only ),對SDK進行篩選,并實現在不同的SDK版本之間相互切換。
最后,在應用工程的瀏覽器( )窗口中,可以看到SDK的配置文件.pe和SDK的代碼保存目錄都已經被創建并添加到當前應用工程了:
Tips:請注意,此時SDK相應的代碼并沒有被生成,所以在編譯工程之前,需要點擊應用工程的瀏覽器( )窗口的SDK的配置文件.pe打開SDK組件瀏覽窗口,并點擊生成代碼:
此時歡迎使用新硬件向導,點擊 生成代碼后,立即編譯工程,會報若干SDK目錄下的.c啟動文件中的變量/符號未定義的錯誤:
這是因為添加SDK之后,其在-->下添加了兩個來自SDK的鏈接文件--.ld和.ld,而默認不帶SDK的應用工程的鏈接器設置中還是使用的之前創建工程時默認的鏈接文件--.ld和.ld以及libs.ld
所以需要將其刪除并添加正確的鏈接文件到相應的編譯目標即可:
若此時編譯還會遇到如下()啟動函數多處定義的錯誤:
解決辦法是選中應用工程,右鍵-->Build ,打開編譯配置瀏覽器窗口:
在打開的編譯配置瀏覽器窗口中點擊工程目錄下的所有匯編文件,將其移出編譯(點擊相應的加號“+”即可):
然后,將應用工程clean并重新編譯即可成功編譯:
Tips:從以上介紹可以看到,如果大家想使用NXP的SDK,最好在創建應用工程向導中就選擇使能。
FAQ NO.2 如何添加/切換使用SDK時 的MCU引腳封裝?
不同的MCU引腳封裝(),對于的引腳數量和功能不同,在使能SDK時,其默認添加的只是其中的一種封裝(一般默認為該MCU part 對應的最大封裝),比如本文測試的,則為其最大的MPGA-257封裝:
若想要切換到其他封裝,方法和步驟如下:
在SDK的組件庫( )窗口中選擇--> to , 然后找到創建應用工程時選擇的MCU part,右鍵-->Add to :
在彈出的窗口中選擇想要添加的封裝,這里選擇 -pin的封裝(可以同事選擇多個不同的封裝),然后next
然后,選擇要適用的工具鏈(此處為S32DS IDE自帶GCC 編譯器)-->:
可以看到,這樣剛剛選擇的新的MCU封裝就被添加到應用工程,并被自動選擇為當前應用工程的目標封裝( ):
但是,此時組件存在error,因為改變了封裝,之前封裝上的某些引腳信號在新的封裝上不一定存在或者匹配,消除error的方法和步驟如下:
首先,在組件瀏覽器窗口選擇 ,并同步更新.pe配置文件:
然后,選中組件右鍵--> (s) from ,將其刪除:
并在組件庫( )-->中搜索組件,右鍵-->Add to , 重新添加該組件即可:
另外,此時,若想要重新切回之前的封裝( --> )也是可以的,具體方法步驟如下:
在組件瀏覽器窗口下,選中想要切換回的之前的封裝,右鍵--> , 重新使能該組件:
這樣,就可以將目標MCU的封裝切換為之前的封裝,同樣,此時組件也會存在error,需要按照上面介紹的方法,將該組件從當前應用工程中刪除并重新添加即可。
FAQ NO.3 如何打開SDK的demo工程以及如何使用demo工程?
S32DS IDE及SDK安裝時,其會將SDK的Demo工程一起安裝到S32DS的安裝目錄下供大家學習和參考,之后,用戶可以從菜單File-->New-->S32DS from 打開SDK的Demo工程窗口:
在 S32DS from 窗口中,選擇想要學習的SDK版本,目標MCU型號以及相應的SDK組件demo工程,即可以在其右邊的窗口中看到該demo工程的大概功能表述,選擇,即可打開所選擇的SDK Demo工程:
在導入的SDK外設組件demo工程在工程瀏覽器( )窗口的目錄下,有一個以工程名命名的dox文檔,其中包含了改demo工程的詳細信息:
Tips:S32DS IDE的SDK中集成了豐富的外設組件demo工程,這些SDK的demo工程是我們學習使用SDK最好的參考資料,強烈推薦大家在使用某一個外設組件之前,仔細閱讀學習和測試相應的demo工程,在此基礎上修改或者移植自己的SDK工程。
FAQ NO.4 如何獲取并安裝最新版本的SDK?
NXP的SDK在不斷的更新中,使用最新版本的SDK,可以保證驅動的正確和穩定。S32DS IDE SDK的更新通常包含在S32DS的補丁包中,有以下兩種方法可以安裝最新版本的SDK:
方法1. 通過S32DS IDE的軟件更新推送,給S32DS IDE打補丁安裝
在S32DS IDE的菜單help-->Check for ,檢查并打開軟件可用更新( )窗口:
在彈出的 窗口中,選擇可用的補丁,Next
Next,選擇同意相應的條款-->即可完成安裝:
Tips:通過此種方法更新補丁非常方便快捷,但是需要電腦連接到互聯網,且有時最新的SDK補丁包不一定及時推送到S32DS IDE中;
方法2. Check S32DS IDE官網,下載升級包安裝
在網頁瀏覽器的地址欄輸入:,然后回車,即可打開S32DS IDE的官網網頁:
點擊相應的鏈接就可以進入不同目標MCU/內核版本的S32DS IDE官網網站;
比如我們點擊進入到S32DS for Power的官網網頁,切換至一欄,選擇更新和補丁( and )即可看到所有的更新和補丁包,選擇需要的補丁包,下載到本地磁盤:
然后,在S32DS IDE中,選擇菜單Help--> New ...,打開新軟件安裝窗口:
在安裝()界面中,選擇Add...-->Add (軟件倉庫),選擇(壓縮包)...,將下載到本地磁盤的補丁包(無需解壓)添加進來:
然后,選擇所選軟件安裝壓縮包中需要安裝的軟件更新或者補丁,next,同意相應的條款,最后,即可完成安裝。
Tips:使用此方法,無需電腦連接到互聯網,只需要提前在聯網的電腦上下載好軟件更新和補丁就好,所以此方法適用于電腦無法連接到外網或者網速較慢的場合。
Tips:另外,已經安裝過的補丁,無法再次安裝,所以如果選擇的補丁包中包含了之前已經安裝過的軟件更新或者補丁,則需求將其勾選去掉;低版本IDE的補丁包也可以安裝到高版本的IDE中使用。
FAQ NO.5 如何查看SDK外設組件()的幫助文檔?
在應用工程中添加了SDK的外設組件后,在工程的組件瀏覽窗口中選中某一外設組件,右鍵--> , 即可打開其幫助文檔:
該幫助文檔為存儲在S32DS IDE安裝目錄下的網頁文件:
該該文件中,包含SDK各個外設組件的詳細功能表述( ),特性(),功能()、初始化配置()、注意事項( Notes)、demo代碼( code)、數據結構(Data )以及相應的API函數參數描述()等;
Tips:在S32DS IDE的安裝目錄下,也提供了相應SDK的pdf格式的幫助文檔,方便大家閱讀、學習和使用:
其中不僅包含了所有網頁版幫助文檔的內容歡迎使用新硬件向導,還囊括了支持MCU平臺( )、IDE支持、MISRA兼容性、例程和demos等相關內容,是大家學習和使用SDK最好的一手資料:
總結
本文回答了大家在使用NXP S32DS IDE集成的SDK時遇到的幾個常見問題,并給出了一些實用的SDK學習和使用Tips,希望對大家有所幫助。
當然,要正真使用好SDK,不但需要仔細閱讀本文中介紹的SDK demo工程和幫助文檔進行歸納和總結,還需要了解其軟件架構和編程思想,我會在后面的文章中為大家帶來相關內容,敬請關注!