嵌入式相关基础
一.常见的芯片类型
1.微控制器(MCU)
(1)STM32
| 主频(MHz) | 内核 | Flash(Kbytes) | Ram(Kbytes) | 封装 | ADC channels | DAC channels | SPI | |
| STM32F407ZG | 168 | ARM Cortex-M4f | 1024 | 192 | LQFP144 | 24 | 2 | 3 |
| STM32F407ZE | 168 | ARM Cortex-M4f | 512 | 192 | LQFP144 | 24 | 2 | 3 |
| STM32F407VE | 168 | ARM Cortex-M4f | 512 | 192 | LQFP100 | 16 | 2 | 3 |
| STM32F103ZE | 72 | ARM Cortex-M3 | 512 | 64 | LQFP144 | 21 | 2 | 3 |
| STM32F103C8 | 72 | ARM Cortex-M4 | 64 | 20 | LQFP48 | 10 | 0 | 2 |
(2)RA6M5
RA6M5的晶振为24MHz,拥有2MB的代码闪存
2.系统级芯片(SoC)
(1)I.MX6ULL
I.MX6ULL是一款基于ARM Cortex-A7内核的高性能应用处理器,采用ARMv7-A架构,主频可达900MHz。
(2)RZ/G2L双核A55芯片
(3)RK3588
3.数字信号处理器(DSP)
4.现场可编程门阵列(FPGA)
5.应用特定集成电路(ASIC)
二.指令集
1. RISC
2. CISC
二.架构
1.ARM架构
1)
| ARMv7架构 | |
ARM架构寄存器包括31个通用寄存器和6个状态寄存器,
2)通用寄存器组
| R0-R3 | 传递参数与返回值 | 这些寄存器主要用于传递子程序的参数以及存放函数的返回值。在子程序调用之间,它们可以被用于任何用途,且被调用的函数在返回之前不必恢复这些寄存器的原始值。 |
| R4-R11 | 局部变量存储 | 这些寄存器通常用于保存函数的局部变量。如果一个被调用的函数使用了这些寄存器,那么它在返回之前必须恢复这些寄存器的值,以便调用者能够在返回后继续使用未改变的值。 |
| R12 | 内部调用暂存器ip | 这个寄存器作为子程序间的scratch寄存器,主要用于过程链接胶合代码中。在过程调用之间,可以将它用于任何用途,并且被调用的函数在返回之前不必恢复它的值。 |
| R13 | 栈指针sp | 这个寄存器用作栈指针,指向当前的栈块限制或它的上面,用于临时数据的存储等。它不能被用于其他用途,并且在退出被调用的函数时,其内存储的值必须与进入时的值相同。 |
| R14 | 连接寄存器lr | R14寄存器也被称为连接寄存器,主要用于保存子程序以及中断的返回地址。如果您保存了返回地址,则可以在调用之间将R14用于其他用途,但程序返回时要恢复其原始值。 |
| R15 | 程序计数器PC | R15是程序计数器,它总是包含下一个要被执行的指令的位置。由于ARM采用了流水线机制,当正确读取了PC的值后,该值为当前指令地址加8个字节,即PC指向当前指令的下两条指令地址。 |
2.MIPS架构
MIPS架构以其简洁和高效的RISC设计闻名。RISC定义了一种处理器设计的范式,而MIPS是这种范式下的一个具体产品
3.x86架构
x86架构由英特尔公司开发,因其强大的兼容性和广泛的软件支持而在全球范围内得到广泛使用。这种架构的处理器能够运行多种操作系统,包括Windows和Linux。
4.PIC架构
PIC微控制器因其低成本和低功耗特性而广受青睐,在简单的嵌入式应用中得到广泛应用。
5.RISC-V架构
三.内核
| Cortex-M3 | |
| Cortex-M4 | |
| Cortex-M7 | |
| Cortex-A7 | |
| Cortex-M33 | |
| Cortex-A55 | |
四.STM32,PC端Linux和嵌入式中Linux的启动流程
五. PC端Linux和嵌入式端Linux
1.引导加载程序
PC端Linux系统通常不使用U-Boot作为引导加载程序,而PC端常用的是GRUB或LILO这样的引导加载程序。接下来详细讲述一下U-Boot:
U-Boot目录分布
| arch/ | 该目录包含了针对不同处理器架构的特定代码和配置文件,例如arch/arm/目录包含了针对ARM架构的代码 |
| board/ | 该目录包含了各种嵌入式开发板的配置文件和支持代码,每个开发板通常有一个对应的子目录 |
| common/ | 该目录包含了通用的U-Boot代码和功能,适用于多个处理器架构和开发板 |
| configs/ | 该目录包含了不同开发板的配置文件,可以根据需要选择合适的配置文件进行编译和定制。 |
| doc/ | 该目录包含了 U-Boot 的文档和说明,包括使用手册、开发指南等。 |
| drivers/ | 该目录包含了硬件设备驱动程序,用于支持各种外设和接口,如串口,网络,存储等 |
| include/ | 该目录包含了U-Boot的头文件,定义了各种数据结构,宏和函数原型 |
| tools/ | 该目录包含了一些辅助工具和脚本,用于编译,烧录和调试U-Boot |
| configs/ | 该目录包含了各种开发板的配置文件,可以根据需要选择合适的配置文件进行编译和定制 |
| Makefile | U-Boot的主要Makefile,用于编译和构建U-Boot |
这只是 U-Boot 目录结构的一些常见示例,实际的目录结构可能会因版本和配置而有所变化。在 U-Boot 的源代码中,可以找到更详细的目录结构和文件。
U-Boot启动引导过程
U-Boot 的引导启动过程包括上电初始化、加载 U-Boot、U-Boot 初始化、命令行界面、加载操作系统和启动操作系统等步骤
相关文章:
嵌入式相关基础
一.常见的芯片类型 1.微控制器(MCU) (1)STM32 主频(MHz)内核Flash(Kbytes)Ram(Kbytes)封装ADC channels DAC channels SPISTM32F407ZG168ARM Cortex-M4f1024192LQFP1442423STM32F407ZE168ARM Cortex-M4f512192LQFP1442423STM32F407VE168ARM Cortex-M4f512192LQFP1001623STM32…...
无线麦克风推荐哪些品牌?一文读懂家用无线麦克风哪个牌子好!
在这个充满创意与表达的时代,无线领夹麦克风以其独特的魅力,成为了声音创作者们的得力助手。它小巧便携,功能强大,无论是日常拍摄、直播互动还是专业演出,都能轻松应对,让你的声音随时随地清晰传递。那么…...
构建SOA架构时应该注意的问题
1.原有系统架构中的集成需求 面向服务的体系结构本质上来说是一种具有特殊性质的体系结构,它由具有互操作性和位置透明的组件集成构建并互连而成。基于SOA的企业系统架构通常都是在现有系统架构投资的基础上发展起来的,我们并不需要彻底重新开发全部的子…...
动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测
13Kaggle竞赛:2020加州房价预测 # 导入所需的库 import numpy as np import pandas as pd import torch import hashlib import os import tarfile import zipfile import requests from torch import nn from d2l import torch as d2l# 读取训练和测试数据 train_…...
编程输出中间变量:深度解析与实战应用
编程输出中间变量:深度解析与实战应用 在编程过程中,中间变量是一个至关重要的概念。它们不仅有助于我们更好地理解和组织代码,还能提高程序的效率和可读性。那么,编程输出中间变量究竟是什么呢?本文将从四个方面、五…...
冒泡排序、选择排序
冒泡排序 按照冒泡排序的思想,我们要把相邻的元素两两比较,当一个元素大于右侧相元素时,交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变 大的往右丢(往下沉),小的往…...
嵌入式实训day6
1、 from machine import Pin from neopixel import NeoPixel import timeif __name__"__main__"#创建RBG灯带控制对象,包含5个像素(5个RGB LED)rgb_led NeoPixel(Pin(4,Pin.OUT),5)#定义RGB颜色RED(255,0,0)GREEN(0,2…...
产品经理是青春饭吗?终于有了答案!
不少考生疑惑产品经理是青春饭吗?产品经理能干到多少岁?弄清楚这些问题,我们才会有长久的规划。产品经理是青春饭吗?产品经理能干到多少岁?一起来看看 一、产品经理是青春饭吗? 产品经理是否吃青春饭需要…...
FPGA - 数 - 加减乘除
一,数的表示 首先,将二进制做如下解释: 2的0次方1 2的1次方2 2的2次方4 2的3次方8 ..... 以此类推,那么任何整数,或者说任意一个自然数均可以采用这种方式来表示。 例如,序列10101001,根据上述…...
软件性能测试之负载测试、压力测试详情介绍
负载测试和压力测试是软件性能测试中的两个重要概念,它们在保证软件质量和性能方面起到至关重要的作用,本文将从多个角度详细介绍这两种测试类型。 一、软件负载测试 负载测试是在特定条件下对软件系统进行长时间运行和大数据量处理的测试ÿ…...
科研辅助工具
科研工具收集 1. 如何筛选出最合适的SCI论文投稿杂志:点击直达 2. 分享三种正确查找期刊全称、缩写的网站: 点击直达...
亿达中国武汉园区入选“武汉市科技金融工作站”及“武汉市线下首贷服务站”
近日,武汉市2024科技金融早春行活动在深交所湖北资本市场培育基地举行。会上,第四批武汉市科技金融工作站试点单位名单及第五批武汉地区金融系统线下首贷服务站名单正式公布,武汉软件新城成功入选上述两个名单。 为缓解科技型企业融资难题&a…...
Docker配置阿里云加速器(2续)
默认情况下镜像是从docker hub下载,由于docker hub服务器在国外,由于网络原因镜像下载速度较慢,一般会配置镜像加速进行下载 国内镜像加速器有阿里云、网易云、中科大等,本章配置阿里云镜像加速器,速度较快 镜像加速源 镜像加速器 镜像加速器地址 <...
我用chatgpt写了一款程序
众所周知,Chatgpt能够帮助人们写代码,前几天苏音试着完全用Chatgpt写一款Python程序 有一句话我很赞同,未来能代替人的不是AI,是会使用AI的人。 最终,写下来效果还不错,完全提升了我的办公效率。 开发前…...
Python实现逻辑回归与判别分析--西瓜数据集
数据 数据data内容如下: 读取数据: import numpy as np import pandas as pd data pd.read_excel(D:/files/data.xlsx) 将汉字转化为01变量: label [] for i in data[好瓜]:l np.where(i 是,1,0)label.append(int(l)) data[label] lab…...
课时154:项目发布_手工发布_手工发布
1.2.3 手工发布 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 简介 为了合理的演示生产环境的项目代码发布,同时又兼顾实际实验环境的资源,我们这里将 B主机和C主机 用一台VM主机来实现,A主机单…...
鸿蒙开发 一 (四)、ArkTS开发 --UI篇
相对布局 RelativeContainer 支持容器内部的子元素设置相对位置关系子元素支持指定兄弟元素作为锚点,也支持指定父容器作为锚点,基于锚点做相对位置布局 //alignRules 写法let AlignRus:Record<string,Record<string,string|VerticalAlign|Horiz…...
影音发烧友必入:高清先生M8 8K蓝光播放机使用体验8K播放器
影音发烧友必入:高清先生M8 8K蓝光播放机使用体验 高清先生在5.18成功举办新品8K蓝光播放机“M8”的发布会后,心心念念想尝鲜,于是果断下单了一台。 外形 收到货后,是牛皮纸包装,醒目的“高清先生”标识印在正面&…...
【34W字CISSP备考笔记】域1:安全与风险管理
1.1 理解、坚持和弘扬职业道德 1.1.1.(ISC)职业道德规范 1、行为得体、诚实、公正、负责、守法。 2、为委托人提供尽职、合格的服务。 3、促进和保护职业。 4、保护社会、公益、必需的公信和自信,保护基础设施。 1.1.2.组织道德规范 1、RFC 1087 ࿰…...
Camtasia Studio 2024软件下载附加详细安装教程
amtasia Studio 2024是一款功能强大的屏幕录制和视频编辑软件,由TechSmith公司开发。这款软件不仅能够帮助用户轻松地记录电脑屏幕上的任何操作,还可以将录制的视频进行专业的编辑和制作,最终输出高质量的视频教程、演示文稿、培训课程等。 …...
RK3588开发板TF卡槽改造:实现SDIO WIFI模组O9201SB的灵活接入
1. RK3588开发板TF卡槽改造背景与价值 最近在折腾RK3588开发板时,发现一个很有意思的玩法:把原本只能插TF卡的卡槽改造成支持SDIO WIFI模组的接口。这个改造特别适合那些需要灵活接入不同WIFI模组的开发者,比如我在做智能家居网关开发时&…...
移动端语音交互避坑指南:录音超时截取、倒计时提醒与MP3转换的完整方案
移动端语音交互避坑指南:录音超时截取、倒计时提醒与MP3转换的完整方案 在即时通讯和语音输入场景中,流畅的录音体验直接影响用户留存。数据显示,超过83%的用户会因为录音功能卡顿或操作复杂而放弃使用语音功能。本文将深入解析三个关键体验优…...
轻量级AI写作工坊:OpenClaw+nanobot内容创作流
轻量级AI写作工坊:OpenClawnanobot内容创作流 1. 为什么需要自动化写作助手 作为一名技术博主兼自媒体运营者,我每天都要面对内容创作的"三重压力":选题焦虑、写作耗时、发布繁琐。最痛苦的是,当我花两小时写完一篇技…...
别再死记硬背PCA公式了!用Python+Open3D实战点云法向量估计(附代码)
用Python实战点云法向量估计:从数学原理到Open3D实现 点云处理是计算机视觉和三维重建中的基础任务,而法向量估计则是理解点云局部几何特征的关键步骤。传统教学中,PCA(主成分分析)往往被简化为一堆数学公式ÿ…...
2026 AI大模型岗位薪资全曝光:从30k到80w,程序员必备指南,非常详细收藏我这一篇就够了
文章主要展示了2026年AI领域热门岗位的薪资情况,包括华为、腾讯、联影等公司在多个城市的AI工程师、大模型算法等职位的薪资水平。数据显示AI人才市场需求旺盛,薪资从月薪3.6万到年包80万不等。文章提供了AI薪资专场的链接,邀请读者了解更多行…...
UniApp+Vue3避坑指南:为什么getAppWebview会失效?从原理到解决方案
UniAppVue3深度解析:getAppWebview失效的底层逻辑与工程化解决方案 在UniApp与Vue3的技术栈组合中,不少开发者遭遇过getAppWebview神秘失效的困境。这个看似简单的API调用问题,背后却隐藏着Vue3响应式系统变革与UniApp多端渲染机制的深层交互…...
高密度PCB贴装实战:如何用模块化治具解决0.3mm间距元件定位难题
高密度PCB贴装实战:模块化治具在0.3mm间距元件定位中的创新应用 当智能手表的PCB板面积缩小到指甲盖大小时,上面的0402元件间距已经突破0.3mm极限——这相当于在1元硬币上精准摆放50根头发丝。消费电子微型化浪潮下,传统治具的定位误差正在吞…...
【读书笔记】《逆风跑者》
《逆风跑者》| 长跑人的阿甘正传 如果你也曾困顿过,迷茫过,被生活压得喘不过气来,那么就拉过一把椅子静静地坐一会儿吧。听我说说这位无声跑者的事儿,和他一起不屈不挠地寂静奔跑一次。 📖 关于这本书 《逆风跑者》是…...
Qwen3.5-4B-Claude-Opus部署教程:supervisor托管+健康检查全流程详解
Qwen3.5-4B-Claude-Opus部署教程:supervisor托管健康检查全流程详解 1. 模型介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是一个基于 Qwen3.5-4B 的推理蒸馏模型,重点强化了结构化分析、分步骤回答、代码与逻辑类问题的处理能力。该版本…...
光纤布拉格光栅(FBG)笔记【2】:传感机制与布拉格波长调谐分析
1. 光纤布拉格光栅的传感机制揭秘 第一次接触光纤布拉格光栅(FBG)传感时,我完全被它"以光测万物"的能力震撼了。这根比头发还细的光纤,竟然能精准感知温度、应变等物理量的变化。经过多次实验验证,我发现它的核心秘密就藏在布拉格波…...
