本文适用于对嵌入式系统没有概念和经验,渴望进入嵌入式系统开发的领域,但又觉得系统太复杂,要学的东西太多,感觉完全无从学起,无从下手的初级开发人员
简述
1、嵌入式系统必须以实践入门,所以要学习必须购买嵌入式开发系统(开发板或实验箱),否则永远只能停留在纸上谈兵的阶段。
2、学习嵌入式LINUX开发,必须注意学习的方式和方法!就把这个嵌入式开发板当作一台WINDOWS PC,就像用VC一样在上面做开发(只是开发模式由原来完全的本地开发变成宿主机--目标板的模式了)。绝对不要去盲目阅读LINUX内核分析之类的书籍,对于初学者一两年内根本用不到这个!就像在WINDOWS下开发永远不要关心WINDOWS内核一个道理,不要因为LINUX内核是源代码开放的,就非要去研究LINUX内核。90%的开发人员关心的还是“外设接口驱动+应用程序(如GUI)”,所以对于初学者,进入嵌入式LINUX开发的殿堂,必须迈过如下两个台阶:
嵌入式基本C程序开发及调试方法
基本驱动的概念和开发调试方法
通过终端软件minicom熟悉一下嵌入式系统的基本操作,否则你根本就不会操作板子
通过NFS mount的方式,学习用C语言开发最基本的嵌入式应用程序,并熟悉嵌入式的调试方法。(HHARM9-EDU实验1)
熟悉掌握嵌入式LINUX下的编译方法和技巧,并进一步掌握调试复杂嵌入式应用程序的方法和技巧。(HHARM9-EDU实验2、3)
通过NFS mount的方式,学习如何使用一个基本的嵌入式LINUX下的设备驱动(insmod驱动+测试用应用序),并尝试着改改看如何发生变化和如何调试。(HHARM9-EDU实验6中断、14GPIO/key、AD/DA、I2C等)
进一步深入学习其它的接口技术。(HHARM9-EDU其它剩余实验)
在嵌入式板卡上做任何稍微复杂些的工作,心里没底的话,就一定养成先在REDHAT LINUX PC上测试的好习惯。无论你做GPRS/CDMA/PPP/ADSL拨号还是做USB无线网卡驱动,还是做SAMBA/VPN/SNMP等协议软件,都先在REDHAT LINUX上配置好,测试通过有了感觉之后再到嵌入式上试,因为ARMLINUX跟REDHAT LINUX对于我们开发人员而言几乎没有任何区别!切忌冒进!
不要试图去通读CPU的manual,没有用的,就像不要为了做嵌入式LINUX就要通读LINUX内核源代码分析一个道流。以目前实际的工作为主线,涉及到什么再去大致了解一下相关内容,例如我们第二步要做MODULES形式的驱动,那么这时去大致翻翻那本《LINUX驱动开发》一书的几页还是会有些帮助的,但也没有必要全部通读!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !