99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

學(xué)技術(shù) | 【S32K 進(jìn)階之旅】S32K3 RTD LLD 從零開始創(chuàng)建工程及燒錄

大大通 ? 2022-11-02 16:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

大家好,又見面了。前文我們?cè)敿?xì)介紹了 S32K3 RTD MCAL 開發(fā)環(huán)境的搭建過程,包括軟件的下載、安裝、例程介紹等。本文將在開發(fā)環(huán)境都完備的前提下繼續(xù)展開。

如果不使用 MCAL(Microcontroller Abstraction Layer),只想生成 LLD (Low Level Driver)程序的話,我們?cè)撊绾闻渲媚? 下面我們用版本號(hào)為 “SW32K3_RTD_4.4_2.0.0”的 RTD 軟件包為例,創(chuàng)建一個(gè)簡(jiǎn)單的工程,編譯、燒錄并進(jìn)行功能演示。

1. 建立工程

NXP 官網(wǎng)上找到“4_2.0.0”的 RTD 包,下載并安裝(參考前文的第2.3和3.3章節(jié))。其中 MCAL 是 exe 執(zhí)行程序安裝,而 LLD 則是 zip 格式作為 S32DS 的一個(gè)插件來安裝,這是因?yàn)楣ぞ哝湶煌?/p>

3dad4fec-57a1-11ed-b116-dac502259ad0.jpg

打開S32DS 3.4,進(jìn)入菜單欄“Help”->“Install New Software”,按下圖步驟添加安裝包。

3dbb4368-57a1-11ed-b116-dac502259ad0.jpg

創(chuàng)建工程并輸入工程名,選擇芯片型號(hào)以及編譯器版本,根據(jù)Release Note文檔的描述,我們需要使用2版本的GCC。SDK 選擇“PlatformSDK_S32K3_2022_03_S32K344_M7 v2.0.0”, Debugger選擇你使用的調(diào)試器,我這里使用 PEMicro,最后點(diǎn)擊“Finish”工程就創(chuàng)建好了。

3dd984f4-57a1-11ed-b116-dac502259ad0.jpg

2. 配置 CT(Configuration Tool)

下圖所示為創(chuàng)建好的工程,雙擊“.mex” ,或者在菜單欄找到“配置工具”并點(diǎn)擊“引腳”。

3e02105e-57a1-11ed-b116-dac502259ad0.jpg

配置每個(gè)引腳的功能和屬性,我們使用大聯(lián)大世平集團(tuán)基于 S32K344 的最小系統(tǒng)開發(fā)板,其中 RGB 小燈使用 PTA29/30/31 分別控制紅/綠/藍(lán)三種顏色,將這三個(gè)引腳復(fù)用配置為“SIUL2,gpio”模式,方向選擇“output”,初始值均設(shè)為“Low”。

3e1e8fb8-57a1-11ed-b116-dac502259ad0.jpg

可通過路由詳情表格配置 I/O 屬性,例如:

標(biāo)識(shí)符:使用標(biāo)識(shí)符字段給每個(gè)引腳一個(gè)有意義的 ID,可用于 API 函數(shù)。

Slew Rate:寄存器位MSCR_SRC

Output Buffer Enable:寄存器位MSCR_OBE

Pad keep enable:寄存器位MSCR_PKE

Driver Strength Field:寄存器位MSCR_DSE

Initial Value:寄存器位GPDO_PDO

3e432652-57a1-11ed-b116-dac502259ad0.jpg

點(diǎn)擊界面右上角的“外設(shè)”按鍵或者在菜單欄找到“配置工具”并點(diǎn)擊“外設(shè)”,按下圖步驟添加 Siul2_Port 和 Siul2_Dio 兩組外設(shè)驅(qū)動(dòng)模塊,進(jìn)行 SDK 外設(shè)驅(qū)動(dòng)程序的初始化配置。

3e5dc6c4-57a1-11ed-b116-dac502259ad0.jpg

點(diǎn)擊“更新源代碼”生成引腳配置代碼,你可以點(diǎn)擊“更改”來查看生成代碼的更新,并勾選你想要更新的文件。

3e7e15c8-57a1-11ed-b116-dac502259ad0.jpg

3. 編寫程序

S32DS CT 生成的文件結(jié)構(gòu)

Siul2_Port 相關(guān)的驅(qū)動(dòng)代碼文件:

RTD\include\Siul2_Port_Ip_Types.h

RTD\include\Siul2_Port_Ip.h

RTD\src\Siul2_Port_Ip.c

Siul2_Port包含引腳配置結(jié)構(gòu)的文件:

Board\Siul2_Port_Ip_Cfg.h

Board\Siul2_Port_Ip_Cfg.c

Siul2_Dio 相關(guān)的驅(qū)動(dòng)代碼文件:

