详解S32K144-NXP EB tresos MCU驱动配置

S32K144平台 MCAL MCU驱动 在EB中的相关配置解析以及实战。

多图预警!!!!!!!!!

MCUGeneral配置参数

①Mcu Development Error Detect:Mcu模块开发错误检测使能。

②Mcu Get Ram State API:获取RAM状态API使能。

③Mcu Init Clock API:初始化时钟API使能。

④Mcu No PLL:锁相环禁用。

⑤Mcu Enter Low-Power Mode:进入低功耗模式使能。

⑥Mcu Perform Reset API:执行复位API使能等。

MCURestReasonConf

导致MCU复位的原因有很多,如果硬件允许,Mcu模块可以获取复位的原因。McuResetReasonConf配置可以添加不同的Mcu复位原因。

McuModuleConfiguration配置

这个是重点的重点

第一步:McuModuleConfiguration→General配置

这里要对应着S32K144微控制器的时钟数来理解,比如这个RTC时钟32K

第二步:McuModuleConfiguration→McuClockSettingConfig配置

进入界面,点击+号添加 McuClockSettingConfig配置

进入McuModuleConfiguration→McuClockSettingConfig→General配置

注意这个General可不是上面那个MCU的General,而是你刚刚添加的一个时钟配置。

从上图你可以看到时钟配置有三个模式:Run\VLpr\Hsrun,可以简单理解为正常运行\超低功耗运行\超高速运行,每种模式对应的最高频率是不一样的。

这是竖着看,横着看你还会发现多出来了很多的标签栏:SOSC\SIRC\FIRC\PLL\SIM\PCC

这些都是对应的时钟,进入不同的标签栏下面,就是配置不同的时钟。

实例:SOSC,8M晶振通过PLL倍频变成80MHz

比如我们要使用外部时钟SOSC,8M晶振通过PLL倍频变成80MHz的内核时钟:

一般先看时钟树,需要配置什么参数:

然后进入到SOSC标签栏对其进行配置:

然后进入PLL标签栏下:输入倍频系数40,40*8=320M(图里写错了)/2=160M,再二分频就是80M,完美!!!

到这一步算是完成了系统时钟与锁相环,下一步就是对输出时钟进行全局的配置!

进入McuPeripheralClockCof标签栏下:一定要点这个小人,把所有都添加上,代表所有的外设我都分配好时钟了,没落下的。(一定要!!!不然报错!!!)

然后进入McuClockReferencePoint标签栏,这里你可以理解为映射可将外设时钟通过McuClockReferencePoint与其他BSW模块联系起来。

添加你需要的,还可以自己命名,用于什么用途就怎么改。

这个时候你会发现,哎呀这个RUN_SYS_CLK是啥呀?

还记得前面说的MCU三种模式下的频率嘛,进入General下选择SPLL也就是咱们前面配置的PLL输出时钟。

完美!!!!!!

到这里可以说你的时钟配置就完成了,之后你添加什么外设或者什么驱动,别忘记到进入McuClockReferencePoint标签栏把该对应的都对应上就可以了。

重点还是要了解MCU的时钟树,以及相关的外设,软件的操作与配置属于层面,对时钟的理解是层面。

对了还有一些API函数也要了解一下:

MCU API接口函数

Mcu_Init;

Mcu_InitClock;

Mcu_GetPllStatus(若使用PLL,直到PLL锁相环配置成功);

Mcu_DistributePllClock(若使用PLL);

Mcu_InitRamSection(按照具体需求,可不调用)

总结

细节真的很多,有些东西稍不注意就忘记了,而且EB这个软件设计上也是,很多相关的配置参数使能,非要隔这么远在不同的标签栏下,一不小心就忽略了,错误也不好排查,很吃熟练度和经验。

物联沃分享整理
物联沃-IOTWORD物联网 » 详解S32K144-NXP EB tresos MCU驱动配置

发表评论