曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

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

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

【S32K 進(jìn)階之旅】S32K3 RTD LLD 從零開始創(chuàng)建工程及燒錄

大大通 ? 2023-03-21 16:49 ? 次閱讀

前言

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

S32K3 RTD MCAL 開發(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)楣ぞ哝湶煌?/li>


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


  • 創(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)建好了。


2. 配置 CT(Configuration Tool)

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


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


  • 可通過路由詳情表格配置 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



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


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


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)的頭文件
  • 添加一個(gè)延時(shí)函數(shù)


  • 在< 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,其他引腳以此類推。



  • 主函數(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端口的電平。

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

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


  • 如下圖打開調(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文件路徑配置到工程路徑。

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


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


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


參考資料

[1] S32K3xx Reference Manual, Rev.2 Draft C, 04/2021, NXP

[2] Cavalry (S32K3 Core Board) Rev.1 - Schematic

登陸大大通,了解更多S32K進(jìn)階之旅系列文章

聲明:本文內(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)投訴
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    61

    文章

    1322

    瀏覽量

    186965
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5931

    瀏覽量

    112028
  • s32k
    +關(guān)注

    關(guān)注

    1

    文章

    15

    瀏覽量

    9899
收藏 人收藏

    評(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 ?188次閱讀

    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

    求助,關(guān)于S32K388啟用了DCache的lwip問題求解

    ASRR21-11 版本 5.0.0這FreeRTOSversion used 為S32K3 FreeRTOS 11.1.0 版本 5.0.0 CD01和TCPIP 堆棧version 為S32K3
    發(fā)表于 04-02 07:35

    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無(wú)法獲取重置原因怎么解決?

    我現(xiàn)在正在使用 S32K3 芯片,但我遇到了一個(gè)問題 Boot 和 App 都使用函數(shù) Mcu_GetResetReason,但該函數(shù)會(huì)在第一次調(diào)用時(shí)清除 reset Reason。所以當(dāng) Boot 跳轉(zhuǎn)到 App 時(shí),App 無(wú)法獲取重置原因。 你能告訴我怎么解決嗎
    發(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 ?457次閱讀
    【<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 ?1次下載

    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 ?1065次閱讀
    基于 NXP <b class='flag-5'>S32K</b>312+FS23 的汽車通用評(píng)估板方案