前言:
本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
引用:
正点原子IMX6U仓库 (GuangzhouXingyi) - Gitee.com
i.MX 6 Series Applications Processors | Multicore Arm Cortex-A7/A9/M4 | NXP Semiconductors
i.MX 6ULL Applications Processor | Single Arm® Cortex®-A7 @ 900 MHz | NXP Semiconductors
ARM家族_cypress dhrystone-CSDN博客
正文:
正点原子[第二期]Linux之ARM(MX6U)裸机篇--第五讲的读书笔记。
1. NXTP I.MX6U 处理器
本节介绍正点原子 I.MX6 开发板 ALPHA 和 Mini ,核心板所使用的ARM 芯片是 NXP 公司的 I.MX6ULL 处理器。处理器 I.MX6U 原理是飞思卡尔公司的芯片产品,后来飞思卡尔公司被 NXP 收购之后, I.MX6U 处理器就成为了现在 NXP 公司的产品线。
在 NXTP 公司的官方网站上可以查到 I.MX6U 芯片的文档手册和相关资料。
i.MX 6ULL Block Diagram
2. I.MX6U 处理器家族
I.MX6U 处理器在NXP官网上是一个处理器家族,除了正点原子 I.MX6U ALPHA/Mini 开发板所使用的 “I.MX6ULL” 处理器之外,还有其他的一些 I.MX6U 的处理器,这些处理器的主要区别就是芯片上的片载硬件资源的差异。
正点原子 I.MX6 开发板 ALPHA 和 Mini 核心开发板使用的是 "I.MX6ULL" 处理器,我们需要找到I.MX6ULL 处理器的芯片数据手册,其中描述了 I.MX6ULL 处理器的每个寄存器的用途和使用方式,后续在进行正点原子 I.MX6 开发板 ALPHA 和 Mini 核心开发板驱动开发实验时一定会用到这些寄存器。
3. I.MX6ULL 数据手册
NXP I.MX6ULL 数据手册 可以从NXP官网上下载,I.MX6ULL 数据手册(Data Sheet)分为消费机数据手册和工业级数据手册,对于我们写使用正点原子开发版的初学者而言,两者的区别对于我们没有什么影响。
i.MX 6ULL Applications Processor | Single Arm® Cortex®-A7 @ 900 MHz | NXP Semiconductors
点击查看数据手册 Data Sheet
https://www.nxp.com.cn/docs/en/data-sheet/IMX6ULLIEC.pdf
数据手册比较小。
4. I.MX6ULL 参考手册
I.MX6ULL 编程手册《i.MX 6ULL Applications Processor Reference Manual》是编程参考手册,编程参考手册里提供了 I.MX6ULL 芯片的寄存器地址,寄存器功能的描述。这个手册在NXP官网下载需要注册,可以从正点原子提供的资料里找到这份文档,方法见下面第5小结。
5. ARM-A7 手册
在正点原子第5讲提到,除了NXP I.MX6ULL 的手册之外,做ARM的裸机编程用到的 ARM 汇编语言需要查阅 ARM 的指令手册。因为正点原子I.MX6 开发板 ALPHA 和 Mini 使用的NXP I.MX6ULL 芯片的指令集是 Arm Cortex-A7 Core 核心。
在正点原子第5讲视频里提到,NXP I.MX6ULL 的编程手册 "Apllication Note",和 ARM Cortex-A7 参考手册放在附带光盘里,现在的最新的台式机电脑和笔记本PC都已经不带光驱了,所以购买正点原子开发板时就没有再附赠相关资料光盘了。
正点原子现在把这些资料放在了正点原子的资料网站了,可以通过正点原子网站提供的百度云盘链接现在光盘的资料内容。
i.MX6ULL Linux阿尔法开发板 — 正点原子资料下载中心 1.0.0 文档
在正点原子的 “阿尔法Linux开发板(A盘)-基础资料”,里可以找到
ARM处理器家族的发展历史,可以参考如下链接。
ARM家族_cypress dhrystone-CSDN博客
一、ARM发展史
ARM的前身为艾康电脑(Acorn),于1978年,于英国剑桥创立。
1985年开发出全球第一款商用RISC处理器,即ARM1。
1990年艾康电脑财务危机,受苹果和VLSI的投资,分割出独立子公司Advanced RISC Machines (ARM) ,ARM公司正式成立面世。
1991年,ARM推出第一款嵌入式RISC处理器,即ARM6。
1993年,发布ARM7。
1997年,发布ARM9TDMI。
1999年,发布ARM9E。
2001年,发布ARMv6架构。
2002年,发布ARM11微架构。
2004年,发布ARMv7架构的Cortex系列处理器,同时推出Cortex-M3。
2005年,发布Cortex-A8处理器。
2007年,发布Cortex-M1和Cortex-A9。
2009年,实现Cortex-A9、发布Cortex-M0。
2011年,推出Cortex-A7,ARMv8发布。
2012年,开始64位处理器进程。
————————————————
原文链接:https://blog.csdn.net/Meteor_s/article/details/81221093
6. I.MX6ULL 寄存器
对于I.MX6ULL查看管脚复用的步骤:
- 打开I.MX6ULL参考手册
- 找到32章,IO复用章节
- 查找对应的管脚
基本上每一个管脚(IO)都有两个寄存器,一个寄存器是配置管脚的复用模式,另一个寄存器是配置管脚的电气特性。例如,对于I.MX6ULL参考手册中管脚 'IOMUXC_SNVS_SW_MUX_CTL_PAD_BOOT_MODE0' 寄存器控制控制管脚的复用模式,寄存器 'IOMUXC_SNVS_SW_PAD_CTL_PAD_BOOT_MODE0'。
6.1 什么是 MCU 的管脚PAD?
如下参考链接的解释,Pin 是芯片外部用户可以看到的引脚;Pad 被封装在环氧树脂内的芯片晶粒上的IO管脚,用户看不到。一般看到的MCU芯片都是黑色扁平的外形,这个黑色的封装就是环氧树脂,环氧树脂内部包括这一个硅裸晶粒,这个晶粒才是芯片的本体。所以我们可以简单理解为 ‘PAD’ 就是MCPU芯片的一个IO管脚。
芯片资料中的pad,pin,bump_芯片bump和pad的区别-CSDN博客
6.2 什么是 IO 复用?
如果只是接触了51单片机,没有接触过 STM32 也就不知道IO复用概念。学习STM32可以给你建立一个复杂MCU的概念。
-- 正点原子Linux之ARM逻辑编程视频第五讲