news 2026/4/19 4:14:41

从零到壹嵌入式Linux编程实战教程课: 第3课:嵌入式Linux开发环境搭建(开发板)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零到壹嵌入式Linux编程实战教程课: 第3课:嵌入式Linux开发环境搭建(开发板)

嵌入式Linux编程实战教程

文章目录

  • 嵌入式Linux编程实战教程
    • 一、课程导入
    • 二、核心知识点讲解
      • (一)开发板基础认知
        • 本节课所用开发板说明
        • 核心说明
      • (二)开发板连接核心准备
      • (三)开发板与电脑连接实操
      • (四)完整开发环境测试
      • (五)开发板基础操作
    • 三、课堂示例
    • 四、课后作业
    • 五、本节课核心总结
      • 核心知识点总结
      • 学习重点与难点
      • 关键词
    • 六、课程回顾总结
  • 上一节课作业答案:嵌入式Linux开发环境搭建 实战作业代码及说明
    • (一)实战作业代码
    • (二)代码功能说明
    • (三)作业注意事项

一、课程导入

上一节课我们已经完成了Windows系统下的嵌入式Linux开发环境搭建,成功安装了Hyper-V虚拟机、Ubuntu系统,以及FileZilla、WindTerm两个辅助工具,确保了Ubuntu系统可正常运行、Windows与Ubuntu可实现文件传输和远程连接。

本节课作为基础入门阶段的关键实操课,核心目标是完成开发板与电脑的连接配置,搭建“电脑(Windows+Ubuntu)+开发板”的完整嵌入式Linux开发环境。开发板是嵌入式开发的核心硬件载体,后续所有的程序下载、驱动调试、项目实战,都需要通过开发板完成,因此本节课的实操质量,直接影响后续所有课程的开展,务必认真跟随操作。

二、核心知识点讲解

(一)开发板基础认知

嵌入式开发板是嵌入式Linux开发的核心硬件,本质是一块精简的“微型电脑”,集成了CPU(ARM架构,贴合嵌入式场景)、内存、存储、外设接口(GPIO、UART、USB等),是我们后续运行嵌入式程序、调试驱动的物理载体。

本节课所用开发板说明

本节课选用ARM架构开发板(全志/瑞芯微系列,适配嵌入式Linux系统),核心配置贴合入门实战需求,具备以下核心接口(后续实操重点使用):

  1. USB接口:用于供电、数据传输,连接电脑与开发板;

  2. 串口接口(UART):用于开发板与电脑的串口通信,查看开发板启动信息、调试程序;

  3. 电源接口:备用供电(优先使用USB供电,稳定便捷);

  4. GPIO接口:后续用于LED灯、按键等外设驱动开发(本节课暂不使用)。

核心说明

嵌入式开发板的核心优势的是“贴合实际开发场景”,其ARM架构与工业级嵌入式设备一致,后续我们在Ubuntu中编写的程序、驱动,均可下载到开发板中运行,实现“编程→下载→调试”的完整开发流程,这也是嵌入式开发“实操为王”的核心体现。

(二)开发板连接核心准备

在连接开发板前,需完成以下准备工作,确保连接顺利,避免出现识别失败、通信异常等问题:

  1. 硬件准备:

(1)ARM开发板1块、USB数据线1根(支持数据传输,避免仅支持充电的数据线);

(2)电脑1台(已完成第2课开发环境搭建,安装好WindTerm工具);

(3)备用电源(可选,若USB供电不稳定,可使用专用电源)。

  1. 软件准备:

(1)WindTerm工具(已在第2课安装,本节课重点使用其串口通信功能);

(2)USB转串口驱动(开发板串口接口需通过USB转串口连接电脑,部分电脑自带驱动,若识别失败需手动安装);

(3)开发板固件(已预烧录嵌入式Linux系统,无需学员手动烧录,后续课程会讲解固件烧录方法)。

  1. 前期检查:

(1)确认电脑已安装WindTerm,且可正常打开;

(2)确认USB数据线可正常传输数据(可通过连接手机测试,能识别手机存储即正常);

(3)确认开发板无硬件故障(通电后指示灯正常亮起,即说明硬件无明显问题)。

(三)开发板与电脑连接实操

本节课核心实操为“开发板与电脑的串口连接”,通过WindTerm工具实现电脑与开发板的通信,步骤详细拆解,零基础可跟随操作,全程重点关注串口配置参数,避免配置错误导致通信失败。

  1. 硬件连接:

(1)将USB数据线的一端插入开发板的USB接口(标注“USB-OTG”或“数据传输”的接口);

