Chinaunix首页 | 论坛 | 博客
  • 博客访问: 276671
  • 博文数量: 89
  • 博客积分: 1380
  • 博客等级: 中尉
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-10 11:04
文章分类

全部博文(89)

文章存档

2014年(4)

2011年(1)

2010年(42)

2009年(42)

我的朋友

分类: 嵌入式

2009-11-13 16:47:04

好,我是一名嵌入式开发爱好者.近来总是看到很多初学者(多数是在校大学生)由于没有条件,想学习却不知道如何下手。

本人绝对能体会到学习的艰辛,而且视任何对知识技术有强烈追求的人(不管目前水平高低)为同路人,所以整理短文一篇写出一些学习感受,替所有渴望知识的人企盼高手指点学习之路,分享经验。

爱因斯坦说过,”我是站在巨人的肩膀上“

实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发。订立合适的阶段目标,在允许的条件下多动手多思考。

一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程水平(嵌入式主要是C,当然OO的几种语言c++,java是发展趋势),等到有机会的时候及时的补充硬件知识,会很快的成为高手。

还有,一定记住,学习嵌入式,”要想办法,不要找理由“。当年在dos下用tc编程时的条件,现在回想起来建筑就是奇迹。

我推荐一条学习之路吧,仅供参考,

1、C开发经验

条件:linux(这都有吧)

方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)

2、网络、操作系统、体系结构

条件:linux,各种书,算法、例程。

方法:通过C编程实现简单的网络等知识的算法和过程。

3、嵌入式系统概念

条件:各个嵌入式网站,讨论组,书籍

方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。

4、嵌入式开发实践

条件:各种嵌入式系统开发工具的demo版(或者D版,如果有的话),包括编译器,仿真器。可以找高手们要,也可以下载。

方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象palmos,wince,ucos等rtos下的应用软件开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。

5、硬件开发

条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。

方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。

6、硬件工程/软件工程/项目管理

条件: 各个芯片详细资料和使用经验,软件工程知识,项目管理知识,培训,大型项目参与经验

方法:已经是高手了,但是学无止境,沾沾自喜于已有的知识是致命的。那个下一步。。。,你该是管理者了。

抛砖引玉,以上出自我的经验,欢迎各路高手们补一下 再告诉你一些我的收藏夹的网站

国内有关嵌入式开发的论坛

电子产品世界的论坛

恒颐高科论坛

国内站点

华恒公司的主页,里面有很多的相关资料,有待大家去发现

SkyEye嵌入式硬件仿真项目

公社的SkyEye项目专栏

Pday水清木华,一个国内看嵌入式新闻的好地方!

中国单片机公共实验室

中国Linux论坛的嵌入式版,有很多开发板原理图的资料

嵌入开发网

北京科银京成技术公司

微芯力科技

驱动开发网之嵌入式版块,挺综合的一个网站

http://www.driverdevelop.com/index.php

电子爱好者家园[2004年09月30日]

广州友善之臂电子有限公司

好了 兄弟 开始努力 我们一起加油哈...

 

///////////////////////////////////////////////////////////////////////////////////////////

近在做一个嵌入式Linux项目,用了一个magicARM2410 linux2.4.18内核的试验箱。本来是过来直接做应用程序的,需要用到一个数模转换,准备用试验箱arm芯片s3c2410集成的ADC,在试验箱里的光盘里找了好久,最后才发现这个试验箱不带ADC驱动,于是只有硬着头皮开始学习驱动开发,试着去写ADC驱动,其实网上也有很多驱动,但是都不是我这个s3c2410的ADC驱动。后来自己摸索着开始学习,知道把项目模块做出来,到今天,模块测试成功,想给我自己的嵌入式linux开发入门做一下总结

      对于嵌入式linux的开发入门,网上众说纷纭,但是从我开始做单片机开发到今天转做嵌入式开发来看,我想强调很重要的几点。

     第一,其实在你想做嵌入式linux的时候,要对自己有信心。很可能自己以前学习的不是这个专业或者以前没有接触过,就像我一样,我以前也没接触过嵌入式,一旦我们确定了自己要做嵌入式,我想摆在我们面前的最大的一个难题就是,嵌入式对我们很模糊,好想心理面有好多好多阴霾,不用怕,请相信自己,新手都是这样,有疑团,才会激发我们探索的动力和激情。相信自己,在不久的将来自己会摸到嵌入式的棱角的,摸清他的面貌的。

     第二:永远不要单干。团队的力量,不管是从思维还是资源方面,团队总要比一个人单枪匹马来的快,也许你自己摸索一个月还不如团队的合作一天的收获多,而且团队最好要有一个有激情的队长,在大家都低沉,或者是信心不强烈的时候,队长要带着大家渡过难关

     第三:把学习穿插到日常生活中。一旦决定要学,就从现在开始学习,永远不要希望人的一生会腾出一段时间来让你去专门学习嵌入式的,就像当你出生的时候,永远不可能会专门腾出一段时间来让你专门学走路,最终情况是你学走路的同时很可能也在学习说话,学习吃饭。所以,对于学生来说,永远不要试图把学习嵌入式挪到假期,因为你不能预料到假期你会发生什么而耽误你学习的时间。

     第四:需要用到什么学什么。不要企图把linux,arm等所谓的什么教程之内的书看完了再去做开发。个人觉得linux,只要知道大概,只要知道简单的命令,会用就可以了,但是gcc,gdb一定要掌握,然后就是要掌握嵌入式linux和linux开发环境的配置。嵌入式linux是在开发板里面的linux。而单纯的说linux说的是PC上的linux。遇到问题,我们就去解决,要解决,我们就可以翻书,查资料,这样既可以缩短项目开发周期,又可以学习,这样就避免了可能你把一本关于linux的书看完了,你还不知道如何去做嵌入式linux开发。

    第五:不管你要做什么开发,装上linux后,请安装英文版的,并且尽量在无图形界面写工作。因为很多公司都明确禁止用linux图形界面和中文版的。

    第六:不管做什么开发,应用开发,或者是驱动开发,都要先编译内核,因为有好多文件是只有你编译内核之后才能产生的,而这些文件,很可能就是你要用的。

     第七:做应用开发,首先用从读懂驱动入手。不要求你会写驱动,但是起码要读懂驱动,这样才有助于应用开发

     第八:除非你的嵌入式开发板是跑裸机,也就是没有linux系统,你可以操作arm的寄存器,可以直接操作硬件,比如JTAG仿真就是。其他情况,一旦你有linux系统,你的程序时不可能直接操作硬件的。明白这一点,你就不会向我一样,开始做嵌入式linux应用的时候以为可以和单片机一样,直接控制引脚来写程序了。有了linux,用主要用的系统提供给用户的接口。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/feiyinziiuxx/archive/2009/08/15/4448472.aspx

阅读(1184) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~