linux嵌入式应用开发_嵌入式linux开发板_嵌入式linux 开发

嵌入式LINUX资料包,各类资料,关注公众号“自动化部落”直接发放↓↓↓↓↓

---循序渐进学习嵌入式开发技术

近来时常有用人单位给我打来电话,问我这有没有嵌入式Linux方面的开发人员,她们说她们单位急须要懂得在嵌入式linux环境下的软件开发人员,我回答说,如今每年结业的学院生这么多,还招不到合适的软件开发人员吗?他跟我说,结业学院生即使多,但大部份都能力不够,不能达到她们的工作的要求。

该公司HR的一句话说下来我们现今的学院教学和学院生就业的现况:一方面每年这么多大中学生结业找不到合适的工作,另一方面好多用人单位和企业又找不到合适的人才。导致这些现象最基本的缘由是中学教育和社会需求的严重相悖。其他的专业和行业我不清楚,而且对于嵌入式专业和嵌入式软件行业来说,通过与多所院校的老师和在校高年级大专生,研究生交流,我还是有所了解的,院校的嵌入式专业的教学现况我在前一篇文章里仔细剖析过,导致好多嵌入式专业的中学生在结业后,还是很难达到用人单位的要求最主要的缘由在于院校在嵌入式教学方面重理论和轻实践,好多嵌入式专业的老师也没有实际的工作经验,这样培养出的中学生可能让他讲上去头头是道,并且让他去真正编撰,调试一个应用程序就惊呆了,不晓得从何下手,由于她们在中学的学习可能从来就没有老师带着她们实际调试过嵌入式程序,也没有机会让你去调试嵌入式应用程序,这些看上去十分不错的嵌入式实验箱大部分时间都躺在实验室睡大觉,只有在上实验课的时侯搬进来让你们看2眼,摸2下,还没有弄明白如何回事,又要收到实验室睡大觉去了。这样的教学模式,怎么能培养出一名合格的嵌入式工程师呢?出现企业找不到合适的人,学院结业生找不到合适的工作也就不奇怪了。

嵌入式专业是一门实践性特别强的学科,只有多动手,多实践,多编程,多调试,多看书,多思索能够真正把握好嵌入式开发技术。

现在好多朋友也意识到了中学培养模式和社会需求相悖问题,有一部份朋友也先行行动上去,开始重视培养自己的实际动手能力,培养自己实际剖析问题,解决问题的问题,培养自己在嵌入式专业实际编程,和调试程序的能力。而且嵌入式专业不同于其他学科,嵌入式专业是一门综合性十分强,涉及知识面十分广的学科,对于初学者来说,面对这么多教程,课本,这么多知识点,常常不晓得从何处下手,不晓得什么是重点,什么不是重点,这种知识点之间有哪些关联,一脸的迷惘,之后东一铁锤,西一棒子,折腾了几个月甚至大半年后,还是找不着学习嵌入式的方向,还徘徊在嵌入式开发的房门之外。

这么,怎样从零开始学习嵌入式开发技术,步入嵌入式开发房门呢,笔者按照自己的嵌入式学习经历和多年的嵌入式linux教学经验,说说自己对嵌入式学习的一些看法和意见,希望对你们有所帮助。

一、练好基本功

嵌入式系统专业是综合了计算机硬件技术,计算机软件技术以及电子电路技术的一门综合学科,所涉及的内涵和知识十分广泛,包括:数字电路,模拟电路,计算机组成原理,单片机基础,C语言基础,操作系统,数据结构,编译原理,计算机控制,计算机网路等知识。

在真正学习嵌入式开发之前,u。对于C语言,起码能单独编撰调试一个3~500行的程序,才能了解C语言的基本句型规则,基本句子的使用,理解表针概念并能灵活使用各类表针。

计算机组成原理要能理解组成一个计算机系统的几大部件,计算机系统的结构,理解系统总线,理解处理器和计算机外部设备的关系,处理器和计算机外设是怎样协调工作完成某一项功能的,计算机软件和硬件是怎样分工协作完成某一项任务的,理解软件是通过寄存器来控制硬件的。

