开发板测评系列二 | NXP S32K312 RTD LLD环境搭建及验证

NXP S32K312 RTD LLD环境搭建与验证

RTD统一了MCAL Autosar和SDK非Autosar两种方式,都是通过工具配置资源,前者通过EB Tresos Studio来配置生成初始代码,后者通过S32DS的CT配置生成初始代码。现在不少国外芯片大厂很多都是图形化配置如ST的STM32CubeMX,Reneas的RA Smart Configurator等,不妨先从本文主角S32K312的LLD开发方式入手。

一、环境搭建

需要安装以下软件(请注意:如果是MCAL开发方式,软件安装顺序有讲究):

名称

下载链接

S32 Design Studio 3.6.0

https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=6497301https://nxp.flexnetoperations.com/control/frse/download?element=6443311

SW32K3_S32M27x_RTD_R21-11_5.0.0_D2410_DesignStudio_updatesite.zip

https://nxp.flexnetoperations.com/control/frse/download?element=6441901

其中S32 DS需要license,在注册NXP账号会自动分配。

只需傻瓜式下一步就行,中途会安装Visual C++库。S32DS安装完成后就能进行RTD的安装,可离线安装具体在Help->Install New Software->Add导入SW32K3_S32M27x_RTD_R21-11_5.0.0_D2410_DesignStudio_updatesite.zip或者在线安装具体在Help->S32DS Extensions and Updates:

二、环境验证

RTD安装完成后在RTD/eclipse/plugins目录下有例程,但只有S32K344/S32K358/S32K388/S32K396,直接导入不能保证,故新建工程,点击File->New S32DS Application Project,Processor选择S32K312,建好后需要借助开篇提到的图形化工具进行资源配置比如Pin、Port、MCU等,可右击工程S32 Configuration Tools->Open Tools或者工具栏Pins图标,查看原理图可看到板子有个RGB三色灯,管脚定义如下:

管脚名

管脚定义

LED_RED

PTB10_GPIO42

LED_GREEN

PTB9_GPIO41

LED_BLUE

PTB8_GPIO40

所以不妨勾选PTB8引脚,同时配置系统集成单元SIU为“SIUL2:gpio,40”,模式为“output”,标识符设为自定义“LED_BLUE”,配完后有预览:

         再点击上方的“更新源代码”即可生成C代码,再点击工具栏的“S32DS C/C++”图标切回工程编辑界面,编译可看到生成了很多配置源文件如generate目录,添加端口初始化代码、然后引脚定时翻转,代码如下:

void TestDelay(uint32 delay)

{

    static volatile uint32 DelayTimer = 0;

    while(DelayTimer < delay)

    {

        DelayTimer++;

    }

    DelayTimer = 0;

}



int main(void)

{

    /* Write your code here */

Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS_PortContainer_0_BOARD_InitPeripherals,g_pin_mux_InitConfigArr_PortContainer_0_BOARD_InitPeripherals);

    for(;;)

    {

                   Siul2_Dio_Ip_TogglePins(LED_BLUE_PORT, (1 << LED_BLUE_PIN));

                   TestDelay(5000000);

    }

    return exit_code;

}

点击右下角Dashboard的Build或者工具栏的Build锤子图标就可看到输出窗口日志调用arm-none-eabi-gcc去生成$ProjName.elf,其中刚配置的管脚定义在board/Siul2_Port_Ip_Cfg.h里,端口Port和引脚Dio函数在属于RTD LLD,都在RTD目录下,分别定义在Siul2_Port_Ip.c和Siul2_Dio_Ip.c里:

在Run->Debug Configurations->GDB SEGGER J-Link Debugging->dio_k312_Debug_FLASH_Segger的Deugger右侧标签页设置Device Name为S32K312并设置Jlink目录然后点击Debug就能在线仿真,此时可观察到程序运行蓝灯在不断闪烁:

三、烧录

在线烧录前面已述,离线烧录也可用J-Flash来弄,但S32DS只生成.elf,并没有生成.bin或.hex,可通过右击工程菜单Propertis-》C/C++ Build->Settings->Stool Settings->Standard S32DS Create Flash Image,切换到Intel HEX或Raw binary即可,

然后打开J-Flash就是熟悉的操作(需要较新版芯片列表才有S32K312):

可以看到程序代码不是常规的0x0开始,而是在0x40 0000作为复位矢量。

此文章来自“S32K312 开发板评测活动”测评者:明祥軍 

如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com   作者:WPIg

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值