单片机与嵌入式Linux有何不同?转不转?

Posted 嵌入式大杂烩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机与嵌入式Linux有何不同?转不转?相关的知识,希望对你有一定的参考价值。

这是我今天一个同学问我的

我再零散的说一些观点,如果大家有这方面的经验,也帮忙在文章下留言,谢谢大家。

先说共同点

单片机和嵌入式他们最终都是要跑硬件的,所以你也会遇到像GPIO口、I2C、串口、SPI、定时器、看门狗这些问题。

所以如果你学了单片机,那么你在这些东西上肯定是有积累的。那么这些就是你的优势,如果你让一个学java的去做嵌入式开发,我觉得并不合适,因为他可能对电子的很多东西不懂,他可能看不懂原理图,也不会用示波器万用表,也不知道什么是中断,中断向量之类的。

但是你如果是单片机开发,这些你都了如指掌,那,这就是优势。

但是从单片机开发到嵌入式Linux,我觉得要先看看多任务。

如果有了多任务的概念,那么不管你是做RTOS还是Linux都是合适的。

那差异点在哪里呢?

嵌入式的特点是软硬件可裁剪,所以从单片机到嵌入式Linux,你作为软件开发,最大的问题就是裁剪,根据不同的硬件配置做不同的裁剪软件。

而且,从单片机到Linux,它的难度可以说是指数级增加。

你可以用单片机来做一个U盘,嗯,你做出来了。

然后你到Linux下去看看USB的架构,嗯,你绝对是懵逼的,因为绝壁是太复杂了,所以你想在没有完全理解的情况下就给这些代码动刀子,你做不到。

我今天和我一个同事聊天,他跟我说,以前他做手机开发的,做那些驱动,也就是供应商给给代码,然后推进下进度就好了。

他说的没有错,很多小厂商就是这么做的,但是难就难在,可能某个修改就一行代码,但是你就是不知道在哪里,要是你没有经验,对架构不熟悉,你绝壁要熟悉上一个星期~,我之前在中兴调一个马达驱动,找驱动文件都找了很久,还要理解马达的电机驱动原理,最后去验证对焦那才是一个让我崩溃的事情。

所以,从单片机到嵌入式Linux,你对架构的掌控是一个很大的挑战。

其次是调试

大的系统,要给它开刀做手术,可不是一刀子下去一刀子出来就完事,还是需要针对性的去做调试,对不同的问题先有理论基础再动刀子。

哦,你以为嵌入式Linux不写代码

你需要写C,有时候因为某些问题,你需要写C++,python,shell~

不写长了~就这些~

猜你喜欢:

一个高效的界面开发解决方案

分享一组通用的C基础库

一个实用的、可应用于单片机的内存管理模块

分享一款小巧好用的代码对比工具

一个300多行代码实现的多任务管理的OS

分享嵌入式中几个实用的shell脚本!

分享一份嵌入式软件工具清单!

queue.h:一个实用的头文件

实用 | 10分钟教你搭建一个嵌入式web服务器

干货 | 浅析程序开机自启动

几个Makefile通用模板分享!

实用 | 一个高性能通信库的简单使用分享

实用工具 | LVGL GUI-Guider的使用分享

C语言、嵌入式中几个非常实用的宏技巧

在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。

点击阅读原文,查看更多分享。

点个

以上是关于单片机与嵌入式Linux有何不同?转不转?的主要内容,如果未能解决你的问题,请参考以下文章

ST500LM000/ST1000LM014 希捷SSHD不转不识别不认数据恢复,希捷混合硬盘数据恢复

韦东山嵌入式全系统:单片机-linux-Android对硬件操作的不同侧重点

嵌入式开发板的 BSP 和 U-Boot 有何不同?

Nios ii处理音频信号有何优点

fpga与单片机,嵌入式的区别,感谢

机械设计与制造专业学习嵌入式单片机开发容易吗?