banner
NEWS LETTER

嵌入式 Linux 系列 01:开发环境、串口和第一块板子

Scroll down

嵌入式 Linux 入门的第一步,不是改内核,也不是写驱动,而是把开发环境搭起来,把板子稳定连上,把启动日志完整拿到。只要这一步不扎实,后面遇到启动失败、网络不通、应用跑不起来时,就会缺少最基本的排查入口。

一、准备哪些东西

最小开发环境包括:

  • 一台 Linux 开发机,Ubuntu、Debian、Arch 都可以。
  • 一块开发板或产品板。
  • 串口线,常见是 USB 转 TTL。
  • 网线或 USB 网络。
  • 电源和稳定的供电线。
  • 官方 SDK、镜像、烧录工具和文档。

开发机建议优先使用 Linux。Windows 也能开发,但涉及串口、NFS、TFTP、交叉编译和脚本时,Linux 环境更直接。

二、先接串口

串口是嵌入式开发最重要的调试入口。网络不通时还能看串口,系统进不了 shell 时还能看串口,内核 panic 时也通常只能靠串口日志。

常见串口参数:

1
2
3
4
5
baudrate: 115200
data bits: 8
stop bits: 1
parity: none
flow control: none

Linux 下可以用:

1
picocom -b 115200 /dev/ttyUSB0

或:

1
minicom -D /dev/ttyUSB0 -b 115200

如果没有权限:

1
sudo usermod -aG dialout "$USER"

重新登录后再试。

三、保存启动日志

第一次启动板子时,不要只看屏幕滚动。建议把完整日志保存下来。

1
picocom -b 115200 /dev/ttyUSB0 | tee boot.log

日志里重点标记:

  • U-Boot 版本。
  • DRAM 初始化容量。
  • Kernel 加载地址。
  • Device Tree 加载地址。
  • kernel command line。
  • rootfs 挂载方式。
  • init 进程启动结果。

后续系统起不来时,可以和这份基准日志对比。

四、让开发机和板子互通

能进 shell 后,下一步是让开发机和板子互通。

板子侧查看网络:

1
2
3
ip addr
ip route
ping 192.168.1.1

开发机侧:

1
2
ping 192.168.1.100
ssh root@192.168.1.100

如果系统没有 SSH,可以先用串口配合 TFTP、NFS 或 U 盘拷贝文件。

五、建立工作目录

开发机上建议把资料分开:

1
2
3
4
5
6
7
embedded-work/
sdk/
toolchains/
images/
logs/
apps/
notes/

不要把官方 SDK、自己写的应用、临时日志、烧录镜像混在一个目录。嵌入式项目经常要回溯某次固件对应的日志和配置,目录清晰能省很多时间。

六、第一天要达成什么

第一天不需要写代码,目标是:

  1. 串口能稳定连接。
  2. 启动日志能完整保存。
  3. 能进入 shell。
  4. 能确认 CPU、内存、rootfs 挂载情况。
  5. 开发机能和板子互相 ping 通。
  6. 能把一个文件传到板子。

验收命令:

1
2
3
4
5
6
uname -a
cat /proc/cpuinfo
free
mount
df -h
ip addr

这些基础做好后,再进入交叉编译和应用开发会顺很多。

其他文章
目录导航 置顶
  1. 1. 一、准备哪些东西
  2. 2. 二、先接串口
  3. 3. 三、保存启动日志
  4. 4. 四、让开发机和板子互通
  5. 5. 五、建立工作目录
  6. 6. 六、第一天要达成什么
请输入关键词进行搜索