3. i.MX系列芯片简介¶
本章简要介绍一下为什么我们采用i.MX系列应用处理器进行讲解,使用该系列芯片学习Linux开发有什么优势。
3.1. i.MX8系列应用处理器¶
i.MX8应用处理器包括i.MX8、i.MX8M、i.MX 8M Mini、i.MX 8M Plus、i.MX 8ULP等处理器,被广泛应用于工业控制、 汽车电子领域,久经市场考验。而且它的产品线非常丰富, 用户熟悉其中一款产品后就能非常方便地迁移至不同的平台。它们的前身是Freescale旗下的产品, 目前属于NXP公司,所以在查阅资料和代码时,在看到Freescale的一些标签时不要奇怪。 NXP承诺对这些产品供货周期持续10年以上。学习应用处理器的驱动程序开发时, 芯片原厂的技术支持是非常重要的,NXP官方提供的资料包含uboot、Linux内核的Yocto定制示例工程, 完善的裸机SDK软件库等,相比之下部分芯片厂商甚至连寄存器手册都遮遮掩掩, 个人难以获取,这无疑提高了学习的门槛。
所以应用领域广泛、产品供货稳定、官方支持的资料丰富,这是我们选择它们作为学习平台的原因。
其中i.MX8系列应用处理器包含基于Cortex的双核和四核系列的的产品,其架构有Cortex-A35,Cortex-A53以及Cortex-A72,并且有些型号采用Cortex-A核+Cortex-M核的双核心方案。 芯片主频有1.6GHZ和1.8GHz,该系列主要应用在车载多媒体系统、数字标牌电子阅读 器、人机界面、物联网网关、智能工业控制、高级音频、语音和视频系统等的领域,在物联网推进的大潮下, 该芯片定有一番作为。
本书讲解主要采用的是i.MX 8M Mini处理器,它包含四个Cortex-A53内核以及一个Cortex-M4核,A核主频1.6Hz或1.8GHz, 具体芯片的特性可参考下图——i.MX8MM的命名规则图说明进行区分。
如野火I.MX8MMini板卡主控型号为MIMX8MM6CVTKZAA,对应参数如下:
其芯片资源如下图:
如果想了解IMX8或者其他系列处理器可以访问:NXP官网
3.1.1. Cortex A53内核简介¶
Cortex-A53是英国ARM公司推出的一款基于ARMv8架构的64位处理器核心。它是ARM Cortex-A系列中性能和功耗平衡最好的一款处理器核心, 广泛应用于入门级和中端智能手机、平板电脑、物联网设备、智能电视等嵌入式系统。
采用了ARMv8-A指令集体系结构,支持虚拟化技术和硬件加密功能, 并提供了多种优化技术,如NEON SIMD指令集和大页表等,以提高处理器的性能和功耗效率。
采用了多种功耗管理技术,如big.LITTLE技术、动态电压调节(DVC)、 动态频率调节(DFR)等。big.LITTLE技术可以将两个不同性能级别的处理器核心结合起来,以实现更好的功耗控制和性能平衡;DVC和DFR技术可以根据处理器的负载 情况调整电压和频率,以达到更好的功耗控制效果。
3.2. i.MX RT系列¶
NXP针对MCU(微控制器)的应用场景,推出了i.MX RT系列跨界处理器, 该系列下又包括i.MX RT1020、i.MX RT1050及i.MX RT1060等子系列芯片。所谓“跨界”, 是指它自身的定位既非传统的应用处理器也非传统的微控制器。
它在i.MX6的MPU(应用处理器)平台之上把其Cortex-A内核换成Cortex-M内核, 使得它具备了应用处理器的高性能及丰富的功能,又具备传统微控制器的易用、实时及低功耗的特性。
如果大家觉得学习Linux开发太过复杂,可以先学习一下i.MX RT系列微控制器的应用, 因为除了内核,在外设等方面可以说是完全一样,而开发i.MX RT系列微控制器的应用与传统MCU无异, 熟悉了i.MX RT系列芯片之后,基本可以跳过i.MX6裸机程序开发的环节,再学习i.MX6时, 仅专注于Linux相关知识即可。
针对i.MX RT系列芯片应用,野火电子提供了非常详细的教程,覆盖裸机至实时操作系统及LwIP应用的教程:
对于学习Linux依然心怀忐忑,希望学习MCU过渡的读者,这些是非常适合的教材。具体资料下载地址请参见链接: https://ebf-products.readthedocs.io/ 。
(图片来源:周星驰 电影《功夫》)
(图片来源:周星驰 电影《功夫》)