01_I.MX6U芯片简介
目录
I.MX6芯片简介
Corterx -A7架构简介
Cortex-A处理器运行模型
Cortex-A 寄存器组
IMX6U IO表示形式
I.MX6芯片简介
ARM Cortex-A7内核可达900 MHz,128 KB L2缓存。
并行24bit RGB LCD接口,可以支持1366*768分辨率。
3.8/10/16位 并行摄像头传感器接口(CSI)。
4. 2个MMC 4.5/SD 3.0/SDIO 接口
5. 2个USB 2.0 OTG, HS/FS, Device or Host with PHY.
6.音频接口3x 12S/SAI, S/PDIF Tx/Rx.
7.2个IEEE802.3标准10/100Mbps以太网接口。
8. 多达8个UART接口。
9.2个12-bit ADC最高支持10个输入通道,支持电阻触摸屏(4/5线)。
10,安全模块: TRNG, Crypto Engine(AES with DPA, TDES/SHA/RSA), Secure Boot。
Corterx -A7架构简介
Cortex-A7 MPcore处理器支1-4核,通常是和Cortex-A15组成big.LITTLE架构的,Cortex-A15 作为大核负责高性能运算,比如玩游戏啥的,Cortex-A7负责普通应用,因为 CortexA7省电。Cortex-A7本身性能也不弱,不要看它叫做Cortex-A7但是它可是比Cortex-A8性能要强大,而且更省电。ARM官网对于Cortex-A7的说明如下:
“在 28nm 工艺下,Cortex-A7可以运行在1.2-1.6GHz,并且单核面积不大于 0.45mm2(含有浮点单元、NEON和 32KB的 L1缓存),在典型场景下功耗小于100mW,这使得它非常适合对功耗要求严格的移动设备,这意味着Cortex-A7在获得与Cortex-A9相似性能的情况下,其功耗更低”。Cortex-A7 MPCore支持在一个处理器上选配1-4个内核, Cortex-A7 MPCore多核配置如图:
Cortex-A7MPCore的L1可选择8KB, 16KB, 32KB, 64KB, L2Cache可以不配,也可以选择 128KB、256KB、512KB、1024KB。IMX6UL 配置了 32KB 的 L1 指令 Cache 和 32KB 的L1数据Cache,以及128KB的L2Cache。 Cortex-A7MPCore使用ARMv7-A架构,主要特性如下:
1.SIMDv2扩展整形和浮点向量操作。
2.提供了与ARM VFPv4体系结构兼容的高性能的单双精度浮点指令,支持全功能的IEEE754
3.支持大物理扩展(LPAE),最高可以访问40位存储地址,也就是最高可以支持1TB的内存。
4.支持硬件虚拟化。
5.支持Generic Interrupt Controller(GIC)V2.0。
6.支持 NEON,可以加速多媒体和信号处理算法。
Cortex-A处理器运行模型
以前的ARM 处理器有7中运行模型:User、FIQ、IRQ、Supervisor(SVC)、Abort、Undef和System,其中User是非特权模式,其余6中都是特权模式。但新的Cortex-A 架构加入了TrustZone安全扩展,所以就新加了一种运行模式: Monitor,新的处理器架构还支持虚拟化扩展,因此又加入了另一个运行模式; Hyp,所以Cortex-A7处理器有9种处理模式,如表
在表中,除了User(USR)用户模式以外,其它8种运行模式都是特权模式。这几个运行模式可以通过软件进行任意切换,也可以通过中断或者异常来进行切换。大多数的程序都运行在用户模式,用户模式下是不能访问系统所有资源的,有些资源是受限的,要想访问这些受限的资源就必须进行模式切换。但是用户模式是不能直接进行切换的,用户模式下需要借助异常来完成模式切换,当要切换模式的时候,应用程序可以产生异常,在异常的处理过程中完成处理器模式切换。当中断或者异常发生以后,处理器就会进入到相应的异常模式种,每一种模式都有一组寄存器供异常处理程序使用,这样的目的是为了保证在进入异常模式以后,用户模式下的寄存器不会被破坏。
STM32 和 UCOS、FreeRTOS就会知道,STM32 只有两种运行模式,特权模式和非特权模式,但是Cortex-A就有9种运行模式。
Cortex-A 寄存器组
ARM 架构提供了16个32 位的通用寄存器(RO-R15)供软件使用,前15个(RO-R14)可以用作通用的数据存储,R15是程序计数器PC,用来保存将要执行的指令。ARM 还提供了一个当前程序状态寄存器 CPSR 和一个备份程序状态寄存器 SPSR,SPSR 寄存器就是 CPSR 寄存器的备份。这18个寄存器如图所示:
Cortex-A7有9种运行模式,每一种运行模式都有一组与之对应的寄存器组。每一种模式可见的寄存器包括15个通用寄存器(RO-R14)、一两个程序状态寄存器和一个程序计数器PC。在这些寄存器中,有些是所有模式所共用的同一个物理寄存器,有一些是各模式自己所独立拥有的,各个模式所拥有的寄存器如表所示:
从图中浅色字体的是与User模式所共有的寄存器,蓝绿色背景的是各个模式所独有"的寄存器。可以看出,在所有的模式中,低寄存器组(R0-R7)是共享同一组物理寄存器的,只是一些高寄存器组在不同的模式有自己独有的寄存器,比如FIQ模式下 R8-R14是独立的物理寄存器。假如某个程序在FIQ模式下访问R13寄存器,那它实际访问的是寄存器R13_fiq,如果程序处于 SVC 模式下访问R13 寄存器,那它实际访问的是寄存器 R13_svc。总结一下,CortexA 内核寄存器组成如下:
1.34个通用寄存器,包括R15程序计数器(PC),这些寄存器都是32位的。
2.8个状态寄存器,包括CPSR和SPSR。
3.Hyp模式下独有一个ELR_Hyp寄存器。
IMX6U IO表示形式
STM32,管脚名字: PAO-15, PBO-15 PC,PD…
I.MX6ULL:管脚名字:PAD_BOOT_MODEO 管脚的复用:
VIOMUXC_SNS_SW_MUX_CTL_PAD_BOOT_MODEO MUX复用功能的意思
IOMUXC_SNVS_SW_PAD_CTL_PAD_BOOT_MODEO
对于6ULL,查看管脚复用的步骤:
1.打开参考手册
2.找到32章,IO复用章节
3.查找对应的管脚
相关文章:

01_I.MX6U芯片简介
目录 I.MX6芯片简介 Corterx -A7架构简介 Cortex-A处理器运行模型 Cortex-A 寄存器组 IMX6U IO表示形式 I.MX6芯片简介 ARM Cortex-A7内核可达900 MHz,128 KB L2缓存。 并行24bit RGB LCD接口,可以支持1366*768分辨率。 3.8/10/16位 并行摄像头传感器接口(CS…...

嵌入式学习笔记——STM32的中断控制体系
STM32的中断控制体系前言STM32中断的概念中断类型中断控制常用控制函数区分中断源与中断信号配置中断优先级分组问题中断使能中断服务函数总结前言 上一篇中,借着串口接受的问题,简要说了一下串口中断的作用和用法,本文将对STM32的中断控制体…...

如何发布自己的npm包
一、什么是npm npm是随同nodejs一起安装的javascript包管理工具,能解决nodejs代码部署上的很多问题,常见的使用场景有以下几种: ①.允许用户从npm服务器下载别人编写的第三方包到本地使用。 ②.允许用户从npm服务器下载并安装别人编写的命令…...
Qt QProcess管道命令带“|”多命令执行获取stdout输出问题总结
问题描述: 在Qt中,使用system和QProcess执行命令,system执行的命令,我们通常不需要获取stdout的输出结果,所以只需要得到返回结果,知道成功失败即可。 而用到QProcess,多半是要获取输出的返回信息。 这里的返回信息只要是标准输出的即可,当然了,也可以是别的channe…...

【JavaEE进阶篇2】spring基于注解开发1
在上一篇文章当中,我们提到了怎样使用spring来创建一个bean对象。下面,我们继续来研究一下,更加优胜的开发方式:基于注解开发【JavaEE进阶篇1】认识Spring、认识IoC、使用spring创建对象_革凡成圣211的博客-CSDN博客springIoc、使…...
统一登录验证统一返回格式统一异常处理的实现
统一登录验证&统一返回格式&统一异常处理的实现 一、用户登录权限效验1.1 最初的用户登录验证1.2 Spring AOP 用户统一登录验证的问题1.3 Spring 拦截器1.3.1 准备工作1.3.2 自定义拦截器1.3.3 将自定义拦截器加入到系统配置1.4 拦截器实现原理1.4.1 实现原理源码分析1…...
【建议收藏】华为OD面试,什么场景下会使用到kafka,消息消费中需要注意哪些问题,kafka的幂等性,联合索引等问题
文章目录 华为 OD 面试流程一、什么场景下会使用到 kafka二、消息消费中需要注意哪些问题三、怎么处理重复消费四、kafka 的幂等性怎么处理的五、kafka 会怎么处理消费者消费失败的问题六、数据库设计中,你会如何去设计一张表七、联合索引有什么原则华为 OD 面试流程 机试:三…...

【MySQL】MySQL的优化(二)
目录 explain分析执行计划 Explain分析执行计划-Explain 之 id Explain分析执行计划-Explain 之 select_type Explain分析执行计划-Explain 之 type Explain分析执行计划-其他指标字段 explain分析执行计划 通过以上步骤查询到效率低的 SQL 语句后,可以通过 …...

QT VTK开发 (一、下载编译)
Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C构建的,包含有大约250,000行代码,…...

C/C++每日一练(20230314)
目录 1. 移动数组中的元素 2. 搜索二维矩阵 3. 三角形最小路径和 🌟 每日一练刷题专栏 🌟 Golang 每日一练 专栏 C/C 每日一练 专栏 Python 每日一练 专栏 Java 每日一练 专栏 1. 移动数组中的元素 将一维数组中的元素循环左移 k 个位置 输入…...

裸辞3个月,面试了25家公司,终于找到心仪的工作了
上半年裁员,下半年裸辞,有不少人高呼裸辞后躺平真的好快乐!但也有很多人,裸辞后的生活五味杂陈。 面试25次终于找到心仪工作 因为工作压力大、领导PUA等各种原因,今年2月下旬我从一家互联网小厂裸辞,没…...

【Linux学习】进程间通信——system V(共享内存 | 消息队列 | 信号量)
🐱作者:一只大喵咪1201 🐱专栏:《Linux学习》 🔥格言:你只管努力,剩下的交给时间! 进程间通信——共享内存 | 消息队列 | 信号量🏀共享内存⚽系统调用shmgetkey值⚽系统…...

解决 IDA 防F5转伪C笔记
某app砸壳后放到IDA,根据堆栈查到该位置如下; G调到,0x1b81bcc 看下: BR 调到后面 x8 x9地址,汇编指令; 找到x9的地址,然后减去基地址也就是首地址,得到便宜地址; hook x9: var moduleAddr = Module.findBaseAddress("XX"); var line = moduleAddr.add...
【面试题】你需要知道的webpack高频面试题
大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库谈谈你对webpack的看法webpack是一个模块打包工具,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它…...

【YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进NO.60】损失函数改进为wiou
前言作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv8的如何改进进行详细的介绍&…...
2023年中职网络安全竞赛——数字取证调查(新版)attack解析(详细)
数字取证调查 任务环境说明: 服务器场景:FTPServer20221010(关闭链接)服务器场景操作系统:未知FTP用户名:attack817密码:attack817分析attack.pcapng数据包文件,通过分析数据包attack.pcapng找出恶意用户第一次访问HTTP服务的数据包是第几号,将该号数作为Flag值提交;…...
Cadence Allegro 导出Net Single Pin and No Pin报告详解
⏪《上一篇》 🏡《上级目录》 ⏩《下一篇》 目录 1,概述2,Net Single Pin and No Pin作用3,Net Single Pin and No Pin示例4,Net Single Pin and No Pin导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频...
蓝桥冲刺31天之317
在这个时代,我们总是在比较,觉得自己不够好 其实不必羡慕别人的闪光点 每个人都是属于自己的限量版 做你喜欢并且擅长的事,做到极致 自然会找到自己独一无二的价值 鸟不跟鱼比游泳,鱼不跟鸟比飞翔 你我各有所长 A:组队…...

站上风口,文心一言任重道远
目录正式发布时机选择逻辑推理AI绘画用户选择总结自从OpenAI公司的chatGPT发布以来,吸引了全球目光,同时也引起了我们的羡慕,希望有国产的聊天机器人,盼星星盼月亮,终于等来了百度文心一言的发布。 正式发布 3月16日…...

Qt音视频开发24-视频显示QOpenGLWidget方式(占用GPU)
一、前言 采用painter的方式绘制解码后的图片,方式简单易懂,巨大缺点就是占CPU,一个两个通道还好,基本上CPU很低,但是到了16个64个通道的时候,会发现CPU也是很吃紧(当然强劲的电脑配置另当别论…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...

运行vue项目报错 errors and 0 warnings potentially fixable with the `--fix` option.
报错 找到package.json文件 找到这个修改成 "lint": "eslint --fix --ext .js,.vue src" 为elsint有配置结尾换行符,最后运行:npm run lint --fix...

2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】
1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...

【Elasticsearch基础】Elasticsearch批量操作(Bulk API)深度解析与实践指南
目录 1 Bulk API概述 1.1 什么是批量操作 1.2 Bulk API的优势 2 Bulk API的工作原理 2.1 请求处理流程 2.2 底层机制 3 Bulk API的使用方法 3.1 基本请求格式 3.2 操作类型示例 3.3 响应格式 4 Bulk API的最佳实践 4.1 批量大小优化 4.2 错误处理策略 4.3 性能调…...