精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【S32K 進階之旅】S32K3 RTD LLD 從零開始創建工程及燒錄

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

前言

大家好,又見面了。前文我們詳細介紹了 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 屬性,例如:
    • 標識符:使用標識符字段給每個引腳一個有意義的 ID,可用于 API 函數。
    • Slew Rate:寄存器位MSCR_SRC
    • Output Buffer Enable:寄存器位MSCR_OBE
    • Pad keep enable:寄存器位MSCR_PKE
    • Driver Strength Field:寄存器位MSCR_DSE
    • Initial Value:寄存器位GPDO_PDO



  • 點擊界面右上角的“外設”按鍵或者在菜單欄找到“配置工具”并點擊“外設”,按下圖步驟添加 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_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
    NXP
    +關注

    關注

    60

    文章

    1267

    瀏覽量

    183391
  • 恩智浦
    +關注

    關注

    14

    文章

    5830

    瀏覽量

    106747
  • s32k
    +關注

    關注

    1

    文章

    11

    瀏覽量

    9750
收藏 人收藏

    評論

    相關推薦

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網絡連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務插件以實現資源互通。然后,編寫Deployment文件部署應用,并使用kubectl命令應用至集群。最后,驗證應用狀態并監控集群性能
    的頭像 發表于 11-07 09:37 ?113次閱讀

    k8s云原生開發要求

    Kubernetes(K8s)云原生開發對硬件有一定要求。CPU方面,建議至少配備2個邏輯核心,高性能CPU更佳。內存至少4GB,但8GB或更高更推薦。存儲需至少20-30GB可用空間,SSD提升
    的頭像 發表于 10-24 10:03 ?174次閱讀
    <b class='flag-5'>k8s</b>云原生開發要求

    死角帶你玩轉S32K344之實時時鐘RTC

    一、概述通過閱讀手冊可以知道S32K344是擁有一個內部的RTC,并且可以運行在正常模式和低功耗模式之下,還可以用于低功耗的喚醒等等。而在配置時需要注意時鐘的配置,因為對于S32DS軟件來說,RTC
    的頭像 發表于 08-02 08:11 ?1791次閱讀
    <b class='flag-5'>零</b>死角帶你玩轉<b class='flag-5'>S32K</b>344之實時時鐘RTC

    S32K376 電池管理系統和車輛控制單元概念驗證

    S32K3 平臺的 S32K3 BMS SL SDK DEMO AUTOSAR 4.4 版本 1.0.0 版本。此版本中包含的 Bcc_775a_SL、Bcc_774a_SL、Bcc_772c_SL
    發表于 05-20 15:50

    關于STM8S103K3的數據保存問題求解

    關于STM8S103K3的數據保存問題,我用STM8S103K3開發一套溫控板小批量投產,現在遇到的問題是,設置報警溫度有的時候不能保存(斷電后自動歸),并不是都不保存有的就可以保存,不知道是哪的問題,編程器換了也沒效果,程序
    發表于 05-10 06:38

    亮鉆科技推出重磅新品:基于RK3588S平臺的K-3588S

    近日,基于RK3588S平臺,亮鉆科技推出重磅新品:K-3588S,其性能與RK3588相媲美,擁有高性能、高算力和8K視頻編解碼等優勢,且性價比更高,滿足用戶降本需求。
    的頭像 發表于 05-09 14:11 ?2277次閱讀
    亮鉆科技推出重磅新品:基于RK3588<b class='flag-5'>S</b>平臺的<b class='flag-5'>K-3588S</b>

    基于S32K3的ECU參考設計集成電池管理方案

    S32K396/376 BMS-EVB板現已供貨,同時S32K39 / 37 / 36系列芯片將于今年6月正式上市。相關的集中式電芯監控參考設計板也已上市。
    發表于 04-26 10:59 ?487次閱讀

    【從0開始創建AWTK應用程序】編譯應用到RTOS平臺

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何從0開始創建AWTK應用程序,包括搭建開發調試環境、使用AWTK創建Hello工程并在模擬器上運行、將AWTK應用程序移植到其它平臺。在
    的頭像 發表于 03-21 08:23 ?575次閱讀
    【從0<b class='flag-5'>開始創建</b>AWTK應用程序】編譯應用到RTOS平臺

    基于 NXP S32K311 評估板的方案

    該方案是以 NXP S32K311 芯片為主控制器的評估板方案,S32K311 是基于 ARM Cortex-M7 的嵌入式應用微控制器,有 64 KB 的 Dflash、1 MB 的 Pflash
    的頭像 發表于 02-18 11:22 ?747次閱讀
    基于 NXP <b class='flag-5'>S32K</b>311 評估板的方案

    恩智浦 NXP S32K31x 系列簡介

    、電池管理系統、車身域控制器等。S32K31x的特點ARMCortex-M7內核,頻率最高可達160MHz。符合車規級AEC-Q100標準,耐溫150℃,輸入3V/5
    的頭像 發表于 01-26 08:28 ?1739次閱讀
    恩智浦 NXP <b class='flag-5'>S32K</b>31x 系列簡介

    S32K 進階之旅】 NXP S32K3 以太網 RMII 接口調試(1)

    大聯大世平集團推出了一款基于NXP車規級MCUS32K344的開發板——花名“Cavalry”,它使用BGA257封裝的32位ArmCortex-M7S32K344作為主控芯片,在69.6
    的頭像 發表于 01-18 08:26 ?2243次閱讀
    【<b class='flag-5'>S32K</b> <b class='flag-5'>進階</b><b class='flag-5'>之旅</b>】 NXP <b class='flag-5'>S32K3</b> 以太網 RMII 接口調試(1)

    芯圣SDK工具 讓開發更方便——HC89S103K6

    SDK-HC89S103K6是基于HC89S103K6設計的快速開發工具。SDK-HC89S103K6由HC89S103K6微控制器的主控板和HC-LINKV4.0仿真
    的頭像 發表于 01-10 10:33 ?471次閱讀
    芯圣SDK工具 讓開發更方便——HC89<b class='flag-5'>S103K</b>6

    K8S落地實踐經驗分享

    k8s 即 Kubernetes,是一個開源的容器編排引擎,用來對容器化應用進行自動化部署、 擴縮和管理。
    的頭像 發表于 01-02 11:45 ?1042次閱讀
    <b class='flag-5'>K8S</b>落地實踐經驗分享

    入門篇3基礎開發小安派-Eyes-S1——新建工程燒錄調試

    01 新建工程文件 1、復制helloworld工程 2、將工程移動到AiPi-Open-Kits下 3、修改helloworld文件夾下的Makefile文件 Makefile文件的
    的頭像 發表于 12-12 16:35 ?541次閱讀
    入門篇<b class='flag-5'>3</b>:<b class='flag-5'>零</b>基礎開發小安派-Eyes-<b class='flag-5'>S</b>1——新<b class='flag-5'>建工程</b>并<b class='flag-5'>燒錄</b>調試

    【從0開始創建AWTK應用程序】創建應用程序并在模擬器運行

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何從0開始創建AWTK應用程序,包括搭建開發調試環境、使用AWTK創建Hello工程并在模擬器上運行、將AWTK應用程序移植到其它平臺
    的頭像 發表于 12-01 08:24 ?471次閱讀
    【從0<b class='flag-5'>開始創建</b>AWTK應用程序】<b class='flag-5'>創建</b>應用程序并在模擬器運行