嵌入式linux开发板_linux嵌入式应用开发_嵌入式linux 开发

数字电路,模拟电路要了解其基本原理个概念,能读懂简单模拟、数字电路原理图。理解数字电路中的寄存器,时序的概念,能读懂芯片指南和时序图。对于其他基础课程,重点要理解其中的一些基本概念,怎么使用等等。

对于电子,手动化,通讯,计算机类专业的中学生,在大二、大三开办的专业基础或专业课程中基本包含了以上的大部份课程。由于缺少实践,可能学得不是很深入,但是一些基本的概念和基本知识应当还是有所了解,针对一些薄弱环节,自己稍为强化学习一下,基本上早已具备了学习嵌入式开发的基础。在嵌入式基本功学习阶段,最重要的是C语言和单片机基础,最好是能用C语言开发一个小的单片机程序,比如用C语言实现单片机和PC的并口通讯,用C语言控制LED等显示,用C语言控制数码管显示等小程序。在这个期间须要的学习工具就是单片机51学习开发板。推荐飞凌的OK-51学习开发板。

二、嵌入式Linux应用开发

嵌入式开发基础知识学习完后,这时侯你早已有了一定的嵌入式开发基础了linux内存管理,可以进行基于单片机的嵌入式系统设计了。单片机编程本身也是属于嵌入式编程,并且在这儿我们只是把单片机开发当成嵌入式系统开发的基础,不把单片机开发作为真正的嵌入式系统开发,在这儿我们的嵌入式系统开发是指在带有操作系统的嵌入式平台上的应用和驱动开发,非常指在嵌入式linux平台上的开发。

单片机开发在很早曾经是十分热门的,如今在一些比较简单的系统上单片机也用的十分广泛,随着硬件的成本不断增加,在一些比较复杂的嵌入式设备通常都采用嵌入式linux操作系统,在嵌入式linux平台上进行开发,这样可以极大的提升嵌入式开发效率,提升系统的稳定性和可靠性,减少开发成本。因为linux是一个开源的操作系统,你可以通过阅读linux内核来理解内核的实现机制,如果有须要,你甚至可以通过更改内核源码来提升系统的性能;同时,全球参与linux开发的队伍十分庞大,网上有大量的嵌入式linux开发资料和源代码,好多你须要实现的功能在网上基本都能找到相关源码,参考一下他人写的源码,这样可以极大的提升自己的工作效率和技术能力,近几年,随着参与linux开发的人越来越多,linux系统的稳定性、实时性有了很大的提升,linux系统无论在服务器上还是嵌入式设备平台上都应用越来越广泛,现今包括华为、中兴、朗讯的各大通信大鳄都开始把自己设备的底层平台从vxworks操作系统迁移到linux系统,可以说嵌入式linux是嵌入式技术发展一个方向,是嵌入式技术的一面旗帜。基于以上缘由,我的建议是学嵌入式开发,就学嵌入式linux开发,相对于wince等其他的嵌入式平台,你可以真正学到更多的东西,学到嵌入式技术的真谛,同时他又符合嵌入式产业发展的方向,不容易被日新月异的技术发展所淘汰。

有了嵌入式开发的基础,又晓得了我们为何要学习嵌入式linux开发,那我们就要开始动手开始学习了,那怎么开始学习嵌入式linux开发,从那里开始着手呢?

嵌入式linux开发板_linux嵌入式应用开发_嵌入式linux 开发

很多朋友这时侯就开始买linux书籍,从图书馆借了一大堆关于linux的书:哪些《linux使用基础教程》、《linux源码深度剖析》、《linux情境剖析等》、《linux中级使用手册》等等。结果抱着这种图书看了10天半个月还是不知所云,曾经学习的激情渐渐就消散了,最后不了了之,终究没有步入嵌入式开发大门。究其缘由,是由于没有找到合适学习嵌入式开发的方式,做任何事情都有方式可循,找对了学习方式常常能够事半功倍;否则就可能是事倍功半,甚至劳而无功。接出来我先剖析一下朋友们的几种常见的嵌入式linux学习误区,之后提出一种比较合适的嵌入式linux学习技巧。