(2)将USB数据线的另一端插入电脑的USB接口,此时开发板会自动通电,指示灯亮起(若未亮起,检查数据线或USB接口);

(3)电脑会自动识别开发板,安装USB转串口驱动(若未自动安装,需手动下载对应驱动,安装后重启电脑)。

  1. 查看串口端口号(关键步骤):

(1)按下Win+R键,输入“devmgmt.msc”,打开“设备管理器”;

(2)在设备管理器中,找到“端口(COM和LPT)”选项,展开后会看到“USB-SERIAL CH340(COMx)”(x为数字,如COM3、COM4),这个“COMx”就是开发板对应的串口端口号,记录下来(后续配置需使用);

(3)若未找到该选项,说明驱动未安装成功或数据线无法传输数据,需重新安装驱动、更换数据线。

  1. WindTerm串口配置(核心实操):

(1)打开WindTerm工具,点击左上角“会话”→“新建会话”,在弹出的窗口中,选择“串口”选项;

(2)配置串口参数(嵌入式开发通用参数,不可随意修改):

① 端口:选择上一步记录的串口端口号(如COM3);

② 波特率:设置为115200(开发板默认波特率,匹配嵌入式Linux系统);

③ 数据位:8;

④ 停止位:1;

⑤ 校验位:无;

⑥ 流控:无;

(3)配置完成后,点击“连接”按钮,此时WindTerm会建立与开发板的串口连接,界面会显示连接成功的提示。

  1. 开发板启动与通信验证:

(1)若开发板已通电,重启开发板(按下开发板上的复位键);

(2)重启后,WindTerm界面会滚动显示开发板的启动信息(包含嵌入式Linux系统启动日志、硬件信息等);

