在Linux下掌握arm和操作系统(0)--开篇闲聊

很明显我是标题党,真正的标题是《在Linux下学习stm32和NUTTX RTOS》。
由于stm32也是ARM的,NUTTX也是操作系统,stm32和NUTTX有着arm的基本特征,NUTTX有着操作系统的基本特征,如果把这两者搞明白了,
你会发现其他的arm芯片和操作系统似曾相识。
至于为什么选这两者结合,原因有一下几点:
1,nuttx对stm32支持的特别好,
2.stm32资料很多,很容易找到资料学习,或者很多人学过
3.nuttx和非常成果的Linux很像,而且开源协议更有利于开发产品
4.最重要的是,这两个相对来说功能都很丰富,而且相对简单。因为简单,我们才有信心征服他,我们大多数人也有能力征服他。

但是为什么一定要在Linux下?因为在Windows下学不会系统,在Windows下开发也许的确很方便,正因为方便,你不去思考,你不知道为什么会这样,时间越长越不明白,
Linux正好相反,它把所有的都呈现给你,让你在做每一步的时候都明明白白的知道自己在干嘛,刚开始可能觉得难,但时间久了就越明白系统的原理。就算不学习这么底层的原理,Linux的使用还是必须的。

说大了,这是学习计算机和操作系统的最佳实践。也是最功利的一种选择,就arm的架势:低端,中端,高端全线布局可以说,未来是arm的。
从操作系统的角度看,Linux已经名满天下,但是Linux的实时性不好和不能再MCU上跑的限制让NUTTX给填补了,看起来就像在MCU上实现了Linux。

大家都知道Linux已经接管了世界,现在各种智能设备基本上都是了Linux的天下了。Linux使得形态各异,功能千差万别的设备让用户看来都是统一的文件操作
大大方便了人们使用,正是因为标准而统一的操作方式才有了Linux辉煌的今天。明天Linux必将继续辉煌,在移动端,在云端,在AI,在PC,在我们能想到的或想不到的地方。
然而随着物联网(IOT)的兴起,各种以MCU为终端的网络节点将井喷式的出现。而为复杂系统设计的Linux并不是很适合运行在MCU上。
在这一领域,目前有很多OS出现,但是我最看好的是NUTTX,因为它几乎就是一个精简版的Linux,可以运行在8-32位的MCU上,而且开源协议更宽松。
这样一来,Linux的标准将实现大一统,在人和机器中间形成一个统一的OS层,就像Linux系统中VFS在各种文件系统中的作用一样,这样一层统一的OS层将使人和物联网这一更大的系统更统一。

反过来说,可以通过stm32和NUTTX的学习为更进一步学习arm和Linux打下坚实的基础,有了这个基础,更进一步的学习会更容易,更深入。


乱七八糟的说了这么多,核心意思就是,在Linux下学习stm32和NUTTX是最好的选择,没有之一。
本系列文章,都是默认大家有C语言和Linux的基础。

为什么?

我为什么会写这些文字,这要从我的经历说起,我是一个机械专业毕业的,在学校就学过C语言,但是我一直想把电脑的原理搞清楚,当时总在想,我生活的时代最伟大的发明是什么?这毫无疑问就是计算机,
在工业革命时期,掌握蒸汽机的人肯定走在时代的前列,这个信息化时代掌握了计算机的人最起码不会被社会淘汰吧,哈哈哈

出于这样的考虑,我就想一定要学懂计算机,但是要学懂计算机该从哪里入手?我唯一的入口就是C语言嘛,大一就学了C语言,我大二又学了一遍。就是在VS2008上把谭浩强的C上面的例子又学了一遍。
但是还是感觉啥都不会啊。我们都知道程序不就是算法加数据结构嘛,算法根据不同的问题有很大不同,而数据结构是通用的,那我就必须要学习数据结构。于是就在图书馆借了大学唯一借的书
《数据结构》粗略的学习了队列,链表,栈。二叉树,堆,图都看不懂。。。。。到这里就遇到瓶颈,不知道如何是好也没有方向。学习之路就搁浅了一段时间,当时也想着作为一个机械专业,
学那些计算机的知识估计以后也用不着。

