惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
量子位
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
B
Blog RSS Feed
腾讯CDC
博客园_首页
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
博客园 - Franky
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
D
Docker
P
Privacy & Cybersecurity Law Blog
S
Securelist
V
V2EX
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Cloudbric
Cloudbric
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

博客园 - 靖意风

使用QT 将可执行程序 进行打包 对使用的屏幕的整理 对mmc 设备进行分区 开发板启动时间优化 nmcli 设置网络配置 虚拟机下 安装 ubuntu 18.04 硬件基础知识__串口 字节对齐问题和 小端格式 在ubuntu下 编译23位的测试文件 31_了解 x6818开发板是 如何使用/dev/ttySAC0 进行打印log 10_linux dirver platform 框架 ubuntu24.04.02 下安装软件 记录 ubuntu 更新源 vmware 虚拟机的三种网卡 vmware 安装 ubuntu 24.04.02 07_linux 字符设备了解 04_kernel编程框架和 printk传参 05_使用linux内核的gpio库函数 03_uboot 命令整理 01_stm32 裸板程序
01_了解嵌入式开发
靖意风 · 2025-05-24 · via 博客园 - 靖意风

一.嵌入式的开发场景:
一台电脑,一块开发板,给一周的时间在开发板上运行程序
1.首先谈谈嵌入式特点
一个中心:用户需求
两个基本点:硬件+软件
四个特性:性能,功耗,体积,价格
2.然后谈谈上位机搭建嵌入式开发环境
单片机:window+keil(可以编辑、编译代码,下载代码、调试代码)
嵌入式linux:安装linux+安装各种开发工具(vim+tftp+nfs等)+安装交叉编译器
3.然后掌控下位机基本硬件信息
粗看:
三大件:CPU(类型)+内存(基地址+容量)+闪存(类型+容量)
外围接口:单片机(串口+JTAG)/嵌入式linux(串口+网络或者串口+USB)
细看:
原理图(明确通信接口方式:GPIO/I2C/UART/1-WIRE)
芯片手册(使用操作流程):CPU手册看控制器+寄存器/外设手册看片内寄存器+操作时序
4.然后明确嵌入式软件
裸板程序:汇编+main函数
嵌入式linux:应用+驱动
5.实战演练
掌握uboot几个软件命令:print/setenv/saveenv/tftp/go/loadx/ping/reset/update_mmc

二、拓展
1. x6818开发板介绍:
CPU是三星S5P6818,是ARMV8架构 cortex-A53核,特性是8核,最高主频2GHz
内存是1GB,内存基地址是0x40000000,内存地址范围是0x40000000~0x7FFFFFFF
闪存是 EMMC, 容量是8GB
2. 闪存的常见介质:
Norflash,总线或者SPI总线
Nandflash,Nand控制器
EMMC:EMMC控制器
3. 常见的嵌入式处理器:
powerPC 飞思卡尔 TI
dsp
fpga 编程语言 Verilog 或 VHDL
arm 瑞芯微(国产cpu), 全志处理器
mips
4. 常见的linux 发行版: ubuntu, kali, openSUSE
5. 厂家长常用的芯片: GD32(兆易创新) ESP32(乐鑫公司) STM32 MSP430(TI公司)

三、uboot命令
1.将内存的uboot镜像烧写到emmc
update_mmc 2 2ndboot 0x48000000 0x200 0x78000
说明:
update_mmc:专门用于将内存中的uboot烧写到emmc闪存上的一个命令
2:注意TF卡,SD卡和EMMC他们统称MMC,硬件操作协议都是一模一样,指示物理尺寸大小不一样而已
如果第一个参数传递0:表示向SD0卡的TF烧写uboot
如果第一个参数传递1:表示向SD1卡的TF烧写uboot
如果第一个参数传递2:表示向EMMC的TF烧写uboot
2ndboot:表示uboot所在的EMMC区域的分区名
0x48000000:uboot所在的内存地址
0x200:注意EMMC闪存内部的存储地址编址从0开始
三星规定,如果采用S5P6818处理器,必须将uboot烧写到EMMC的512(0x200)字节开始的地方
0x78000:指定烧写的uboot文件大小