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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 靖意风

使用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文件大小