嵌入式选择Linux开发还是选择MCU开发?

嵌入式面试八股文合集及后续文章更新地址:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

一、系统架构对比

嵌入式Linux开发

  • 操作系统:完整的Linux操作系统,包含内核、文件系统、进程管理等
  • 硬件要求:通常需要MMU支持,RAM至少8MB以上,Flash/存储空间数十MB至数GB
  • 处理器架构:ARM Cortex-A系列、MIPS、x86等高性能处理器
  • 典型平台:树莓派、飞凌开发板、NXP i.MX系列、TI Sitara系列

嵌入式MCU开发

  • 操作系统:裸机开发或轻量级RTOS(如FreeRTOS、RT-Thread、uC/OS)
  • 硬件要求:无需MMU,RAM通常为KB级别,Flash数KB至数MB
  • 处理器架构:ARM Cortex-M系列、AVR、MSP430等低功耗微控制器
  • 典型平台:STM32系列、ESP32、Arduino、PIC单片机

二、开发环境与工具链

嵌入式Linux开发

  • 开发环境:Linux主机开发为主,交叉编译工具链
  • 编译工具:GCC交叉编译器、Makefile/CMake、Yocto/Buildroot
  • 调试工具:GDB远程调试、串口控制台、SSH远程访问
  • 系统构建:需要构建内核、根文件系统、设备树等
  • 版本控制:Git、SVN等,完整的CI/CD流程

嵌入式MCU开发

  • 开发环境:Windows/Linux下的IDE(如Keil、IAR、STM32CubeIDE)
  • 编译工具:专用IDE或ARM-GCC等工具链
  • 调试工具:JTAG/SWD调试器、逻辑分析仪、示波器
  • 系统构建:直接编译生成固件镜像
  • 版本控制:同样使用Git等,但工作流程相对简单

三、编程模型与开发特点

嵌入式Linux开发

  • 编程语言:C/C++为主,支持Python、Shell脚本等多种语言
  • 编程模型: 进程/线程模型系统调用接口文件IO操作网络套接字编程
  • 内存管理:虚拟内存管理,页表机制
  • 任务调度:抢占式多任务调度,优先级调度
  • 开发特点: 应用层与驱动层分离丰富的库和中间件支持标准化的接口和协议栈

嵌入式MCU开发

  • 编程语言:C语言为主,少量汇编语言
  • 编程模型: 中断驱动模型轮询/事件驱动直接寄存器操作状态机设计
  • 内存管理:静态内存分配为主,简单的堆管理
  • 任务调度:使用RTOS时有优先级调度,裸机时常用状态机或超级循环
  • 开发特点: 硬件抽象层(HAL)编程资源受限,需优化代码大小和执行效率直接控制硬件外设

四、通信协议实现对比

嵌入式Linux开发

  • I2C实现:
  • UART实现:
  • 网络协议:

嵌入式MCU开发

  • I2C实现:
  • UART实现:
  • 网络协议:

五、实时性与性能对比

嵌入式Linux开发

  • 实时性: 标准Linux内核:非实时系统,毫秒级响应实时Linux(RT-PREEMPT):软实时系统,可达微秒级响应Xenomai/RTAI:硬实时扩展,可达微秒级确定性响应

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式面试八股文全集 文章被收录于专栏

这是一个全面的嵌入式面试专栏。主要内容将包括:操作系统(进程管理、内存管理、文件系统等)、嵌入式系统(启动流程、驱动开发、中断管理等)、网络通信(TCP/IP协议栈、Socket编程等)、开发工具(交叉编译、调试工具等)以及实际项目经验分享。专栏将采用理论结合实践的方式,每个知识点都会附带相关的面试真题和答案解析。

全部评论
接好运
点赞 回复 分享
发布于 04-25 21:44 黑龙江

相关推荐