但是想要学习计算机的死心仍不改,第二年就报了一个机器人的选修课,在那个课上到是没学到啥东西。但是遇到了一个人--彭州,我特别感谢他,正是他的经历改变了我的想法,他也不是计算机专业的
但是他的能力,整个软件学院的人估计没有几个人能比的上,他在大四的时候在外面接私活已经挣了很多钱了。而且关于我对计算机的任何问题他都能很通俗的告诉我,每次上课回来的路上,我就一直问
他各种问题,得到了及时的回答。
榜样的力量是强大的,他都可以办到的事情,我应该也能办到,因为我们的情况很相似。于是内心的热情又被点燃,我要继续学习计算机。

从哪里开始呢?我得知单片机是最简单的计算机,咱能力不行,还是从最简单的开始,这就是传说中的--“捏软柿子”。

因为我们没有单片机课程,于是从隔壁班借了一本《单片机与接口技术》,泡了几天自习室,似懂非懂。感觉这是一个实践性很强的课程,必须要实践才行。
在淘宝上看了好长时间,51单片机的开发板还是很多的,我选了一个最便宜的,大概40多块钱吧,当时我还没有淘宝账号,让舍友帮我买了。

有了开发板,我发现网上有很好的视频教程,其中郭天祥的《单片机十天征服你》特别好,讲的特别通俗易懂,曾经有天熬了一个通宵看视频教程,感觉如获至宝。就那样学会了51,当时有种强烈的满足感,
感觉我都能上天了,哈哈哈。然而学了单片机之后发现,要做一个系统还需要很多硬件知识,很多招聘信息显示要会画电路板。我在学习画电路板路上迷失了。。。

期间没有方向,学习了PS,Flash动画等反正乱七八糟学了一些,也没啥用,除了给当时的女朋友现在的老婆做了一个小游戏,P了些照片,给他做了《基于单片机的智能玩具》的毕业设计之外就没别的输出了,
不过说起来也值了,用学习的东西换回来一个老婆还是很值得的嘛,哈哈哈

好像有些跑题来了,接下我就毕业了,显然没有找到计算机相关的工作,我去了中煤科工集团下的一个研究院,做的是挖煤的设备,期间下车间,下煤矿,画图纸,对于工作内容当然是不满意了。
想学习计算机的贼心仍然没有死,
我当时就在网上看,如果要找一个计算机相关的工作需要哪些技能,看了很多招聘要求,发现Linux的嵌入式开发比较适合我,但是我对于Linux和arm一点都不懂啊?不懂就学呗,又在淘宝上看,买了一个
2440的开发板,因为之前发现郭天祥的视频教程比较好,我就想学习Linux也必须要有视频教程,选这个开发板的原因是他带有视频教程,国嵌的,讲的也是挺好的。就这样,我下班回家,熬了好多个夜晚,
周末也花费在这上面,功夫不负有心人,我终于把视频看完了,于是我决定去找一份Linux嵌入式的工作。周围人听说我要辞去这个铁饭碗去找什么编程的工作,有人说我一定会后悔,有人说感觉我说话
特别飘,有点痴人说梦的意思。我也犹豫,心里特别没底,因为我在网上其实也投了几份简历,没有得到任何回音。就这犹豫和彷徨中度过了1年,在这1年中,我一边利用业余时间继续学习Linux,一边
思考着:我如果从这里不离开,身边的老同事的今天就是我的明天,这种一眼就能看到边的人生我是不想要的,想想都可怕。我一定要去未知的世界,去探索我想了解的一切。

这一次我毅然决然的离开了,没有告诉任何人其他的人。我离职了,后来得益于新公司有个好老板,一些好同事,找了份Linux嵌入式的工作,我特别开心,特别享受那份工作,那是我最开心的一份工作,
后来我离开了那家最喜欢的公司,来到了现在这家世界30强企业的一个研究所。

这一路走来特别曲折,我想把经历分享出来,也是对自己的一个阶段性总结。我走了很多弯路,希望看到我经历的朋友,尤其是还在上学的朋友,少走弯路。更希望通过我的经历,有更多的人喜欢上计算机,想去学习这一伟大发明。

我也是一边学习一边写,错误不能避免,望批评指正!

 

邮箱:576648661@qq.com

  • 微信号:find_xiaohei
  • 名称:找小黑 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值