本篇博客记录了自己新建S32DS工程及烧录程序到开发板的过程

  1. 打开S32DS软件
  2. 创建新一个工程
  1. 输入工程名,选择芯片型号以及编译器版本
  2. S32 design studio for arm 激活码 s32 design studio教程_寄存器

  3. 选择SDK
  4. S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_02

  5. 选择调试器Debugger,我这里用的是J-Link故选择Segger,若用的是Multilink则选择PEMicro
  6. S32 design studio for arm 激活码 s32 design studio教程_寄存器_03

  1. 创建好工程以后,进入引脚配置界面,可双击工程中的.mex文件进入,也可通过界面右上角图标进入
  2. S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_04

  3. 配置需要用到的每个引脚的功能和属性,这里使用的是S32K344的T-Box开发板,使用 PTA29/30/31 分别控制红/绿/蓝三种颜色,将这三个引脚复用配置为“SIUL2,gpio”模式,方向选择“output”,初始值均设为“Low”。
  4. S32 design studio for arm 激活码 s32 design studio教程_单片机_05

  5. 在路由详情界面配置 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

S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_06

  1. 点击软件界面右上角的“外设”按键
  2. S32 design studio for arm 激活码 s32 design studio教程_单片机_07

  3. 添加Siul2_Dio外设驱动模块,进行DK 外设驱动程序的初始化配置
  4. S32 design studio for arm 激活码 s32 design studio教程_引脚_08

  5. 更新源代码生成引脚配置代码,这里可以选择想要更新的引脚配置文件和更改引脚配置文件
  6. S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_09

  7. 编写程序
  1. 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
  1. 打开工程的main.c文件,引入引脚配置文件的头文件
  2. S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_10

  3. 在工程的board文件夹的< 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,其他引脚以此类推。

S32 design studio for arm 激活码 s32 design studio教程_寄存器_11

  1. 在< main.c >中添加一个延时函数
  2. 构造主函数,主函数实现功能:红、绿、蓝三色小灯依次闪烁
  • 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端口的电平。

S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_12

  1. 编译程序并烧录到开发板
  1. 点击左上角锤子按钮进行编译,可选择debug或release,FLASH或RAM
  2. 若编译成功,则出现如下界面,并生成.elf文件,如下图所示
  • 注:若安装路径包含中文,则会导致如下结果(悲
  • S32 design studio for arm 激活码 s32 design studio教程_引脚_13

  • 我的解决方法——删了重装,不知道有没有更好的修改软件安装路径的方法,如果大家知道的话还麻烦告诉我:)
  1. 打开调试配置界面。如果没有出现可参照的调试目标,右键 “GDB SEGGER J-Link Debugging”选择“New Configuration”新建调试目标;如果有参考目标可以右键目标选择“Duplicate”。为工程重命名,并将Main窗口中的elf文件路径配置到工程路径。

S32 design studio for arm 激活码 s32 design studio教程_嵌入式硬件_14

  1. 进入Debugger页面,在J-Link Executable栏输入${jlink_path}/${jlink_gdbserver},在GDB Client Setup的Executable栏输入${cross_prefix}gdb${cross_suffix},并选择传输的协议(JTAG/SWD),其它的按默认设置即可。之后按右下角的Debug按钮,即可开始烧录程序并调试。