历史上的今天
今天是:2026年01月05日(星期一)
2023年01月05日 | 单片机属于嵌入式系统吗?嵌入式开发要学哪些课程?
2023-01-05 来源:zhihu
我们在做产品开发的时候,基本很少去了解这些概念性的东西。
后面我特意去了解了一下,今天就把这些概念分享给有同样问题的朋友。
嵌入式一般叫嵌入式系统。
大家可以理解成是硬件和软件都经过剪裁的计算机。
一般像我们使用的电脑是通用计算机,而嵌入式系统是专用的计算机。
专用的计算机可以灵活地对硬件和软件进行剪裁,剪裁以后它更适合去做对成本、体积、功耗、智能控制有严格要求的产品,比如说家电类、汽车类、医疗类、工业类、军事类等电子产品。
一个嵌入式系统的核心就是它的处理器,处理器有几种类型:

1.嵌入式微控制器MCU(Micro Control Unit)如8051/STM32等等。
2.嵌入式DSP处理器 (Digital Signal Processor)专门用于信号处理,比如数字滤波,FFT、频谱分析、典型TI公司的TMS320C2000/C5000。
3.嵌入式微处理器MPU(Micro Processor Unit)性能更强,外设资源更丰富,如AM186/88、PowerPCMIPS、ARM
4.嵌入式片上系统SoC(System on Chip)
5.可编程片上系统SoPC(System on a Programmable Chip)
而我们单片机就属于嵌入式控制器MCU这类,所以单片机当然是属于嵌入式系统。
从上面的处理器分类,其实可以衍生出很多别的职位,比如说FPGA方向,Linux方向。
所以,我又总结了从事嵌入式开发的一些主流职位,大家可以根据自己喜好入座。
1. 单片机工程师/嵌入式工程师
2. Linux系统开发工程师
3. Linux应用工程师
4. 安卓系统开发工程师
这4个职位,前2个是偏向于硬件驱动层,后2个是偏向应用层。
我一直是在做单片机开发,所以针对这个职位,来说一说如果想从事这个开发需要学习哪些课程?
技术还是会更新迭代的,所以如果你根据某些学校那些十年不变的教学内容来学习的话,很有可能与实际岗位需求对不上。
最好的办法就是直接通过招聘平台搜相关的职位,来看看他们的岗位需求。
下面是我随便筛选的一家公司的需求:
单片机工程师/嵌入式工程师
岗位要求:
① 熟悉单片机基本的通讯协议接口,IIC、SPI、串口、CAN等。
② 熟练运用单片机各种外设,如TIME、USAR、PWM、中断、DMA、ADC。
③ 熟练掌握C语言及单片机(STC、STM8、STM32系列)编程开发,代码要求规范整洁。
④ 至少熟悉一款PCB软件,能看懂原理图。
⑤ 各种项目经验
我们从岗位需求不难分析出,以下3块的内容是我们的必修课。
1. C语言
2. 单片机
3. 基础电路
C语言没什么可以说的了,只要你想玩单片机,是必须要学的,而且它的重要性我认为应该排在第一位。
单片机当做工具来学习就可以了,可以先学STC 51的,烧录程序比较方便,学完以后再学STM32F103系列,最典型,实际应用也最多。
至于上面写的各种外设TIME、USART、PWM都是单片机的内部资源,我们在学习单片机的过程中肯定会接触到,不用单独去学习。
最后还需要学习电路基础,我们是用c语言写程序把单片机外设开起来,然后通过外设去控制外围的电路实现产品功能,如果电路图都看不懂,就不用谈控制了。
史海拾趣
|
在mempool.c的191行,下面这段代码中红色部分是不是有问题啊? /* init memory pool */ mp->block_size = RT_ALIGN(block_size, RT_ALIGN_SIZE); mp->size = (block_size + sizeof(rt_uint8_t *)) * block_count; &n ...… 查看全部问答> |
|
最近公司接了个活,要维修老模块,该模块使用摩托罗拉MC6809和68000微处理器,使用地址总线外扩EPROM作为程序存储,现在想修改它的功能,无奈找不到它的编译环境,网上找到一款6800IDE软件可以把汇编编译成机器码在计算机上模拟该处理器仿真运行, ...… 查看全部问答> |
|
威视锐ZYNQ开发板-ZingSK-USB摄像头视频采集与QT显示存储 一、概述此文档介绍了基于ZingSK运行USB摄像头视频采集与QT显示存储的必要的步骤。此文档所有命令均是在Ubuntu12.04 x86_32操作系统下完成。 硬件平台:ZingSK开发套件开发环境:Windows7-32位、VMware 9.0 + Ubuntu 12.04、arm- xilinx- linux-gn ...… 查看全部问答> |
|
在调I2C,只是在示例上更改了从机地址,使用的是AT24C16,但是程序就是死在一个地方,貌似收不到应答信号,求指导!! 就是死在红线的那一句 #include \"msp430g2553.h\" #define CPU_F ((double)1000000) #define delay_us(x) __delay_cycle ...… 查看全部问答> |
|
Phoenix主板,它体积小巧,一手掌握;它性能强大,双核cpu和双核GPU可满足家庭影音娱乐;它外围接口丰富,使得您需要产品原型设计,以及DIY新奇开发有用武之地;它平台开放,包括Android源代码和Linux源代码以及详细的硬件设计资料;Phoenix非常 ...… 查看全部问答> |




