论坛风格切换切换到宽版
  • 1707阅读
  • 6回复

[问题求助]一个进行了4个月Linux嵌入式开发的新手的感受和想向各位请教的疑问 [复制链接]

上一主题 下一主题
离线jiayism.
 
发帖
2009
C币
-60549
威望
365
贡献值
1
银元
-2
铜钱
4584
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
小弟我2007年8月毕业参加工作,在学校本科的时候学的是信息工程专业,通信、计算机和电路什么都学,其实什么也没有学会,研究生期间在导师自己的公司接进行一下最简单的数字电视机顶盒用户界面开发,除了简单巩固和在实用中使用了一下C语言之外,也就最初级地了解了一下嵌入式开发得一些基本概念。到单位起因为不想再像在教研室那样只碰一下最原始和上层简单的API开发,所以选择了系统驱动组想学一些所谓的“底层一些和有价值一些的东西”,开始接触从来就没有摸过的Linux环境和内核,从那时起至过年前一直都是从事一款PMP+DTV的Linux嵌入式驱动开发,抛开最基础的Linux多个发行版本得安装,环境熟悉和命令使用,其实也就是接触了一下带有OTG功能得USB接口的驱动移植、对Nandflash使用loopback虚拟设备的使用、简单得脚本程序编写等工作,满打满算正儿八经地上平台开始到现在也就4个多月时间。后天春节假期就要结束了,所以在此妄谈一下初涉Linux得感受,更重要的是诚心地向各位大虾请教一些经过你们实践检验的继续研习Linux的方法,小弟先在此谢过各位了http://upload.bbs.csuboy.com/Mon_1004/126_7010_07b5498b08dbc4a.gif[/img]--- 印刷
       实话实说,因为之前大学7年间对于Linux真的是只闻其名而从来没有在电脑显示器上使用过Linux,所以07年8月刚刚到单位自愿加入到系统驱动组之后完全也是从最.基本的Linux命令和操作开始学起(.linux学习和开发环境基本上均是VMware虚拟机),在对这些有基本的熟悉之后就开始从事USB-OTG模块驱动的移植、使用loopback机制实现PMP和PC对于Nandflash的共享、热插拔等脚本程序的编写等几项主要工作,同时也逐步在熟悉嵌入式Linux开发环境,不过实话实说虽然比刚刚开始的Linux盲有了不少的提高,但是这些工作大多数都是在师兄得方向指导帮助下对Demo程序进行的修修补补,对诸如USB协议、Linux虚拟设备机制等东西也就只.是知道个最大致得框架以及..在程序中要进行修改的地方的含义,.基本上就是出于需要解决什么就去查什么资料,或者到论坛上来求教,虽然交给我的任务基本上都按时完成了,但是无论是对于Linux最关键的kern.el,还是Linux device driver从整体的把握讲还是有很多.很多的模糊;我书架..上虽然根据师兄和网上大家的建议多了很多参考书,包括《Linux设备驱动程序》、《构建Linux嵌入式系统》、《L.inux内核设计与实现》、《深入理解Linux内核》、《Linux源代码情景分析》、《Linux命令、编辑器和Shell.编程》等经典著作.,但是其中的很多名著在我真正想仔细钻研.其中时,却往往发现我不.是很看得懂,或者看完之后概念仍然很模糊——其中我觉得主要的拦路虎是关于操作系统和计算机原理等计.算机专业基础知识的一知半解。前面简单谈过我自己的大学.的经历,实话实说我自我感觉目前除了非计算机专业的C语言和微机原理知识外,其他所有我在大学所学到的专业理论知识对于我现在的系统.驱动工作几乎完全无用(诸如在大学期间占了很大比重的信号与系统、通信原理、DSP、随机信号、电.磁场、天线、模拟电路等高学分高耗时专业课程),而我现在看书学习时处处涉及的操作系统等计算机专业课程在校期间根本没有学过,于是我买了《深入理解计算机.系统》,从计算机专业最基础的知识开始重新学习信息的表示、汇编、存储器结构、链接、异常控制流、虚拟存储器等,不过这本书确实很厚实,并且平时的工作时间搞得很紧,调试、测试又占去了大量的时间,所以进展很慢,并且其中得一些概念在看的.时候懂了,但是隔一两天不看就又忘了;而对于操作系统原理而言,因为完全是从头自.学,忘得又快,所以搞得也很郁闷。没有计算机原理和操作系统原理做坚实的基础,我看那些Linux相关得参考书的时候觉得相当费劲和费解,并且很多.东西也就还是只懂个皮毛和概念而根本没有弄清楚;同时我再去看嵌入式Linux相关的.书籍和知识时也遇到同样的困惑和问题。    外汇
    上面.就是我这几个月.来初入Li.nux大门以来的感受和一些困惑,我非常希望能够得到各位大虾得指导和帮助,我的学习方法上是否存在着一些误区,比如在我大学的非计算机专业知识体系结构的基础上从事现在的Linux嵌入式开发,应该怎样去面对和尽快克服操作系统原理和计算机原理等计算机.专业课的缺陷,是否需要真正彻底地从头好好学习这些计算机专业理论知识后,再去进行Linux的.深入学习?如果不这样做,.在进.行Linux学习的过程中遇到不清楚和搞不懂的计算机专业理论问题时应该怎么办?究竟是应该只需要浅尝辄止地查阅资料解决问题还是深入地现搞懂理论基础再解决问题?现在毕竟已经身处工作了,时间也不可能像读书那会儿那.样一步一步地慢慢来,工作中得学习应该进行呢?真的再次谢过大家了              乙肝

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
2037
C币
-235268
威望
387
贡献值
1
银元
0
铜钱
4662
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
我是计算机专业的本科,不过大学四年照样没学到啥东西,还是也在补以前的基础知识。
不过我觉得计算机这个东东,如果以后想有一定成绩,恐怕还是要稳扎稳打,把基础打牢,只有基础扎实了,才能走得更远。
LZ比我强多了,我现在做了半年LINUX的软件开发,上层应用,其实跟LINUX平台关系都不是很大,因为平台相关的东西都是封装好了,主要是业务,感觉自己还是对LINUX没怎么入门。
LZ能否给点经验,说一下一个在LINUX上层软件开发的人员怎么转到LINUX底层开发中去?
主要是平时工作中接触不到底层的东西,自学好像效率又很低,自我感觉方法也不对,迷茫中。。。

