1471810_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1471810_zh-CN

1471810_zh-CN

操作指南:在没有 AUTOSAR 的情况下使用 S32K1xx RTD 创建一个闪烁 LED 的示例项目

本文档展示了使用S32K1xx RTD和S32配置工具创建简单“闪烁LED”应用的分步流程。此示例适用于通过USB(OpenSDA)连接到PC的S32K144EVB-Q100 EVB。


准备工作

  1. 设置软件工具
    1. 安装 S32 Design Studio for S32 Platform
    2. 安装S32K1xx开发包和S32K1 RTD AUTOSAR 4.4。这两个组件都是S32配置工具所必需的。
      image.pngimage.png
  2. 启动 S32 Design Studio for S32 Platform

流程

  1. 新的 S32DS 项目
    image.pngimage.png
    或者
    image.pngimage.png
  2. 请为项目命名,例如“Blinking_LED_RTD_No_AUTOSAR”。名称必须输入时不含空格字符。
  3. 扩展 S32K1xx 系列,选择 S32K144
  4. 在工具链下,选择NXP GCC 9.2
  5. 单击下一步image.pngimage.png
  6. 点击“…”按钮旁边的SDK
    image.pngimage.png
  7. 选中 PlatformSDK_S32K1_2022_02_S32K144_M4F 旁边的复选框。单击确定image.pngimage.png
  8. 点击 “Finish”。等待项目生成向导完成,然后在项目资源管理器视图中展开项目以显示内容。
    image.pngimage.png
  9. 要控制电路板上的 LED,需要在 Pins Tool 内执行一些配置。有几种方法可以做到这一点。一种简单的方法是双击MEX文件。image.pngimage.png
  10. 默认情况下,系统会显示引脚工具。对于闪烁LED的示例,必须将一个引脚配置为输出。S32K144 EVB 板载一个 RGB LED,每种颜色分别连接到 S32K144 器件的一个独立引脚。蓝色 LED 对应的目标引脚是 PTD0。在标准 Pins 工具视图的左上方,从 Peripheral Signals 选项卡中找到 PORTD,然后定位 PTD0 并勾选其旁边的复选框。image.pngimage.png
  11. 方向设置要求!菜单将会出现。选择输出,然后点击“确定”。

    image.pngimage.png

  12. 在“Routing Details”视图中,请注意已添加一条新行并以黄色突出显示。image.pngimage.png
  13. 将“LED”添加到 PORTD 0 引脚的 Label 和 Identifier 列。image.pngimage.png
  14. 请注意以下视图中出现的更改:
    1. 外设信号
    2. 软件包image.pngimage.png
    3. 代码预览image.pngimage.pngimage.pngimage.png
  15. 转到 Peripherals 工具并添加 Gpio_Dio。
    1. 单击 Eclipse Perspective 导航栏中的“外设工具”图标。image.pngimage.png
    2. 在“组件”视图中,点击“驱动程序”类别中的“添加新配置组件…”按钮。这将显示一个非 AUTOSAR 组件的列表。image.pngimage.png
    3. 在列表中找到并选择‘Gpio_Dio’组件,然后点击确定。请不要担心警告信息。这仅表示该驱动程序尚未成为当前项目的一部分。相关的驱动程序包将被自动添加。image.pngimage.png
  16. Gpio_Dio 驱动程序不需要进一步配置。点击保存以将所有更改保存到.MEX文件中。image.pngimage.png
  17. 现在设备配置已完成,可以生成RTD 配置代码。从菜单栏中点击“更新代码”。image.pngimage.png
  18. 要控制刚刚配置的输出引脚,需要编写一些应用代码。返回 “C/C++” 透视图。
    image.pngimage.png
  19. 如果尚未打开,在项目窗口中点击 “src” 文件夹旁边的 “>” 以显示内容,然后双击 “main.c” 文件将其打开。应用代码将添加到此处。
    image.pngimage.png
  20. 在执行其他操作之前,首先初始化时钟驱动。在 main 函数中 "Write your code here" 注释后插入以下代码:Clock_Ip_InitClock(Clock_Ip_aClockConfig);image.pngimage.png
  21. 在引脚可以被控制之前,需要使用从 S32 配置工具生成的配置信息进行初始化。使用 Port 驱动初始化所有引脚,添加以下代码:Port_Ci_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0);image.pngimage.png
  22. 通过在开关之间加入延迟,交替开启和关闭引脚,使LED灯闪烁。使延迟时间足够长,以便能够察觉。在提供的for 循环中,添加以下代码行:Gpio_Dio_Ip_WritePin(LED_PORT, LED_PIN, 1U);delay(720000);Gpio_Dio_Ip_WritePin(LED_PORT, LED_PIN, 0U);delay(720000);image.pngimage.png
  23. 在 'main' 函数之前,添加一个 delay 函数,如下所示:voiddelay(volatileint cycles){     /* 延迟函数 - 在多个周期内不执行任何操作 */     while(cycles--);}image.pngimage.png
  24. 请更新 main.c 顶部的 includes 行文件以包含应用程序中使用的驱动程序的头文件:删除#include “Mcal.h”添加#include "Port_Ci_Port_Ip.h"#include "Gpio_Dio_Ip.h"#include "Clock_Ip.h"image.pngimage.png
  25. 构建 “Blinking_LED_RTD_No_AUTOSAR”。在 “C/C++ Projects” 视图中选择项目名称,然后按下 “Build”。
    image.pngimage.png
  26. 构建完成后,检查是否有错误。
    image.pngimage.png
  27. 打开调试配置并选择“Blinking_LED_RTD_No_AUTOSAR_Debug_FLASH”。请确保选择与所执行的构建类型相匹配的配置,否则如果构建输出不存在,可能会报告错误。image.pngimage.pngimage.pngimage.png
  28. 确认 EVB 已通过 USB 数据线连接至 PC,然后检查调试器选项卡设置,确保“OpenSDA 嵌入式调试 - USB 端口”已被选中作为接口。image.pngimage.png
  29. 点击 “Debug”
  30. 要查看 LED 闪烁,点击 “Resume”
    image.pngimage.png
回复:如何使用S32K1xx RTD(不带 AUTOSAR)创建一个闪烁 LED 示例项目

那么,你添加了 LPUART、GPIO 等驱动后,如何知道如何调用生成的代码来初始化它们?换言之,即如何知道(或在哪里可以查到)应该使用 Port_Ci_Port_Ip_Init 来初始化 GPIO 端口?以及如何知道(或在哪里可以查到)配置时钟需要调用 Clock_Ip_InitClock?

Andy

Tags (1)
No ratings
Version history
Last update:
‎01-05-2026 02:11 AM
Updated by: