前言
大家好,又見面了。前文我們詳細介紹了 S32K3 RTD MCAL 開發環境的搭建過程,包括軟件的下載、安裝、例程介紹等。本文將在開發環境都完備的前提下繼續展開,如果你還沒有搭建好 S32K3 開發環境,請參考:
S32K3 RTD MCAL 開發環境搭建(詳細教程)
如果不使用 MCAL(Microcontroller Abstraction Layer),只想生成 LLD (Low Level Driver)程序的話,我們該如何配置呢? 下面我們用版本號為 “SW32K3_RTD_4.4_2.0.0”的 RTD 軟件包為例,創建一個簡單的工程,編譯、燒錄并進行功能演示。
1. 建立工程
- 在 NXP 官網上找到“4_2.0.0”的 RTD 包,下載并安裝(參考前文的第2.3和3.3章節)。其中 MCAL 是 exe 執行程序安裝,而 LLD 則是 zip 格式作為 S32DS 的一個插件來安裝,這是因為工具鏈不同。
- 打開S32DS 3.4,進入菜單欄“Help”->“Install New Software”,按下圖步驟添加安裝包。
- 創建工程并輸入工程名,選擇芯片型號以及編譯器版本,根據Release Note文檔的描述,我們需要使用2版本的GCC。 SDK 選擇“PlatformSDK_S32K3_2022_03_S32K344_M7 v2.0.0”, Debugger選擇你使用的調試器,我這里使用 PEMicro,最后點擊“Finish”工程就創建好了。
2. 配置 CT(Configuration Tool)
- 下圖所示為創建好的工程,雙擊“.mex” ,或者在菜單欄找到“配置工具”并點擊“引腳”。
- 配置每個引腳的功能和屬性,我們使用大聯大世平集團基于 S32K344 的最小系統開發板,其中 RGB 小燈使用 PTA29/30/31 分別控制紅/綠/藍三種顏色,將這三個引腳復用配置為“SIUL2,gpio”模式,方向選擇“output”,初始值均設為“Low”。
- 可通過路由詳情表格配置 I/O 屬性,例如:
- 點擊界面右上角的“外設”按鍵或者在菜單欄找到“配置工具”并點擊“外設”,按下圖步驟添加 Siul2_Port 和 Siul2_Dio 兩組外設驅動模塊,進行 SDK 外設驅動程序的初始化配置。
- 點擊“更新源代碼”生成引腳配置代碼,你可以點擊“更改”來查看生成代碼的更新,并勾選你想要更新的文件。
3. 編寫程序
- S32DS CT 生成的文件結構
- Siul2_Port 相關的驅動代碼文件:
- RTD\include\Siul2_Port_Ip_Types.h
- RTD\include\Siul2_Port_Ip.h
- RTD\src\Siul2_Port_Ip.c
- Siul2_Port包含引腳配置結構的文件:
- Board\Siul2_Port_Ip_Cfg.h
- Board\Siul2_Port_Ip_Cfg.c
- Siul2_Dio 相關的驅動代碼文件:
- RTD\include\Siul2_Dio_Ip.h
- RTD\src\Siul2_Dio_Ip.c
- Siul2_Dio 包含引腳配置結構的文件:
- generate\include\Siul2_Dio_Ip_Cfg.h
- Siul2_Port 相關的驅動代碼文件:
- 打開 Siul2_ToggleLed_S32K344 工程的c 文件,引入相關的頭文件
- 添加一個延時函數
- 在< Siul2_Port_Ip_Cfg.h > 中我們可以找到下圖所示的宏定義,這是因為我們在配置 I/O 屬性時,在標識符字段填寫了引腳 ID。那“PTA_H_HALF”是什么意思呢,為什么 PTA29 的 PIN 設為 13?
通過《S32K3xx Reference Manual》附件中的《S32K344 IOMUX_Rev1.1.xlsx》表格可看出 IO 口按照A、B、C、D、E、F、G編號分成了7組(以 BGA257 為例),每組有0~31號共32個IO口,而H和L分別代表高16位和低16位,所以 PTA29實際屬于高16位的第13-Pin,其他引腳以此類推。
- 主函數實現功能:紅、綠、藍三色小燈依次閃爍。
Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0);
//初始化所有引腳配置,“g_pin_mux_InitConfigArr0”在之前生成的代碼中定義。
Siul2_Dio_Ip_TogglePins(LED_PTA29_PORT, 1<<(LED_PTA29_PIN+led_Switch));
//切換指定GPIO端口的電平。
4. 編譯并燒錄到開發板
- 點擊小錘子“Build” 按鍵編譯,出現“Build Finished”并生成“.elf”文件代表編譯成功。
- 如下圖打開調試配置窗口。如果沒有出現可參照的調試目標,右鍵 “GDB PEMicro Interface Debugging”選擇“New Configuration”新建調試目標;如果有參考目標可以右鍵目標選擇“Duplicate”。為工程重命名,并將Main窗口中的elf文件路徑配置到工程路徑。
- 切換至“PEmicro Debugger”標簽頁,將Executable設置為“${S32DS_GDB_ARM32_EXE}”,并選擇好調試器接口和芯片型號,建議無論是不是新建的都要將這幾個地方檢查一遍,如下圖。當Port口讀到下圖信息,代表Multilink已經連接到開發板上。進入debug頁面,并點擊綠色運行按鍵
- 燒錄程序。
- 開發板上電,連接Multilink并燒錄程序,可以看到 RGB LED 燈切換紅、綠、藍三色交替閃爍,程序燒錄成功。
本次 S32K3 RTD LLD 工程建立已經完成。之后會以大聯大世平集團推出的 S32K3xx-EVB 方案為硬件平臺,介紹 S32K3 MCAL 各模塊應用,也是對自己的學習過程做一個總結(不定期更新 =_=),如果有任何問題歡迎在博文下方留言,我們下次繼續~
參考資料
[1] S32K3xx Reference Manual, Rev.2 Draft C, 04/2021, NXP
[2] Cavalry (S32K3 Core Board) Rev.1 - Schematic
登陸大大通,了解更多S32K進階之旅系列文章
-
NXP
+關注
關注
60文章
1267瀏覽量
183391 -
恩智浦
+關注
關注
14文章
5830瀏覽量
106747 -
s32k
+關注
關注
1文章
11瀏覽量
9750
發布評論請先 登錄
相關推薦
評論