在Linux下做开发 要学习Linux哪些东西

在Linux下做开发 要学习Linux哪些东西,第1张

嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远。那么今天就请华清远见高级讲师曹大神告诉你,9点浅析嵌入式学习步骤。下面是他本人亲笔。

1、要学习Linux,首先要会用,如果不会用怎么知道怎么知道怎么去做,所以需要学习Linux系统的安装及使用。

2、学会用Linux了,那么我们就要做一些Linux下的开发了,开发什么呢?看到网上有很多很强大很有趣的程序,我们都可以尝试去做,可是如何去做呢,程序是什么呢,怎么写呢?这时我们需要学习一些语言,比如比较基础的C语言,比如面向对象的C++,Java等。

3、写完程序了发现不就是一个很普通的文件吗,怎么能像别人写的程序一样运行起来呢? 这时我们需要知道如何编译一个程序,需要知道编译器及一些其他工具的使用,比如GCC,在开发的过程中我们为了提供工作效率还会用到Make,Shell等,为了能够很好的管理我们代码的不同版本,我们还需要知道什么是SVC,CVS,subversion,Git等。

4、当我们开始写一些比较大的程序,不再是以往的hello world级别的了,这时我们发现我们考虑的更多了,我们考虑到了程序的效率,我们发现需要读写文件了,我们发现需要和另外一台电脑通信了,于是我们有需要学习一些更高级点的东西了,比如数据结构,比如文件IO,比如多进程多线程编程,比如网络通信,这时我们会接触很多新的名词,什么是树,图...,什么是文件io什么是标准IO,什么是进程线程,什么是TCP/IP...。

5、当我们再进一步的话,我们会发现我们什么有很多的东西都运行的是Linux系统,可是他们和我的PC运行的Linux有什么区别呢,为什么我电脑要用风扇而手机不用风扇呢,我们打开网页查找手机的详细参数的时候,会看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,我们需要进一步的了解。

6、了解完ARM之后,很多人就回去购买一些开发板,去学习它,这时 *** 作系统的移植又成了一个比较重要的内容了,什么是bootloader,什么是kernel,什么是rootfs等等,我们怎么做呢。

7、花了很长时间系统做好了,发现板子上很多的什么不能用,怎么办呢? 这时我们需要写一些驱动来驱动这些设备,这时我们需要知道,什么是字符设备驱动、块设备驱动、网络设备驱动,为了更好的写驱动我们需要了解更多的硬件相关的东西,我们需要看懂芯片手册,我们需要看懂原理图,只有我们懂我们的设备,才能更好的驱动它。

8、等等,这里就列举更多的内容了,因为还有很多。

9、这些都有了我们就可以自行开发我们自己的产品了。

嵌入式Linux要学哪些?上述9点基本很明了了。这也算是嵌入式学习的一个基本步骤。本人认为到第九点你已经是一个高级的嵌入式Linux人物了,工资待遇我已经不用说,咋说也得15K往上了,如果做管理30K也是有的。这些东西要靠自学,说实话不太现实,嵌入式入门门槛相对高,要有心里准备,参加培训班是有必要的,除非你有亲戚朋友手把手教你。引用一句老话:“师傅领进门,修行是靠个人!”自己必须得喜欢钻研与学习,只有付出才会有收获!

最后说一点,Android系统也是在linux系统基础上开发的,所以学嵌入式linux的朋友,将来不仅可以从事嵌入式开发的工作(嵌入式的应用领域非常广泛,永不过时!)还可以从事android开发方向的工作(轻松迈入),从职业发展来说,嵌入式linux也是程序员最具发展前景的技术首选。

23

嵌入式要学三个阶段如下:

第一阶段:基础与理论阶段。

主要包括一些理论知识,你至少了解这行业吧,基本的Linux系统使用其次就是嵌入式核心开发语言C语言(必须精通)了解C语言数据结构及经典算法编程最后就是要了解嵌入式产品的一个基本的开发流程,这对后续的开发有很大的帮助,不至于是那么的迷茫。

第二阶段:嵌入式系统核心开发。

至少这些是你要学会的,当前应用层的开发挺多,特别刚入行前期,神马驱动的、移植的相关的可能你还不熟练,找工作就靠下面这些知识点了。

嵌入式 Linux应用编程。

嵌入式 Linux并发程序设计。

嵌入式 Linux网络编程。

嵌入式数据库开发。

嵌入式 Linux应用综合项目。

ARM处理器编程。

ARM硬件接口开发。

第三阶段:底层。

嵌入式底层一般会涉及到,如何把你写的程序移植到开发板上运行,那么就会接触到系统移植、内核驱动开发等等,这是嵌入式工程师最高境界。主要要学以下这些:

嵌入式Linux系统开发。

嵌入式Linux内核开发。

嵌入式Linux驱动开发基础。

嵌入式Linux驱动高级开发。

IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助 *** 作机器和设备的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含 *** 作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11280271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存