编程进阶网编程进阶网
  • 基础组成体系
  • 程序编程原理
  • 异常和IO系统
  • 六大设计原则
  • 设计模式导读
  • 创建型设计模式
  • 结构型设计模式
  • 行为型设计模式
  • 设计模式案例
  • 面向对象思想
  • 基础入门
  • 高级进阶
  • JVM虚拟机
  • 数据集合
  • Java面试题
  • C语言入门
  • C综合案例
  • C标准库
  • C语言专栏
  • C++入门
  • C++综合案例
  • C++专栏
  • HTML
  • CSS
  • JavaScript
  • 前端专栏
  • Swift
  • iOS入门
  • 基础入门
  • 开源库解读
  • 性能优化
  • Framework
  • 方案设计
  • 媒体音视频
  • 硬件开发
  • Groovy
  • 常用工具
  • 大厂面试题
  • 综合案例
  • 网络底层
  • Https
  • 网络请求
  • 故障排查
  • 专栏
  • 数组
  • 链表
  • 栈
  • 队列
  • 树
  • 递归
  • 哈希
  • 排序
  • 查找
  • 字符串
  • 其他
  • Bash脚本
  • Linux入门
  • 嵌入式开发
  • 代码规范
  • Markdown
  • 开发理论
  • 开发工具
  • Git管理
  • 百宝箱
  • 开源协议
  • 技术招聘
  • 测试经验
  • 职场提升
  • 技术模版
  • 关于我
  • 目标清单
  • 学习框架
  • 育儿经验
  • 我的专栏
  • 底层能力
  • 读书心得
  • 随笔笔记
  • 职场思考
  • 中华历史
  • 经济学故事
  • 基础组成体系
  • 程序编程原理
  • 异常和IO系统
  • 六大设计原则
  • 设计模式导读
  • 创建型设计模式
  • 结构型设计模式
  • 行为型设计模式
  • 设计模式案例
  • 面向对象思想
  • 基础入门
  • 高级进阶
  • JVM虚拟机
  • 数据集合
  • Java面试题
  • C语言入门
  • C综合案例
  • C标准库
  • C语言专栏
  • C++入门
  • C++综合案例
  • C++专栏
  • HTML
  • CSS
  • JavaScript
  • 前端专栏
  • Swift
  • iOS入门
  • 基础入门
  • 开源库解读
  • 性能优化
  • Framework
  • 方案设计
  • 媒体音视频
  • 硬件开发
  • Groovy
  • 常用工具
  • 大厂面试题
  • 综合案例
  • 网络底层
  • Https
  • 网络请求
  • 故障排查
  • 专栏
  • 数组
  • 链表
  • 栈
  • 队列
  • 树
  • 递归
  • 哈希
  • 排序
  • 查找
  • 字符串
  • 其他
  • Bash脚本
  • Linux入门
  • 嵌入式开发
  • 代码规范
  • Markdown
  • 开发理论
  • 开发工具
  • Git管理
  • 百宝箱
  • 开源协议
  • 技术招聘
  • 测试经验
  • 职场提升
  • 技术模版
  • 关于我
  • 目标清单
  • 学习框架
  • 育儿经验
  • 我的专栏
  • 底层能力
  • 读书心得
  • 随笔笔记
  • 职场思考
  • 中华历史
  • 经济学故事
  • 01.嵌入式开发路线
  • 02.嵌入式Linux分类

01.嵌入式开发路线

目录介绍

  • 01.嵌入式开发大纲
  • 02.C/C++基础技能
  • 03.操作系统与Linux基础
  • 04.Linux编程基础
  • 05.嵌入式Linux应用开发
  • 06.开发涉及到技术点

01.嵌入式开发大纲

1、C语言(熟悉,因为很多库都是基于C写的,调用或者移植需要)

2、C++语言(精通,开发使用的主要语言)

3、Linux操作系统(系统构成、启动原理、命令、权限、文件管理、驱动、进程、网络、服务管理、软件管理、各种系统api调用等)

4、嵌入式Linux应用开发(环境搭建、IDE使用、项目构建、模拟调试、真机调试等)

Android进阶提升

模块描述预计时间
C语言基础语法,输入输出,函数,结构体,指针,预处理,文件操作等大概3天
C++语言基础语法,函数,指针,引用,类,多线程,锁,内存分配,异常大概4天
Linux操作系统系统概念,文件系统,进程线程,网络,权限,指令,各种api大概5天
Linux应用开发结合一本入门书籍,熟悉开发环境,GUI图形编程,综合案例学习大概10天

