这是ARM的内核分布

Linux(十)移植I.MX6U SDK

 

我之前常用的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函数去点亮小灯。

Linux(十)移植I.MX6U SDK

其 中 函 数IOMUXC_SetPinMux 是 用 来 设 置 IO 复 用 功 能 的 ,IOMUXC_SetPinConfig是用来设置IO口的配置的。这两个函数就帮助我们实现了配置IO。

Keeper ,保持就是在内核供电关掉之后,IO的输出能够自动维持在关电之前的那个状态。 Pull就是使能了上拉或者下拉功能

这一章的Makefile和上一章的有所不同,本章采用了变量的方式优化了Makefile,对比来看:

上一章:

Linux(十)移植I.MX6U SDK

本章:

Linux(十)移植I.MX6U SDK

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

 

 

 

相关文章:

  • 2022-02-16
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-16
  • 2021-06-27
猜你喜欢
  • 2021-08-15
  • 2021-10-05
  • 2021-06-03
  • 2021-04-30
  • 2022-12-23
  • 2021-04-15
  • 2021-07-21
相关资源
相似解决方案