目录
- 一. 环境与软件准备
- 二. 在S32DS中新建工程
- 2.1 新建工程
- 2.2 芯片选择
- 2.3 编译
- 三. 集成MCAL
- 3.1 MCAL集成
- 3.2 startup.s修改
- 3.3 编写主函数与调试
一. 环境与软件准备
主要需要三个软件:
S32 Design Studio (S32DS):NXP主推的IDE,我们用它来编译和调试。
EB tresos Studio:经典的AUTOSAR配置工具,MCAL的配置主要靠它。
S32K1xx MCAL:NXP官方发布的MCAL驱动包。
注意:以上软件均可在NXP官网下载,需要注册账
号。注意选择S32K系列对应的Real-Time Drivers (RTD) 或 经典的MCAL包。
二. 在S32DS中新建工程
2.1 新建工程
新建工程,选择S32DS Application Project。
2.2 芯片选择
这里以S32K118芯片为例,填写工程名称,工程路径,选择S32K118,点击Next。
2.3 编译
完成工程创建,成功编译工程。
三. 集成MCAL
3.1 MCAL集成
找到Mcal安装路径下.\eclipse\plugins中的如下文件为Mcal静态代码包
每个模块下需要include和src文件,选择需要的模块(其中Rte和Base模块必须),复制到刚刚创建好的S32DS工程中
新建Mcal文件夹,复制静态代码:将EB生成的配置代码放入S32DS工程中
最小工程只需要Base、Dio、Mcu、Port模块:
3.2 startup.s修改
官方提供的启动文件可能导致无法正常跳转main函数,建议修改。
删除:
#ifndef__START#ifdef__EWL__#define__START__thumb_startup#else#define__START_start#endif#endifbl __START在Init .data and .bss sections最后增加bl main:
#ifndef__NO_SYSTEM_INIT/* Call the system init routine */ldr r0,=SystemInit blx r0#endif/* Init .data and .bss sections */ldr r0,=init_data_bss blx r0 cpsie i/* Unmask interrupts */bl main/*跳转main*/JumpToSelf:b JumpToSelf.pool.size Reset_Handler,.-Reset_Handler3.3 编写主函数与调试
- 编写应用代码
删除原工程中main函数,编写测试函数,这里将周期翻转PTC6引脚电平:
#include"S32K118.h"#include"Mcu.h"#include"Port.h"#include"Dio.h"intmain(void){Mcu_Init(&Mcu_Config);Mcu_InitClock(0U);Port_Init(&Port_Config);while(1){Dio_WriteChannel(DioConf_DioChannel_PTC_6,STD_HIGH);TestDelay(1000);Dio_WriteChannel(DioConf_DioChannel_PTC_6,STD_LOW);TestDelay(1000);}}- 编译与下载测试
打开工程配置,找到Settings添加头文件:
编译:
打开Debug配置,添加调式配置:
运行代码,PTC6脚波形如下,最小Mcal工程搭建成功:
如果觉得本文对你有帮助,欢迎点赞、收藏、评论交流!
下一篇预告:《S32K1xx MCAL开发:Port/Dio模块配置》