【超全面】嵌入式干货学习系列

学习准备:
需要C语言基础
VMware下的ubuntu14.04(Linux基础篇-网络篇),博主用的是ubuntu18.04
华清远见FS4412开发板(ARM篇-Linux驱动篇)- 可在淘宝购买 或者 在华清远见官网进行租赁
学习建议:
本系列基础篇-网路篇通用,ARM篇-驱动篇可以根据教程方法应用于不同的开发板
可以先看关于Linux的教学视频,在来看本系列
Linux学习内容很多,其中一个方面都可以作为一辈子的学习,建议学习时,先总体在细分,先运行在原理。
二、Linux基础篇
  本篇讲解linux系统的常用操作以及使用的命令,通过下面5节内容可以对linux系统有一个初步掌握以及应用。
【Linux】基础篇一–linux系统常用命令
【Linux】基础篇二–软件包管理及shell命令
【Linux】基础篇三–linux shell命令
【Linux】基础篇四–shell脚本编程
【Linux】基础篇五–linux C语言高级编程
【Linux】基础篇六–Makefile
学习上面的六篇后,linux的学习算是入门了。

三、数据结构与算法基础
  在学习linux应用前,需要对数据结构与算法有一个基础掌握,不仅是为了C语言的提高,因为后面的学习也运用了数据结构与算法的相关知识,当然您如果是这方面的高手可以跳过本篇往下学习。
【数据结构与算法】程序的内修

三、Linux应用篇
  本篇讲解Linux上层的知识,学习完本篇可以对Linux上层应用制作有一个初步了解。
【Linux】应用篇一–标准IO
【Linux】应用篇二–标准IO的字符输入和输出
【Linux】应用篇三–流的刷新定位与格式化输入输出
【Linux】应用篇四–文件IO
【Linux】应用篇五–目录与库
【Linux】应用篇六–进程的创建与回收
【Linux】应用篇七–exec函数族和守护进程
【Linux】应用篇八–线程的创建与回收
【Linux】应用篇九–线程的取消与互斥
【LInux】应用篇十–条件变量和线程池
【Linux】应用篇十一–进程间的通信
【Linux】应用篇十二–共享内存
【Linux】应用篇十三–信号机制
【Linux】应用篇十四–消息队列与信号灯

建议学习本篇时,多使用man手册,重点掌握IO、进程、线程的知识。
最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经
全部评论

相关推荐

联洲 嵌入式软件开发 总包48w(sp+3档)
点赞 评论 收藏
分享
从事嵌入式,纯技术涉及到的内容主要是C语言、arm、STM32驱动、FreeRTOS、Lwip等等。电子电气方向涉及到的主要是:485、232、串口、DCDC\ACDC、网络通信、数据处理。C语言:1.static 关键字的作用、使用方式:全局静态变量:全局静态变量使用范围是该.c文件所有位置。局部静态变量:局部静态变量使用范围是该函数,且只会在初始化时申明一次,后续变化只能通过赋值。静态函数:函数调用范围只限制于该.c。2.volatile关键字的作用:笼统的讲,volatile关键字就是让程序每次都去寄存器中获取该字段的值,保证了数据变量的准确性。什么时候用到该关键字?1.变量是全局变量,且多个线程同时操作该变量的时候。2.中断中处理的数据变量。3.硬件寄存器中的数据。3.const关键字的作用:4.main函数之前进行了什么操作?简单来说就是各种初始化操作。5.堆和栈有什么区别?什么是堆?什么是栈?他们之间有什么区别和联系? -STM32:1.串口数据接收是怎么处理的?串口数据处理有两种方式:1.通过串口中断接收到数据后,将数据放置环形缓存或队列中,待数据处理函数进行处理时进行处理。(RTOS)2.通过轮询,时间片方式调度串口寄存器判断是否有数据,有数据则放入缓存待处理。(裸机)FreeRTOS:1.简述一下什么是RTOS系统FreeRTOS为例,RTOS系统是以抢占优先级为主,时间片为辅实现任务调度的操作系统,主要核心上实现的是任务调度的功能,使任务具有实时性。2.在任务中怎么进行数据传输?什么方式?任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。1.消息队列发送数据的方式可以是发送数据本身和发送数据的地址指针。2.全局变量使用供所有任务获取和处理,但全局变量占用内存较多,而且不好管理。3.信号量一般作为标志位使用。附面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
从事嵌入式,纯技术涉及到的内容主要是C语言、arm、STM32驱动、FreeRTOS、Lwip等等。电子电气方向涉及到的主要是:485、232、串口、DCDC\ACDC、网络通信、数据处理。C语言:1.static 关键字的作用、使用方式:全局静态变量:全局静态变量使用范围是该.c文件所有位置。局部静态变量:局部静态变量使用范围是该函数,且只会在初始化时申明一次,后续变化只能通过赋值。静态函数:函数调用范围只限制于该.c。2.volatile关键字的作用:笼统的讲,volatile关键字就是让程序每次都去寄存器中获取该字段的值,保证了数据变量的准确性。什么时候用到该关键字?1.变量是全局变量,且多个线程同时操作该变量的时候。2.中断中处理的数据变量。3.硬件寄存器中的数据。3.const关键字的作用:4.main函数之前进行了什么操作?简单来说就是各种初始化操作。5.堆和栈有什么区别?什么是堆?什么是栈?他们之间有什么区别和联系? -STM32:1.串口数据接收是怎么处理的?串口数据处理有两种方式:1.通过串口中断接收到数据后,将数据放置环形缓存或队列中,待数据处理函数进行处理时进行处理。(RTOS)2.通过轮询,时间片方式调度串口寄存器判断是否有数据,有数据则放入缓存待处理。(裸机)FreeRTOS:1.简述一下什么是RTOS系统FreeRTOS为例,RTOS系统是以抢占优先级为主,时间片为辅实现任务调度的操作系统,主要核心上实现的是任务调度的功能,使任务具有实时性。2.在任务中怎么进行数据传输?什么方式?任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。1.消息队列发送数据的方式可以是发送数据本身和发送数据的地址指针。2.全局变量使用供所有任务获取和处理,但全局变量占用内存较多,而且不好管理。3.信号量一般作为标志位使用。附面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

更多
牛客网
牛客企业服务