大大通——大联大线上技术支持平台&方案知识库前言大家好,又见面了。前文我们详细介绍了 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_srcoutput buffer enable:寄存器位mscr_obepad keep enable:寄存器位mscr_pkedriver strength field:寄存器位mscr_dseinitial value:寄存器位gpdo_pdo
点击界面右上角的“外设”按键或者在菜单栏找到“配置工具”并点击“外设”,按下图步骤添加 siul2_port 和 siul2_dio 两组外设驱动模块,进行 sdk 外设驱动程序的初始化配置。
点击“更新源代码”生成引脚配置代码,你可以点击“更改”来查看生成代码的更新,并勾选你想要更新的文件。
3. 编写程序s32ds ct 生成的文件结构siul2_port 相关的驱动代码文件:rtd\include\siul2_port_ip_types.hrtd\include\siul2_port_ip.hrtd\src\siul2_port_ip.csiul2_port包含引脚配置结构的文件:board\siul2_port_ip_cfg.hboard\siul2_port_ip_cfg.csiul2_dio 相关的驱动代码文件:rtd\include\siul2_dio_ip.hrtd\src\siul2_dio_ip.csiul2_dio 包含引脚配置结构的文件:generate\include\siul2_dio_ip_cfg.h打开 siul2_toggleled_s32k344 工程的c 文件,引入相关的头文件添加一个延时函数
在 中我们可以找到下图所示的宏定义,这是因为我们在配置 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 各模块应用,也是对自己的学习过程做一个总结(不定期更新 =_=),如果有任何问题欢迎在博文下方留言,我们下次继续~
ADI通过现有连接器设施来实现高清视频
插入式浪涌保护器
手机零组件涨价 手机市况雪上加霜
嵌入式Linux的入门,开发嵌入式需要大量辅助软件
用六反相器制作的DC/DC变换电路,cmos dc-dc converter
【S32K 进阶之旅】S32K3 RTD LLD 从零开始创建工程及烧录
卫星与民用通信:高轨、低轨并用全覆盖
iphone8什么时候上市?iphone8最新消息:十周年良心巨制iPhone8,预测将达到史上最贵
vivo的首款全面屏手机vivox20今晚正式发布:vivox20外观、配置、价格提前看,鹿晗邀请你一起看发布会
组织研磨仪的具体操作步骤是怎样的
如何利用间接电流模式仪表放大器放大具有大直流偏移的交流信号
LED小间距屏幕怎么选?
AI人才炙手可热 数据科学家和机器学习工程师出现大缺口
机器学习英雄访谈录之DL实践家:Dominic Monn
PCBA加工波峰焊连锡的原因及改善措施
揭秘谷歌:X实验室,一年烧钱40亿,却诞生了全球最疯狂的科技
骄傲!中国空间技术研究院通信卫星及地面站被印在外国货币上
安规电容是什么以及它的主要参数介绍
龙芯中科与工商银行将在信息技术应用创新领域开展战略合作
英特尔CEO帕特·基辛格:融合五大超级技术力量,与中国共建数字世界