梦想机器人实验室:第一节嵌入式学习指导

该文提供了一条详细的嵌入式学习路径,从C语言基础到51和32单片机,再到ARMLinux系统,涵盖了硬件设计、软件开发和项目实践,特别强调了智能小车项目的执行过程,包括电路设计、焊接调试和软件编程等环节。
摘要由CSDN通过智能技术生成

参考资料:实验室集训回放-嵌入式入门与进阶之旅_哔哩哔哩_bilibili

(2条消息) 【单片机/嵌入式】最完整学习路线_单片机学习_嵌入式修行者的博客-CSDN博客

1.联合培训资料-大纲

电路设计训练营(四期)

第一期:离线语言产品设计(安信可)

第二期:4G-GPS定位器产品设计/LuatOS(合宙)

第三期:仪器仪表的使用与设计(普源)

第四期:嵌入式入门与进阶/梁山派开发板(立创EDA)

2. 嵌入式学习路线图

2.1 嵌入式大纲路线

C语言 👉

硬件基础 👉

51单片机

32单片机 👉

ARM Linux

2.2 C语言

C语言需要掌握:

基础语法

常用数据类型

函数

指针

文件操作

2.3 硬件基础

硬件基础需要掌握:

初中物理:电流 电压 欧姆定律

认识基本元器件:电容 电阻 电感 芯片

会用万用表:电流 电阻 电压 二极管

会用示波器。

2.4 51单片机

51单片机需要掌握:

点灯

按键检测

串口通讯

定时器

中断

不超过2个月,推荐15天内跟着江科大走一遍

2.5 32单片机

1.选型:GD32、STM32、HC32…………

2.软件方面需要掌握:

(1)点灯

(2)GPIO:工作模式、GPIO框图

(3)中断:工作模式、外部中断、优先级/嵌套、中断向量表、中断类型、中断控制器、中断处理流程

(4)定时器:定时、PWM、RTC、看门狗

(5)ADC/DAC

(6)DMA

(7)协议:UART、IIC、IIS、SPI、SDIO、CAN、TCP/UDP、单总线、韦根、485、232、mqtt、USB

(8)存储器:SDRAM、FLASH(文件系统)、SD卡、EEPROM

(9)显示接口:SPI、IIC、8080并口、RGB

(10)传感器:光敏、温度、湿度、红外、超声波、GPS、压敏、气体、陀螺仪、NFC

(11)无线模块(通过AT指令):蓝牙(ESB866)、Wifi、4G、RF、Zigbee

3.硬件方面需要掌握:

(1)基础:工具使用👉(示波器、万用表、信号发生器、电源、热烙铁、热风枪)、焊接与电路调试、数电模电、高频电子

(2)硬件设计:LCEDA专业版👉(原理图PCB、3D模型、亚力克面板)

(3)仿真:原理图👉Spice仿真、PCB👉ADS仿真

(4)信号完整性

4.数据结构需要掌握:

数组、队列、堆栈、图、哈希、链表

5.GUI库需要掌握:

(1)目录:LVGL(小型设备)、QT(桌面、ArmLinux)、C#

(2)内容:LVGL👉(移植、常用控键)、QT👉(信号与曹、常用控件、制作一个桌面应用、跨平台)、C#(依赖环境少)

6.操作系统需要掌握:

Q:什么时候用操作系统?

A:不想用延时,熟练状态机/前后台。

(1)种类:

​ 实时操作系统👉UCOS、FreeRtos、RTT、LiteOS-m

​ 非实时操作系统👉 Linux

(2)FreeRtos内容:移植、任务管理、调度算法、消息队列、信号量互斥量、事件、内存管理

知识扩展:状态机、前后台

2.6 Arm Linux

1.Linux基础知识包括:

(1)虚拟机搭建(2)常用命令(3)vim/vscode
(4)shell(5)gcc(6)makefile

2.裸机开发包括(很少):

(1)汇编(2)arm体系架构(3)外设

3.Linux系统移植包括:

(1)Bootloader(2)Linux内核(3)根文件系统

4.Linux应用开发包括:

(1)Linux C👉内存、网络、多任务、文件I/O

(2)QT(交叉编译)

(3)python

(4)opencv

5.Linux驱动开发包括:

(1)字符驱动(2)块设备驱动(3)网络设备驱动(4)总线设备驱动(5)设备树

6.再往上:

(1)Debian(2)Ubuntu(3)Android

3.嵌入式项目路线图

3.1 项目式学习

定义:一站式全方位学习的方式,从硬件电路设计、PCB设计、元器件选型及采购、软件设计、软硬件调试,最终到项目完结标准的一套学习流程

3.2 项目选择

游戏机扩展板、交通灯扩展板、屏幕扩展板、智能小车

下面以弱基础做智能小车为例,讲解项目式学习路线图

3.3 智能小车项目图

3.3.1 项目方案前期分析

(1)做什么的车

(2)具备什么功能

(3)成本预算是多少

(4)需要的自身能力👉硬件基础(电路设计、PCB设计、焊接能力)、编程/软件基础、资料检索能力

3.3.2 总体设计方案

请添加图片描述

3.3.3 硬件电路设计

(1)EDA软件入门/软件基本使用:

工程创建(版本)、元件放置、导线连接、元器件搜索、DRC检查、常用快捷键

(2)电路设计流程:

单独电路需求分析👉元器件选型(选用哪种封装、器件的型号、是否满足需求)👉确定电路方案,开始绘制原理图👉原理图整理

(3)原理图整理:

· 添加说明文字,让原理图更加直观

· 方便他人阅读

(4)PCB设计:

· 智能小车PCB外型设计

· 元器件布局以及PCB走线

· PCB设计的规范性以及注意事项

· 常规工艺以及彩色丝印工艺

(5)器件以及PCB下单

· 元器件下单

· PCB下单

· 注意事项

3.3.4 硬件焊接以及调试技巧

(1)学习焊接工具使用:电烙铁、焊锡、镊子、热风枪、加热台、吸锡器、松香…………

(2)焊接注意事项:LED正负极、合理的焊接顺序、芯片的摆放…………

(3)焊接技巧:插件、0805、芯片

(4)万用表的使用:基本测量、短路、断路

(5)示波器使用:控制面板功能了解、基本操作、实战:测量一个PWM信号

(6)逻辑分析仪使用:功能了解、基本操作、实战:单步调试查看流水灯IO口电平变化

3.3.5 软件设计以及调试技巧

(1)开发环境:MDK安装、注册(破解)、驱动安装、常见问题(驱动安装后无法下载、KEIL安装问题、Flash等等)

(2)代码规范:不规范编程的缺点、代码规范性、创建一个规范的工程模板(参照《高质量C编程》林锐、华为内部规范、GSG谷歌规范)

(3)模块化编程:(原理图👉驱动原理👉代码实现👉实例展示)驱动层👉综合联调应用层 ——联动知识:状态机

TP:联动知识补充:JLC智能小车课程大纲

流水灯IO口电平变化

3.3.5 软件设计以及调试技巧

(1)开发环境:MDK安装、注册(破解)、驱动安装、常见问题(驱动安装后无法下载、KEIL安装问题、Flash等等)

(2)代码规范:不规范编程的缺点、代码规范性、创建一个规范的工程模板(参照《高质量C编程》林锐、华为内部规范、GSG谷歌规范)

(3)模块化编程:(原理图👉驱动原理👉代码实现👉实例展示)驱动层👉综合联调应用层 ——联动知识:状态机

TP:联动知识补充:JLC智能小车课程大纲

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值