(3)启动完成后,会显示登录提示符(如“root@ubuntu:~#”),此时输入开发板的登录用户名和密码(默认用户名root,密码root,具体可参考开发板说明书),登录成功后,即可通过WindTerm向开发板发送命令,实现串口通信。

(四)完整开发环境测试

开发板连接完成后,需测试“电脑→开发板”的通信是否正常,以及“Ubuntu→开发板”的程序传输通道是否畅通,确保完整开发环境可用,为后续课程做好准备:

  1. 串口通信测试:

在WindTerm串口界面,输入Linux基础命令(如ls、pwd、ifconfig),按下Enter键,若开发板能返回对应结果,说明串口通信正常。

  1. 文件传输测试(衔接FileZilla):

(1)在Ubuntu系统中,创建一个简单的文本文件(如test_board.txt);

(2)通过FileZilla将该文件传输到开发板(开发板登录后,可通过WindTerm查看开发板的文件目录,传输路径建议选择/home目录);

(3)在WindTerm中,输入“cat /home/test_board.txt”命令,若能显示文件内容,说明文件传输通道畅通。

  1. 常见问题解决:

  2. 开发板无法识别:更换USB数据线、重新插拔开发板,或手动安装USB转串口驱动;

  3. WindTerm串口连接失败:检查端口号是否正确、波特率等参数是否配置正确,或重启WindTerm;

  4. 开发板启动无日志输出:检查串口连接是否牢固,波特率是否与开发板默认波特率一致;

  5. 登录失败:确认开发板默认用户名和密码,若忘记可参考开发板说明书,或重新烧录固件。

(五)开发板基础操作

登录开发板后,掌握以下基础操作,为后续课程铺垫:

  1. 查看开发板硬件信息:输入“cat /proc/cpuinfo”,查看ARM CPU信息;输入“free -h”,查看开发板内存信息;

  2. 查看开发板文件系统:输入“ls /”,查看开发板嵌入式Linux系统的根目录结构(与Ubuntu类似,均为Linux文件系统);

  3. 创建文件/目录:输入“mkdir /home/test”,在/home目录下创建test目录;输入“echo “test” > /home/test.txt”,创建文本文件;

  4. 重启/关机:输入“reboot”重启开发板,输入“poweroff”关闭开发板(实操中尽量使用重启,避免频繁关机损坏硬件)。

三、课堂示例

示例1:开发板硬件连接与驱动安装演示

取出开发板、USB数据线,将USB数据线一端插入开发板USB数据接口,另一端插入电脑USB接口,观察开发板指示灯亮起,打开设备管理器,查看“端口”选项,确认USB-SERIAL CH340端口正常识别,若未识别,演示手动安装USB转串口驱动的步骤,确保驱动安装成功,为后续串口连接做好准备。

示例2:WindTerm串口配置与连接演示

打开WindTerm,新建串口会话,选择正确的端口号(如COM4),配置波特率115200、数据位8、停止位1、无校验位、无流控,点击连接,重启开发板,观察WindTerm界面滚动显示启动日志,启动完成后,输入默认用户名和密码,登录开发板,输入“ls”命令,验证串口通信正常,全程演示每一步操作,重点提醒参数配置和端口号确认两个关键环节。

示例3:完整环境测试演示

在Ubuntu中创建test_board.txt文件,通过FileZilla将其传输到开发板/home目录,在WindTerm中输入“cd /home”“ls”命令,查看文件是否存在,输入“cat test_board.txt”,查看文件内容,验证文件传输通道畅通;再输入“ifconfig”命令,查看开发板IP地址,确认开发板网络正常,完成完整开发环境测试,演示常见问题的排查方法(如端口错误、驱动未安装的解决流程)。

四、课后作业

  1. 实操任务(核心):

(1)完成开发板与电脑的硬件连接,安装USB转串口驱动,确保电脑能识别开发板串口;

(2)配置WindTerm串口参数,建立与开发板的串口连接,成功登录开发板;

(3)完成环境测试:通过WindTerm执行ls、pwd、ifconfig命令,截图保存执行结果;通过FileZilla将Ubuntu中的测试文件传输到开发板,截图保存传输过程和文件查看结果;

(4)在开发板中创建一个名为“lesson3_test”的目录,在目录下创建文本文件,输入开发板硬件信息,保存文件。

  1. 简答题(巩固知识点):

(1)简述开发板在嵌入式Linux开发中的作用,以及本节课所用开发板的核心接口;

(2)简述WindTerm串口配置的核心参数,以及串口连接失败的常见原因(至少列出2个)。

  1. 预习任务:

预习第4课“交叉编译原理与工具链使用”,了解交叉编译的定义和作用,提前熟悉交叉编译工具链的安装步骤,为下节课的程序交叉编译与下载做好准备。

五、本节课核心总结

核心知识点总结

  1. 开发板基础:开发板是嵌入式Linux开发的核心硬件载体,ARM架构,集成CPU、内存、外设接口,贴合工业级嵌入式设备场景;

  2. 核心实操:开发板硬件连接、USB转串口驱动安装、WindTerm串口配置、开发板登录与通信,核心是串口参数配置(波特率115200等);

  3. 环境测试:串口通信测试、文件传输测试,确保“电脑→开发板”“Ubuntu→开发板”的通道畅通,完整开发环境可用;

  4. 基础操作:掌握开发板的基础Linux命令操作,了解开发板文件系统结构,为后续程序下载、驱动开发铺垫;

  5. 常见问题:开发板识别失败、串口连接失败、登录失败,掌握对应的排查和解决方法。

学习重点与难点

重点:开发板与电脑的硬件连接、WindTerm串口参数配置、开发板登录与环境测试,能独立完成开发板连接和基础操作;

难点:USB转串口驱动安装、串口参数配置(避免参数错误导致通信失败),以及常见问题的排查思路。

关键词

开发板、ARM架构、USB转串口驱动、WindTerm、串口通信、波特率、串口配置、开发环境测试

六、课程回顾总结

本节课作为嵌入式Linux基础入门阶段的关键实操课,核心围绕开发板与电脑的连接配置展开,衔接上节课的Windows开发环境搭建,完成了“电脑+Ubuntu+开发板”完整开发环境的搭建。首先,我们讲解了开发板的基础认知,明确其作为嵌入式开发核心硬件载体的作用,介绍了本节课所用开发板的核心接口和基础配置,让学员理解开发板在嵌入式开发中的核心地位。随后,我们详细拆解了实操流程,从硬件准备、软件准备、前期检查,到开发板硬件连接、USB转串口驱动安装、WindTerm串口配置,再到开发板登录与环境测试,每一步都结合详细说明和注意事项,适配零基础学员的学习节奏,重点强调了串口参数配置、端口号确认等关键节点,避免学员出现操作失误。同时,通过课堂示例演示,直观展示了开发板连接的完整流程和常见问题的排查方法,帮助学员快速掌握操作技巧。此外,我们还讲解了开发板的基础Linux操作,为后续课程铺垫。最后,我们布置了课后实操作业和预习任务,巩固本节课知识点,衔接下节课的交叉编译内容。通过本节课的学习,学员们已掌握开发板的连接与基础操作,成功搭建了完整的嵌入式Linux开发环境,为后续的程序下载、驱动开发、项目实战奠定了坚实的硬件基础,也进一步提升了实操动手能力和问题排查意识。

上一节课作业答案:嵌入式Linux开发环境搭建 实战作业代码及说明

(一)实战作业代码

#!/bin/bash# 第2课实战作业代码:环境测试脚本,验证Ubuntu系统、FileZilla传输及WindTerm远程连接可用性# 脚本功能:执行基础Linux命令,生成测试文件,用于验证环境搭建效果# 1. 执行基础Linux命令,验证Ubuntu系统正常运行echo"=== 基础Linux命令执行测试 ==="echo"当前工作目录:"pwdecho"当前目录下文件列表:"ls-lecho"虚拟机IP地址信息:"ifconfig|grepinetecho"=============================="echo""# 2. 生成测试文件,用于FileZilla文件传输测试echo"=== 测试文件生成 ==="test_file="lesson2_test.txt"echo"这是第2课环境测试文件,用于验证FileZilla文件传输功能">$test_fileecho"测试文件内容:"cat$test_fileecho"测试文件已生成,路径:$(pwd)/$test_file"echo"======================"echo""# 3. 验证SSH服务是否正常运行(FileZilla、WindTerm连接依赖)echo"=== SSH服务状态测试 ==="servicesshstatus|grep"active (running)"if[$?-eq0];thenecho"SSH服务正常运行,可正常使用FileZilla和WindTerm连接"elseecho"SSH服务未运行,请重新安装SSH服务器(sudo apt install openssh-server)"fiecho"========================"

(二)代码功能说明

本代码为Shell脚本,适配第2课开发环境搭建实操,核心用于验证Windows下嵌入式Linux开发环境的可用性。脚本依次执行三大核心测试:一是运行pwd、ls、ifconfig等基础Linux命令,验证Ubuntu系统正常启动且命令可正常执行;二是生成测试文本文件,用于后续FileZilla文件传输测试,确认Windows与Ubuntu之间的文件传输功能正常;三是检查SSH服务运行状态,确保FileZilla和WindTerm的远程连接、文件传输依赖正常。脚本简洁易懂,步骤清晰,运行后可直观判断环境搭建是否成功,同时巩固Linux基础命令使用,衔接第2课实操内容,为后续开发板连接、交叉编译等课程做好环境验证准备。

(三)作业注意事项

  • 脚本需在Ubuntu系统中执行,可通过WindTerm远程登录后运行,或直接在Ubuntu终端操作,确保脚本权限(执行chmod +x lesson2_homework.sh赋予执行权限);

  • 运行脚本前,需确保Ubuntu系统已正常登录,SSH服务已开启(未开启可执行sudo apt install openssh-server安装);

  • 生成的测试文件需通过FileZilla传输到Windows系统,截图保存传输过程,完成作业要求;

  • 若脚本执行报错,优先检查命令拼写、SSH服务状态,或重新确认Ubuntu环境是否正常;

  • 保存脚本文件(命名格式:lesson2_homework.sh),妥善留存,后续课程可用于环境故障排查。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 4:14:31

不用AI、纯手搓CSS,程序员“整活”造出x86 CPU模拟器,还能跑C程序!网友:谁再敢说CSS不算编程语言?

在大多数人的认知里,CSS 只是用来美化网页的样式表语言,和编程、运算关系不大,甚至不少程序员们还常拿“CSS 算不算编程语言”当作玩笑。 不过近日,一位名为 Lyra Rebane 的开发者坐实了「CSS 就是一门编程语言」的说法&#xff0…

作者头像 李华
网站建设 2026/4/19 4:08:45

Windows平台APK安装终极指南:APK Installer完整解决方案

Windows平台APK安装终极指南:APK Installer完整解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows系统无法直接安装Android应用而烦恼吗…

作者头像 李华
网站建设 2026/4/19 4:02:29

使用MacBook Neo一个月后,我发现了它的性能极限

我并不需要进行繁重的4K视频剪辑或复杂的AI提示操作,就能让这款Neo达到极限。让苹果这款热销入门级MacBook崩溃的原因,仅仅是同时打开了太多Safari标签页——大约64个左右。过去一个月,我一直将MacBook Neo作为主力机使用,从公司配…

作者头像 李华
网站建设 2026/4/19 3:58:17

智能代码生成与代码自愈结合:为什么2024年Q2起,所有通过CNCF认证的AI-Native平台都强制要求内置自愈SLA指标?答案在ISO/IEC 25010-2023新增第8.4.2条款

第一章:智能代码生成与代码自愈结合 2026奇点智能技术大会(https://ml-summit.org) 智能代码生成与代码自愈并非孤立能力,而是构成现代AI编程闭环的双引擎:前者聚焦于“从意图到可运行代码”的高效构建,后者专注于“从缺陷到稳定…

作者头像 李华