从单片机转到嵌入式Linux的跨度大吗?

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

6bf70d59de1daddbdd74ba329c3ed06c.png

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

先说共同点

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

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

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

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

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

那差异点在哪里呢?

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

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

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

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

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

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

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

其次是调试

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

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

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

c5e179a53441579cc8843dbe28d8477e.png

不写长了~就这些~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有一种豁达叫开源

当人们在讨论开源的时候,第一时间想到的是索取,开源对很多开发者来说是好的事情,但是闭源对很多科技企业是有技术保护作用的。人们对软件的态度是经历过很多次变化的。在现代计算机研发初期,核心问题是硬件,寻找实现记…

用O(1)的时间复杂度删除单链表中的某个节点

用O(1)的时间复杂度删除单链表中的某个节点 给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下: struct ListNode {int m_nKey;ListNode* m_pNext; }; 函数的声明如下: void DeleteNode(ListNode* pListHea…

怎么选工作?

选择offer,一直是很困难的事,工作不是餐桌上的美食,你品尝了这个菜还可以去尝那一道菜,所以大家都害怕因为选错一方而失去了更好的机会。而那句「选择大于努力」,让很多人更看重选择。我会经常遇到同学向我咨询offer选…

为了兴趣爱好,我该选嵌入式么?

“绝对不要!!”“绝对不要!!”“绝对不要!!”喜欢听结论的同学们,我说的够清楚了吧?接下来,是为那些喜欢问“为什么”的小好奇们解答疑问的环节。为了让道理变得简单明了…

Sublime Text3(mac)一些插件和快捷键

Sublime Text3(mac)一些插件和快捷键 楚简约 关注 2017.02.24 17:02* 字数 1216 阅读 412评论 0喜欢 2下载地址http://www.sublimetext.com/3一、安装Package Control按Ctrl 调出console,粘贴下列安装代码到底部命令行并回车: 重…

没去公司上班的这两天

这周得到通知是居家办公,但因为项目的事,前两天去了公司,今天情况特殊,我需要去合作的公司调试,就没去公司。早上还是9点起来,因为合作的公司离我家很近,可以多休息一会。但早早就睁开了眼&…

linux pdm 查看工具,linux系统监控工具

通过系统监控可以了解系统的运行状态、及时发现异常、分析原因、提早解决,避免系统故障,确保用户对系统的感知度和满意度。IPTV系统一般是通过告警管理、日志管理、信令跟踪、探针、诊断测试来实现对系统的监控。小编为大家分享了linux系统监控工具&…

USB抓包

安装的时候需要选上安装完之后,会提示让你重启电脑,如果不重启电脑的话也看不到USB的设备。之后可以通过usb.src来过滤自己想dump的设备信息当然,有一个技巧是,你可以先停止读写你的USB,然后再操作你的USB设备&#xf…

Appium的环境搭建和配置

Appium的环境搭建和配置 一、安装Nodejs 下载nodejs安装包(https://nodejs.org/en/download/)安装 下载后,双击安装文件,按提示来安装。 测试安装是否成功:运行cmd,输入node –v 二、安装android的SDK 安装…

sqlite3的基本操作

转自:http://blog.chinaunix.net/uid-26833883-id-3239313.html一、数据库基本概念 A.数据(Data)能够输入计算机并能被计算机程序识别和处理的信息集合。B.数据库(Database)数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。注意&am…

收藏这些芯片原厂的代码仓库

本次给大家分享一些芯片原厂的代码仓库,这些资源已收录到咱们嵌入式大杂烩的资源仓库里了:https://gitee.com/zhengnianli/EmbedSummary我们用到一个新的芯片时,一般在它们的官网都可以找到一些入门、上手的资料。除此之外,有些原…

javascript计算小数保留两位小数,多位小数的方法

<SCRIPT LANGUAGE"JavaScript"><!--functionformatFloat(src, pos){ return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);}alert(formatFloat("1212.2323", 2));//--></SCRIPT>转载于:https://www.cnblogs.com/catxp/archi…

Android dumpsys命令详细使用

Android dumpsys命令详细使用 一、dumpsys命令介绍 1.命令说明 Dumpsys用户系统诊断&#xff0c;它运行在设备上&#xff0c;并提供系统服务状态信息 命令格式&#xff1a; adb shell dumpsys [system serbices] 2.系统服务查询 如果直接运行adb shell dumpsys&#xff0c;将会…

基于 esp32 + lvgl8.0 的小电视

一个有趣的作品&#xff0c;转给需要的小伙伴。详情可阅读&#xff1a;https://gitee.com/wangpeng25/the-little-bili-tv输入图片说明支持功能微信配网&#xff08;完成&#xff09;时间显示&#xff08;完成&#xff09;三日天气显示&#xff08;完成&#xff09;温湿度显示&…

同步滚动两个DataGrid

拿到这个首先想到的就是重写Scroll方法&#xff0c;可是想想工作量有些大&#xff0c;所以想在Form级别上做做手脚&#xff0c;看看DataGrid的成员列表可以看到这样两个保护性的方法&#xff1a;GridHScrolled Listens for the horizontal scrollbars scroll even…

整蛊偷快递的家伙!不愧是 NASA 工程师

分享个有意思的新闻给大家&#xff0c;一笑之余&#xff0c;也可以学习下文中主角的理工科思维。不知道你有木有过。。快递包裹被别人偷走的经历&#xff1f;&#xff1f;包裹历经波折终于到了家门口&#xff0c;结果。。却被人给顺走了&#xff01;&#xff01;报警&#xff1…

图解Cisco Packet Tracert之利用TFTP来升级路由器的IOS

对于我们这些学生来说&#xff0c;如果是自学的朋友来说&#xff0c;想摸到真机那实在是太难了&#xff0c;说去买一台呢&#xff1f;买来又没有多大作用&#xff0c;利用dynamips来模拟呢&#xff0c;他本来就是加载的IOS&#xff0c;在flash里面又没有IOS&#xff0c;这时候那…

不指导,一起学习

不敢说指导&#xff0c;只能说以自己的观点来说下这个事情。年前的时候&#xff0c;我一个朋友的朋友也想学电子方面的技术&#xff0c;他毕业后做汽修工作&#xff0c;但是没做多久没离职了&#xff0c;之后在工厂上班一段时间&#xff0c;最近两年帮亲戚一起打理一些生意上的…

linux按键检测结束,关于Linux下按键的检测

写这篇博客是因为自己想做一个fc模拟器&#xff0c;核心代码(6502和ppu的模拟代码)用的原子开发板的代码&#xff0c;人家是从pc向单片机移植&#xff0c;我是反过来了&#xff0c;不过因为写的不错&#xff0c;用函数指针代替了switch方法可以学习一下&#xff0c;so就用了它的…

C语言那年踩过的坑--局部变量,静态变量,全局变量在内存中存放的位置

先看几个概念&#xff1a; 1、bss是英文block started by symbol的简称&#xff0c;通常是指用来存放程序中未初始化的全局变量的一块内存区域&#xff0c;在程序载入时由内核清0。bss段属于静态内存分配。它的初始值也是由用户自己定义的连接定位文件所确定&#xff0c;用户应…