02.C/C++基础技能

2.1 C基础技能

01.基础语法。熟悉C语言基础语法,运算,表达式,编译原理。

02.变量和数据类型。熟练基本数据类型,变量和常量,枚举和派生类型,字符串类型。

03.循环和选择。选择结构,循环结构,跳转语句等。

04.输入和输出。缓存和字节流,print输出数据,scanf,getchar等。

05.数组和容器。熟练使用数组和一些常见的容器。

06.函数和返回值。熟练c中函数定义,调用,值传递,函数模版,作用域等。

07.结构体。熟练使用结构体,定义,访问等。熟悉共用体,位域。

08.指针。熟悉指针使用,指针运算,指针数组,函数指针,指针传递等。

09.预处理。熟悉预处理器的使用。

10.文件操作。熟悉文件操作,文件读写,追加等操作。

11.应用调试。熟悉c语言断点调试,单步调试,断言函数,调试信息输出等。

2.2 C++基础技能

01.基础语法。数据类型,常量,变量,字符串,C++编译规范和原理。

02.运算符和表达式。算术,赋值,比较,逻辑,位,等各种运算符和表达式。

03.判断和循环。选择结构,循环结构,跳转语句等。

04.函数实践。函数调用,常见样式,值传递,函数声明,模版函数等。

05.指针和引用。指针定义,占用内存,空指针和野指针,指针和数据,指针和数组。

06.数组和容器。数组定义和使用,序列容器,关联容器,无序容器使用等。

07.输入和输出流。基本输入和输出,文件操作,IO读写等。

08.类和对象。结构体定义,结构体参数,对象的创建。

09.继承和派生。熟悉继承,重载函数,多态实践,抽象类和数据抽象。

10.多线程和并发。熟悉线程创建,取消,连接和分离,线程休眠和唤醒,并发编程。

11.线程安全锁。搞懂同步机制,线程安全锁使用,互斥锁mutex使用,解决并发问题。

12.内存分配堆和栈。动态内存分配,指针内存管理,内存分区模型等。

13.异常处理。熟悉异常声明和处理,定义异常,异常捕获设计等。

14.STL标准模板库。熟悉STL算法,迭代器,适配器,函数对象等。

03.操作系统与Linux基础

Linux基础:学习Linux的基本命令、文件系统、权限管理、文本处理工具(如grep、sed、awk等)。

操作系统概念:学习操作系统的基本概念,如进程、线程、内存管理、文件系统、I/O操作等。

04.Linux编程基础

系统编程:学习Linux系统编程,掌握文件I/O、进程控制、线程编程、IPC(进程间通信)等。

网络编程:学习套接字编程,理解TCP/IP协议,掌握基本的客户端和服务器编程。

嵌入式Linux:学习嵌入式Linux的基本架构,理解交叉编译、Bootloader、内核裁剪、根文件系统制作等。

05.嵌入式Linux应用开发

01.嵌入式系统基础。熟悉嵌入式系统概念,结构,操作系统,软件开发流程。

02.嵌入式C/C++语言基础。预处理,程序可移植,C和汇编接口,内核常见数据结构。

03.嵌入式Linux开发环境。环境搭建,开发环境配置,内核和移植,文件系统构建。

04.嵌入式文件IO编程。调用编程接口,系统IO概述,底层文件IO操作,串口应用,标准IO编程。

05.嵌入式Linux多任务编程。多任务,进程编程,熟悉进程通信,编写进程通信案例。

06.嵌入式网络编程。网络编程知识,Web服务器,NTP客户端实现。

07.QT图形编程学习。嵌入式GUI熟悉,窗口部件,界面编程,对话框等。

08.嵌入式应用程序练习。结合GitHub上一些优秀案例,找一到两个案例学习和练习一下。

06.开发涉及到技术点

1.数据处理:IO流,日志文件保存,文件处理,数据库使用等

2.网络:网络请求(Https),json数据解析,数据运用,网络连接

3.通信:进程间通信熟练使用,信号,共享内存,消息队列,管道等

4.UI相关:窗口部件,界面,文本,图片,熟悉LVGL框架,熟悉QT界面编程

5.硬件:音量调节,摄像头取流,图片编解码,传感器,补光灯,音频播放,网络,蓝牙

6.应用:应用打包,更新升级,应用重启

7.硬件交互:USB,串口通信,韦根

8.安全:包权限,签名

9.ROM相关:烧录,开机动画

贡献者: yangchong211
下一篇
02.嵌入式Linux分类