嵌入式LINUX资料包,各类资料,关注公众号“自动化部落”直接发放↓↓↓↓↓

误区一、全身投入学习桌面或服务器版本linux系统

很多想学嵌入式linux的朋友常常问我,我不会linux系统,如何学习嵌入式linux开发,于是她们就耗费了大量的精力和时间去研究学习桌面版本linux系统的使用,哪些redhat、federo,、ubuntu等等都用过,怎么配置linux,linux的各类使用命令都背的滚瓜烂熟,linux各类服务器的配置,还原备份各类操作十分熟悉,以为这样就学会了嵌入式linux开发。显然这是一个学习嵌入式Linux开发的误区。

Linux桌面环境只是嵌入式linux的一个开发工具,开发环境而已。我们的目标不是学习linux服务器的配置和使用,linux服务器的中级配置和使用那是另外一个领域,不属于嵌入式linux讨论的范畴。我们进行嵌入式linux开发,只是把linux桌面环境当成一个工具,在linux桌面环境下运行嵌入式linux开发工具,例如gcc编译器,make工具来开发我们的嵌入式linux应用程序而已,对于嵌入式开发工程师来说,没有必要耗费这么多的精力和时间去研究linux桌面版浴衣务器的应用,只要能了解最基本的操作即可。现今的桌面linux系统的图形化界面做的也相争当,跟window具有相同的易用性能,比如ubuntu好多操作都可以在图形界面下完成,就没有必要去记每位linux命令了。熟悉linux桌面系统的使用和基本操作命令,安排1~2天时间学习基本就可以把握了。

误区二、直接阅读linux内核源代码

很多想学linux,在连linux是哪些东西,一点都还不会使用的情况下去就阅读linux内核源代码,花了大量时间去阅读《linux源码深度分析》、《linux情境剖析等》等书。这样的结果很可能就是看的头痛眼花,不知所云,最后只能舍弃了。这也是朋友们学习嵌入式linux的一个误区,在有一定嵌入式linux开发基础后,带着一定的目的去阅读linux源代码,这样可以极大的提升你的技术能力,而且你在没有任何基础,对linux一点都不了解的情况下就去阅读linux内核源代码,无异于以卵击石,最后只能是撞个头破血流。

以上剖析了朋友们学习嵌入式linux开发的2个误区,这么怎样正确的嵌入式linux开发呢?

u,学习嵌入式linux也一样。在u,学习嵌入式linux开发比较适宜的切入点是从嵌入式linux应用程序开发开始,即暂时先不去关心嵌入式硬件平台,不去关心linux的底层驱动,先把精力集中在现有的嵌入式linux平台上进行嵌入式linux应用程序设计开发。学习嵌入式linux开发绝不是瞧瞧书就可以学好的,须要多实践,编程调试;由于嵌入式开发不同于普通的基于PC机或服务器的应用程序开发,嵌入式开发的应用程序是要烧讲到嵌入式板卡或开发板上运行的,所以首先你要给自己订购一块开发板,现今普遍流行的嵌入式开发板都是基于u星的ARM9CPUS3C2440,性价比极高,在这儿我推荐使用飞凌公司FL-2440高性价比ARM9学习开发板,开发板资源丰富,稳定,同时配有大量的实验源码,视频教程和实验指导书。

