Linux(十)移植I.MX6U SDK

这是ARM的内核分布

Linux(十)移植I.MX6U SDK_第1张图片

 

我之前常用的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,对比来看:

上一章:

Linux(十)移植I.MX6U SDK_第2张图片

本章:

Linux(十)移植I.MX6U SDK_第3张图片

这些变量使用起来和在STM32中一样,使得代码结构清晰也方便移植和修改。

 

 

 

你可能感兴趣的:(linux)