硅农预备役_01
从技术栈和思维模式来拆解一下。
单片机/嵌入式(如STM32)核心是微处理器(CPU),你写C语言程序,编译成机器码,在CPU上顺序执行。它的行为是时间维度的,一件事做完再做下一件。系统复杂度高时,要靠实时操作系统(RTOS)来调度任务。
FPGA核心是一堆可编程的逻辑块和连线资源,你用HDL(如Verilog)描述的是电路结构。它的行为是空间维度的,所有描述好的电路模块只要通电就同时工作,天生并行。你其实是在“造”一个专用的数字电路芯片。
应用场景因此不同:嵌入式适合有复杂算法、协议栈、人机交互的系统(比如物联网设备、机器人控制器)。FPGA适合高速信号处理、协议转换、ASIC原型验证等对实时性和并行性要求极高的场合(比如通信基站、视频处理、金融加速)。
职业选择上,没有绝对好坏。嵌入式开发就业面广,从消费电子到汽车电子都需要,容易入门和转型。FPGA开发更像硬件工程师和算法工程师的结合, niche 领域,在通信、军工、数据中心、芯片公司需求大,不易被替代,起薪通常更高,但知识更新快(工具、协议)。
给你的建议是,如果还是学生,可以都接触一下。用单片机做个智能小车,再用FPGA做个VGA显示或简单CPU,感受差异。喜欢哪个方向,再深入下去。市场永远缺真正精通的人,而不是只会皮毛的。