RTD\include\Siul2_Dio_Ip.h

RTD\src\Siul2_Dio_Ip.c

Siul2_Dio 包含引腳配置結(jié)構(gòu)的文件:

generate\include\Siul2_Dio_Ip_Cfg.h

打開 Siul2_ToggleLed_S32K344 工程的c 文件,引入相關(guān)的頭文件

3e9bd2ac-57a1-11ed-b116-dac502259ad0.jpg

添加一個(gè)延時(shí)函數(shù)

3eaf78ac-57a1-11ed-b116-dac502259ad0.jpg

在< Siul2_Port_Ip_Cfg.h > 中我們可以找到下圖所示的宏定義,這是因?yàn)槲覀冊(cè)谂渲?I/O 屬性時(shí),在標(biāo)識(shí)符字段填寫了引腳 ID。那“PTA_H_HALF”是什么意思呢,為什么 PTA29 的 PIN 設(shè)為 13?

通過《S32K3xx Reference Manual》附件中的《S32K344 IOMUX_Rev1.1.xlsx》表格可看出 IO 口按照A、B、C、D、E、F、G編號(hào)分成了7組(以 BGA257 為例),每組有0~31號(hào)共32個(gè)IO口,而H和L分別代表高16位和低16位,所以 PTA29實(shí)際屬于高16位的第13-Pin,其他引腳以此類推。

3eca6fea-57a1-11ed-b116-dac502259ad0.jpg3ee092f2-57a1-11ed-b116-dac502259ad0.jpg

主函數(shù)實(shí)現(xiàn)功能:紅、綠、藍(lán)三色小燈依次閃爍。

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端口的電平。

3efb10c8-57a1-11ed-b116-dac502259ad0.jpg

4. 編譯并燒錄到開發(fā)板

點(diǎn)擊小錘子“Build” 按鍵編譯,出現(xiàn)“Build Finished”并生成“.elf”文件代表編譯成功。

3f17d3de-57a1-11ed-b116-dac502259ad0.jpg

如下圖打開調(diào)試配置窗口。如果沒有出現(xiàn)可參照的調(diào)試目標(biāo),右鍵 “GDB PEMicro Interface Debugging”選擇“New Configuration”新建調(diào)試目標(biāo);如果有參考目標(biāo)可以右鍵目標(biāo)選擇“Duplicate”。為工程重命名,并將Main窗口中的elf文件路徑配置到工程路徑。

3f3aca42-57a1-11ed-b116-dac502259ad0.jpg

切換至“PEmicro Debugger”標(biāo)簽頁,將Executable設(shè)置為“${S32DS_GDB_ARM32_EXE}”,并選擇好調(diào)試器接口和芯片型號(hào),建議無論是不是新建的都要將這幾個(gè)地方檢查一遍,如下圖。當(dāng)Port口讀到下圖信息,代表Multilink已經(jīng)連接到開發(fā)板上。進(jìn)入debug頁面,并點(diǎn)擊綠色運(yùn)行按鍵燒錄程序。

3f5bdac0-57a1-11ed-b116-dac502259ad0.jpg

開發(fā)板上電,連接Multilink并燒錄程序,可以看到 RGB LED 燈切換紅、綠、藍(lán)三色交替閃爍,程序燒錄成功。

3f7b586e-57a1-11ed-b116-dac502259ad0.jpg