06-21 10:17
门头沟学院 Java
-- 小计 今年3月底,硕士毕业了。经历了秋招、春招的磨练,面试次数差不多有60多次,最终有幸进了某教育厂,拿了大厂的白菜价。就今年的行情,对于我一个双非硕士,已经是很不错的of了。回顾读研的过程,一路走来,真的不算容易!我是一个在家长眼里的懂事的孩子,在老师眼中的好学生,这便是我的人设,我至今还没跳出这个圈。话说回来,研一对读研生涯充满了期待,我自认为自己肯吃苦、肯努力、有拼劲,我渴望在读研期间长见识、长本领、认识一群优秀的人,我这么想只能说太天真。没错,我总是那么天真、甚至有些傻哈哈。研一刚开始跟着老师做项目,为一个国企开发一套OA管理平台,本以为很吊,心想肯定不少学东西,实际上不仅技术栈与求职技术脱节,而且团队很不规范,学校和国企、老师和企业员工,大家相互扯皮。而我,自认为是个责任心比较重的人,有些可干可不干的事,我却还真干,给一点点酬劳,使劲压榨学生,和老师抱怨也是自讨没趣。读研的经历只能说谁读谁知道。学校项目一直干到研二上学期末,研二上学期是最忙的,我们团队的女同学甚至熬了个通宵,我也出了不少力,还给团队搭了一个gitlab,配置了自动化部署。不能说没收获,代码能力也得到了提高,前后端也都会了,主要是扯皮太多,破事太多,太搞心态。之后研二下学期,从24年3月份开始,我和我的好伙伴三个人天天抱团去图书馆,改简历、背八股、做项目、刷算法、投实习。到了4月底陆陆续续都找到了实习,我是4月25号先去了某军工企业实习,实习的氛围很好,早9晚6,早中午管饭,待了两个多月,团建了3次,还打了人生第一次真人CS,真的体验不错,唯一不足就是成长不大,做的都是crud,也没什么中间件。后来,我一边干着一边找,跳槽到了一个大模型社交公司,这公司确实是互联网的风格,节奏快,我第一次知道还有code review,待了2个月,实习工资给的也不少,还有房补,唯一难熬的是当时第一份实习是在海淀区四季青附近租房,第二份实习地点是在望京,每天通勤将近4个小时,先骑单车到地铁站,之后坐地铁到公司附近地铁口,再转公交10分到公司,就这样我熬了一个月。期间房子还有蟑螂,女租户毛病还贼吉儿多,歪日。那一阵,每天坐地铁看谁都是煞笔,身上充满了戾气。不过,在这个公司确实有收获,各方面也正规了,接触到了一些主流的工具,强度也确实不小,开始到点就走,后来最晚10点下班。之后实习了一个月发了工资,我打算换地方住,实在熬不住了,去了草某地找了个城中村,离公司骑车10分钟,当时又觉得挺美,挺知足。直到9月初,我辞职备战秋招,开始先投一部分不太中意的厂,后来啥都投,9月确实不少有名的厂给了面试机会,但都没到终面。之后房租到期,回去找小伙伴一起准备秋招,每天投、每天一起准备,真的很煎熬,10月一个月没啥面试,到了10月底陆陆续续来了一些,回学校后,基本面一个过一个,但没太好的,最终选择去了某游戏乐园,他要求实习转正,我就去了。刚开始,感觉氛围很不错,带我的哥很和善,技术栈我也很喜欢,有高并发、微服务还是toc的,还特别正规,有单测有review,问了周围的人,说好好干好手里的活基本都能转正,我心想挺好,就是中午只能休息一个小时有点短,不过晚上七点准时下班可以有自己的夜生活。说实话当时挺知足的了,hr说转正之后给的也不算少,就感觉自己又行了,哈哈。元旦还约了在北京实习的同学搓了一顿,盼望着我两都能转正成功,他也去了某中厂实习。结果事与愿违,元旦节后公司政策调整,大裁员,实习转正的都寄寄,有个实习了六个月的产品也被裁了,我只知道互联网不稳定,没成想折磨不稳定,那种无力感,唉,我这辈子不想再有。就这样房租的押金也不要了,早早滚回去过年,过年玩的也不痛快,工作没定始终是个心事,我便发帖子在某客骂公司,唉,只图找点心理安慰罢了。过年期间,家里也是一大堆事,年龄大了好多事我都要帮忙,做饭、走亲戚、朋友聚餐等等。不过,家人对我的鼓励是最大的,感谢我的母亲,越发的感觉她的不容易,亲戚的关心总感觉那么的不真,不过也正常,换位思考一下,我对我的亲戚也没有那么真。真正关心你的不过父母而已。过完元宵,我开始准备面试的东西,陆陆续续开始投某直聘,也确实有面,但是不太对口,之后我决定回学校,学校学习环境好些,便开始了春招之路,3月初开始,几乎每天都有面,但是都不是太满意的公司,基本上又是面一个过一个,煎熬到月底,拿的出手的就是一个研究所of,爱奇艺泡池子,某教育厂of。毕业最后一天签了某教育厂的三方,清明后入职。至今,已经待了两个多月了,感觉团队氛围不错,薪资不低,技术栈也可以,就是流程没那么规范,自己凭习惯写单测,不会太细致地review,节奏贼快,几乎每天都有上线,一天差不多12个点(算上午休和晚饭时间)。总的来说,还是不错的,我身边的同事也很不错,很实在。插一嘴,实习期间,也遇到过好心人。我第一份实习的时候,团建过程中,我想着回去笔试,结果发现时间来不及了,我就找了个网吧,结果定位到的网吧地址早就不干了,我一看时间真的来不及了,滴滴司机帮我随便问了一个路人,哪里能用电脑笔试啥的。结果那个路人直接把我带到他的公司,用他的笔记本做了一个小时的笔试,本来人家都要回家的,结果陪了我一个小时,真是遇到好人了。还有一次,我第三次实习的时候,也是去的一个城中村租房,我大包小包拿了一堆,下了地铁就自己一点一点拖着进了村,有个大哥骑着摩托,看我这么多行李,直接说“放我车上,我给你拉过去”,开始我还有戒备心里,我就追着他跑,没想到他直接给我带过去了,放下行李二话没说就走了,我只能一个劲儿说谢谢。一路走来,真的算的上坎坷,天津北京来回跑了不下30次,还有租房,那种每次面试前的煎熬(尤其是对于一些还算中意的公司,面试前真的是有些说不出的煎熬)。感觉真的就是 运气 > 学历 > 实力,没有实力不行,没学历现在也几乎不行,有学历没太有实力应该可行,很有实力学历差点应该也可行,另外92和重本还是很顶用的,简历筛基本稳过,但对于双非来说,在实力的基础上,只有不断地撞、不断地碰、不断地坚持,兴许才会有好的运气!兴许!但即便是那一点点的可能也是可能!愿每一个拼搏的年轻人都能找到自己满意的工作,即使当前不如意,将来也能如愿!(补充一点:信息差也是很重要的,有一些了解春秋招的师兄师姐很管用,好多优质的资料、星球啥的能提高很大的效率,感觉纯靠B站免费的视频可能不太够,就比如别人都加了什么星球,你还只看B站,就有点吃亏。)
点赞 评论 收藏
分享
评论
4
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务