作者:书友31617792 | 来源:互联网 | 2023-10-13 10:31
这是ARM的内核分布我之前常用的STM32F103系列是Cortex-M1;STM32F407、STM32F429是Cortex-M4系列,而NXP的I.MX6U是C
这是ARM的内核分布
我之前常用的STM32F103系列是Cortex-M1;STM32F407、STM32F429是Cortex-M4系列,而NXP的I.MX6U是Cortex-A7内核。
============================================================================
NXP的SDK
这个 SDK 包就类似于 STM32 的 STD 库或者HAL 库,这个 SDK 包提供了 Windows 和 Linux 两种版本,分别针对主机系统是 Windows 和 Linux。
STM32的是WIN版本,因为编译器环境是在win中,NXP为I.MX6ULL编写的SDK也同样支持WIN,但除此之外其他Cortex-A7系列的其他芯片都只支持LINUX。所以虽然用WIN版本的SDK也能够在I.MX6U上跑程序,但是并不是主流。
安装SDK后,实际想得到的是
fsl_common.h:位置为 SDK_2.2_MCIM6ULL\devices\MCIMX6Y2\drivers\fsl_common.h。
fsl_iomuxc.h: 位置为 SDK_2.2_MCIM6ULL\devices\MCIMX6Y2\drivers\fsl_iomuxc.h。
MCIMX6Y2.h:位置为 SDK_2.2_MCIM6ULL\devices\MCIMX6Y2\MCIMX6YH2.h。
实际上前面做的工作,SDK中都有函数封装好了,这次就是去学习怎么用SDK带的API函数去点亮小灯。
其 中 函 数IOMUXC_SetPinMux 是 用 来 设 置 IO 复 用 功 能 的 ,IOMUXC_SetPinConfig是用来设置IO口的配置的。这两个函数就帮助我们实现了配置IO。
Keeper ,保持就是在内核供电关掉之后,IO的输出能够自动维持在关电之前的那个状态。 Pull就是使能了上拉或者下拉功能
这一章的Makefile和上一章的有所不同,本章采用了变量的方式优化了Makefile,对比来看:
上一章:
本章:
这些变量使用起来和在STM32中一样,使得代码结构清晰也方便移植和修改。