本次 S32K3 RTD LLD 工程建立已經(jīng)完成。之后會(huì)以大聯(lián)大世平集團(tuán)推出的 S32K3xx-EVB 方案為硬件平臺(tái),介紹 S32K3 MCAL 各模塊應(yīng)用,也是對(duì)自己的學(xué)習(xí)過程做一個(gè)總結(jié)(不定期更新 =_=),如果有任何問題歡迎在博文下方留言,我們下次繼續(xù)~

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5682

    瀏覽量

    104830
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    簡(jiǎn)述K3SK8S的區(qū)別

    K3s 是CNCF 認(rèn)證的 Kubernetes 發(fā)行版和Sandbox項(xiàng)目,專為低資源環(huán)境而設(shè)計(jì)。由 Rancher Labs 維護(hù)著 K3s
    的頭像 發(fā)表于 04-18 10:27 ?521次閱讀

    FS26和S32K3可以正常喚醒,當(dāng)添加與SJA1110的通信時(shí),喚醒過程會(huì)卡在斷言錯(cuò)誤處,為什么?

    FS26 和 S32K3 可以正常喚醒,但當(dāng)添加與 SJA1110 的通信時(shí),喚醒過程會(huì)卡在斷言錯(cuò)誤處: "GMAC_DEV_ASSERT((Bd-&gt;Des3
    發(fā)表于 04-14 08:02

    S32DS v3.5安裝S32k3開發(fā)包失敗的原因?

    我嘗試從 安裝 SW32k3 開發(fā)包sw32k3_s32m27x_rtd_r21-11_5.0.0_d2410_designstudio_updatesite(help-install
    發(fā)表于 04-11 07:44

    使用RTD5.0.0的s32k312,C40_Ip擦除pflash存在一些問題求解決

    /t5/s32k/s32k344-c40-ip-hardware-fault-problem/td-p/1697432 但在 RTD 5.0.0 C40_ip.h 中,“Fls_MemMap.h” 不存在 那么,如何將C4
    發(fā)表于 04-11 06:53

    求助,關(guān)于S32K342 IAR啟動(dòng)代碼問題求解

    與鏈接類似的問題S32K344 IAR 啟動(dòng)代碼問題 (SW32K3_S32M27x_RTD_R21-11_5.0.0_D2410) export the project from SDK
    發(fā)表于 04-10 07:12

    從零開始學(xué)電源

    從零開始學(xué)電源···內(nèi)部篇 從零開始學(xué)電源---------內(nèi)部篇 (寫這篇文的著眼點(diǎn)就在“從零開始”上,所以涉及到一些詞匯和
    發(fā)表于 04-07 15:30

    EB tresos導(dǎo)入S32K1 RTD中的例程,verify工程時(shí)報(bào)錯(cuò)怎么解決?

    EB tresos版本:EB tresos Studio 29.0 RTD版本:SW32K1_S32M24x_RTD_R21-11_2.0.0_QLP1 import的例程路徑如下: NXPsw32k1_s32m24x_rtd_r21-
    發(fā)表于 03-27 06:29

    S32k系列微型機(jī),特別是S32K388具有并行處理功能嗎?

    S32k系列微型機(jī),特別是S32K388具有并行處理功能嗎?
    發(fā)表于 03-26 08:27

    S32K3 Boot跳轉(zhuǎn)到App時(shí),App無法獲取重置原因怎么解決?

    我現(xiàn)在正在使用 S32K3 芯片,但我遇到了一個(gè)問題 Boot 和 App 都使用函數(shù) Mcu_GetResetReason,但該函數(shù)會(huì)在第一次調(diào)用時(shí)清除 reset Reason。所以當(dāng) Boot 跳轉(zhuǎn)到 App 時(shí),App 無法獲取重置原因。 你能告訴我怎么解決嗎
    發(fā)表于 03-25 08:15

    WD50-110S24K1 WD50-110S24K1

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)WD50-110S24K1相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有WD50-110S24K1的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,WD50-110S24K1真值表,WD5
    發(fā)表于 03-20 18:59
    WD50-110<b class='flag-5'>S24K</b>1 WD50-110<b class='flag-5'>S24K</b>1

    S32K 進(jìn)階之旅】如何使用 S32K3 PIT 定時(shí)器實(shí)現(xiàn)精準(zhǔn)延時(shí)?

    的特性。1.PIT模塊特性根據(jù)下圖查表可知,不同型號(hào)S32K3支持的PIT數(shù)量不同。最多有4組PIT模塊,每組有四路PIT通道,每路通道長(zhǎng)度為32-bit,其中PI
    的頭像 發(fā)表于 03-10 16:33 ?730次閱讀
    【<b class='flag-5'>S32K</b> <b class='flag-5'>進(jìn)階</b><b class='flag-5'>之旅</b>】如何使用 <b class='flag-5'>S32K3</b> PIT 定時(shí)器實(shí)現(xiàn)精準(zhǔn)延時(shí)?

    S32K3xx參考手冊(cè)

    NXP單片機(jī) S32K3xx系列完整版技術(shù)手冊(cè),手冊(cè)PDF文檔包含IO MUX等附件
    發(fā)表于 12-30 16:12 ?13次下載

    S32K3系列汽車級(jí)MCU應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《S32K3系列汽車級(jí)MCU應(yīng)用筆記.docx》資料免費(fèi)下載
    發(fā)表于 12-30 15:43 ?2次下載

    S32K3xxICU應(yīng)用筆記

    S32K3xxICU應(yīng)用筆記
    發(fā)表于 12-30 15:38 ?2次下載

    基于 NXP S32K312+FS23 的汽車通用評(píng)估板方案

    S32K3系列是NXP推出的面向汽車電子和工業(yè)應(yīng)用的微控制器,基于ARMCortex-M7內(nèi)核,支持單核、雙核和鎖步內(nèi)核配置。S32K3系列具有內(nèi)核、內(nèi)存和外設(shè)數(shù)量方面的可擴(kuò)展性,符合
    的頭像 發(fā)表于 12-07 01:08 ?1273次閱讀
    基于 NXP <b class='flag-5'>S32K</b>312+FS23 的汽車通用評(píng)估板方案