离线janezhang.
发帖
2088
C币
-235397
威望
404
贡献值
1
银元
-2
铜钱
4730
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14
LZ是否就是kernel 中文maillist中那个uestc2000?
呵呵,如果真是,那就太巧了。。。没想到在这里遇到了。。。。

离线bananason.
发帖
2138
C币
-139017
威望
405
贡献值
1
银元
-2
铜钱
4786
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14
呵呵,这个世界真的不大啊,包括网络世界也是一样的——我就是new_learner 兄说的maillist上的uestc2000_zhouxiao,你也常去maillist吗?
你老兄太客气了,我现在上来还是向大虾们求教的呢,有什么资格去给你谈什么经验啊,呵呵,而且以前在教研室做UI界面的时候,就和你讲的一样什么都是封装好了的,直接拿过来用就是了,而且那时候得平台也不是Linux,整个教研室(也就是导师的公司)也没有一个人去涉及到底层的驱动开发,教研室实际上是和外面的公司合作,教研室打主力的博士师姐们也只负责数字电视码相关的那个模块得中间层,而我到单位之后直接就去了系统驱动组,所以我也从来没有接触过多少Linux应用层得东西,更谈不上给你什么经验之谈了,呵呵~~~~不过我们大家共同探讨一些问题,交个朋友倒是很好的

[ 本帖最后由 zhouxiao_82 于 2008-2-16 10:47 编辑 ]

发帖
1974
C币
-60893
威望
390
贡献值
1
银元
-1
铜钱
4390
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14
kernel中文上的人还真不少啊,呵呵。我用linux有5年左右了,感觉就像学其他东西一样:越学越感觉要学的东西越多。建议找准自己多方向深入挖掘,同时关系其他相关的东西,总是会有成绩的。

发帖
2080
C币
-60684
威望
388
贡献值
1
银元
-4
铜钱
4695
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14
用户被禁言,该主题自动屏蔽!
离线sharpgun.
发帖
2091
C币
-61352
威望
408
贡献值
1
银元
-2
铜钱
4672
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-14
我也有这方面的疑惑。

其实工作中需要用到的技能,并不是说需要员工把所有的东西都学得很精通了再开始项目。很多项目,只是需要员工大概了解就可以开工,在开工的过程中再修修补补把项目完成。这就是很多公司的用人制度,不会给你时间自我培训,但是项目的难度也决定了这个项目照样能预期完成。

但对员工个人而言,需要发展,所以我觉得还是要肯钻研,为以后的发展铺路,不能只为了当前的工作而工作,要在工作的过程中把自己不懂的东西全部弄懂。这个也需要员工有刻苦的钻研精神才行。

另外,问下周兄,你以前没接触过linux的底层开发,为什么公司会让你做这个?偶也在成都,我也想做linux底层开发,不过就是苦于没机会。在工作中学习速度效率应该比较高的。

还请大家指点方法:)

快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个