有了开发板后先后开始学习嵌入式linux开发环境搭建、嵌入式linux开发模型、linux内核移植和文件系统、嵌入式linux应用程序移植、嵌入式linux多进程,多线程应用程序设计、嵌入式linux网路编程,假如对嵌入式数据库或图形软件开发有兴趣的,可以进一步学习嵌入式linux数据库开发或基于QT的嵌入式linux图形应用软件设计。每学一章节都要通过相关实验来来验证你从书念书到的东西,同时提升自己编撰代码,调试程序的能力。这个过程依据不同学员的基础不同,大约要花上1~2个月时间。学完这种课程后,你就有了在现有的嵌入式linux平台上进行应用程序设计开发的能力,到一些嵌入式软件公司去,还能胜任在现有的嵌入式linux平台上进行下层的应用程序开发工作。并且目前你还不能进行嵌入式linux系统和驱动的开发,也就是说,你如今只能在一个早已建立好的嵌入式linux平台上进行应用程序开发,而自己还没有能力依据实际须要去重新建立一个嵌入式linux平台。要让自己有能力依据实际须要重新建立一个嵌入式linux软硬件平台,这时侯就须要进行下一阶段的学习了,即嵌入式linux系统和驱动开发。

嵌入式LINUX资料包,各类资料,关注公众号“自动化部落”直接发放↓↓↓↓↓

三、嵌入式Linux系统和驱动开发

嵌入式linux 开发_嵌入式linux开发板_linux嵌入式应用开发

有了嵌入式linux平台上开发应用程序的基础,你早已对linux的功能、linux对应用程序提供的插口和系统调用有了一定的了解,晓得怎样借助linux提供的功能来进行应用程序开发,晓得怎样来使用设备驱动来进行应用程序设计,有了这种知识后,你就可以更深入的去学习Linux系统原理和基于Linux驱动的开发,Linux内核的剪裁,文件系统构,bootloader等等底层的知识了。

想要更深入学习嵌入式Linux系统和驱动开发,要学的内容十分多包括计算机软件、硬件、操作系统知识。这时侯你可以参照以下的学习思路,u包括:ARM体系构架、S3C2440微处理器插口设计、时钟系统、LCD屏插口、存储控制器及系统的储存空间分配、NANDFLASH插口和NORFLASH插口等。u。学完这种知识点并通过相关实验验证后,嵌入式Linux系统和驱动的开发即使把握了差不多了,才能胜任绝大部份基于linux平台的驱动开发工作了。学完这种知识点,按照学员的不怜悯况,通常须要花三个月到半年时间。通过这一阶段的学习,你在嵌入式Linux开发领域早已算是有了一定的造诣,早已不再被人称为新手了,早已步入嵌入式linux开发前辈行列了。

四、更上一层楼

深入理解了嵌入式内核和驱动开发,这时侯写个哪些驱动对你早已没有哪些问题了,开发过程中一些基本问题都难不倒你了。这是你可能想优化一下系统的性能,比如实时性,提升系统的启动速率,或则优化系统的显存管理机制,要达到更改内核核心机制的境界,你就须要去深入去通读linux内核源码了,参考《linux源码深度剖析》、《linux情境剖析等》等linux源码剖析的书籍,深入理解linux各部份的实现机制和原理嵌入式linux 开发,以及可能存在的问题。你只有在深入理解现有代码和实现机制的基础上,能够提出更好的改进方案。假如你能达到这个境界,那你已然是大神中的前辈,可以笑傲群雄了。

以上是笔者结合自己的嵌入式学习经历和嵌入式培训经验总结的一些嵌入式学习技巧和步骤,这只是笔者对嵌入式学习的一些想法,希望对这些有兴趣学习嵌入式linux又不晓得从哪开始学的朋友们有所帮助。其实,每位人,每位朋友的基础redhat linux下载,各方面的情况都不一样,每位人都有自己适宜的学习方法嵌入式linux 开发,本文章总结的一些学习技巧和思路仅供参考,希望你们能找到适宜自己的学习嵌入式开发的方法,尽快步入嵌入式开发房门。

万丈高楼平地起,心动不如行动,有志从事嵌入式开发的朋友不要再迟疑了,赶忙掏出实际行动,好好学习,为实现自己的伟大梦想而努力拼搏吧

嵌入式LINUX资料包,各类资料,关注公众号“自动化部落”直接发放↓↓↓↓↓

本文原创地址:https://www.linuxprobe.com/xxjjxxqrskfj.html编辑:刘遄,审核员:暂无