S32G2汽车网关开发(三):点亮LED(M7裸机,异核启动)

本文我将通过NXP S32G274ARDB2开发板的LED,分别使用裸机程序,异核启动介绍M7程序的运作方式和构建方法与注意事项。

一. 板载LED介绍

        在NXP S32G274ARDB2开发板上,使用的是RGB LED灯,使用的IO口分别是GPIO6,GPIO7和GPIO95。

 特别需要注意的是,使用这个RGB LED灯时,需要将SW11开关设置为ON,默认是OFF,使用的是J5接口。

二. M7裸机程序

2.1 配置环境        

使用M7裸机程序点亮LED的方式较为简单,使用S32DS软件即可进行配置,首先从NXP官网下载S32G2相关SDK(包括S32G2sdk包,RTD包),随后在S32DS->Help->Install new software->add->archive中选择下载好的SDK并确认安装。

2.2 新建工程

新建application工程,选择S32G274A_Rev2 Cortex-M7

为M7_0核心选择SDK

2.3 编写程序

新建完成后,点击pins组件,勾选siul2,gpio6,7,95.

        打开外设组件,在drivers中添加osif_1, Siul2_Dio, Siul2_Port_1

 随后点击生成代码并应用。在主函数中添加

Clock_Ip_Init(Mcu_aClockConfigPB);
Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0,g_pin_mux_InitConfigArr0);
Siul2_Dio_Ip_WritePin(PTA,6,0);
Siul2_Dio_Ip_WritePin(PTA,7,0);
Siul2_Dio_Ip_WritePin(PTF,15,0);

 随后进入project->properties->c/c++ build->settings->cross settings选择creat flash image,

 随后在standard S32DS create flash image->general->Output file format中选择Raw binary,目的是生成.bin文件,方便之后使用IVT工具制作镜像。

 随后编译工程,会生成xxx.bin文件

2.4 制作镜像

打开IVT工具,选择BOOT_TARGET为M7_0,在Boot device type中选择目标存储介质,随后将除application bootloader的镜像表均置为reserved,随后在application bootloader中导入之前编译生成的.bin文件,在RAM start pointer中填入RAM的起始地址,S32G2的 SRAM起始地址为0x34000000;在RAM entry pointer中填入RAM的入口地址,在工程的map文件中搜索intc_vector可快速找到入口地址,这里为0x34207000。

 填好后点击导出blob镜像,生成最终的可执行文件。

2.5 调试结果

我这里选择的是emmc启动方式,所以最后使用flashtool烧写到emmc中,调成emmc启动方式,上电即可直接点亮led。

三. 异核启动M7

        该部分讲解如何使用s32g uboot中自带命令“startm7”,启动M7核心,运行可执行文件点亮LED。

3.1 配置工程

        在配置工程方面和上一部分裸机代码基本一致,除了需要注意在这里我们需要注释掉MCU的初始化时钟部分,否则在使用startm7命令时会卡死。

随后编译生成.bin文件

3.2  Uboot命令

        在Uboot命令行中,我们输入以下指令:

1. 首先先清空SRAM中的内容 -> initsram 0x34000000 0x700000

2. 随后从SD卡中将.bin文件读取到SRAM起始地址中 -> fatload mmc 0:1 0x34000000 xxx.bin

3. 最后使用startm7命令,后面的地址是是RAM的入口地址,同样是在map文件中找到。 

3.3 调试结果

        将镜像读到SRAM中时LED灯未有变化

         在使用startm7命令之后,M7启动,镜像运行,LED点亮

        以上为两种点亮LED,入门开发板的介绍。 

NXP S32G2开发涉及使用M7裸机程序点亮LED,配置U-Boot引导加载程序,使用Linux BSP包含的内映像和根文件系统。首先需要从NXP官网下载S32G2相关SDK,包括S32G2sdk包和RTD包。然后在S32DS软件中进行配置,可以通过S32DS的帮助菜单找到安装新软件的选项,选择之前下载好的SDK进行安装。接下来可以新建工程开始开发。U-Boot引导加载程序支持SD/MMC/eMMC和QSPI,而Linux内映像基于Linux v5.10.41预编译,根文件系统包含了NXP库。具体操作可以参考官方文档提供的步骤和命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [S32G2汽车网关开发):点亮LED(M7裸机启动)](https://blog.csdn.net/qq_64043757/article/details/130536342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [NXP S32G2开发](https://blog.csdn.net/usstmiracle/article/details/125300939)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值