给初学嵌入式的菜鸟一点建议

1、学习linux
根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。

可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了 《深入理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。

看内核期间是个非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第一、第二遍是几乎没有摸到门道,我分析有三个方面的原因:1、自己的基础差,这是最关键的。2、内核本身很难。3、没有交流和高人指点。到了第三遍时我才摸到门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。

学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!

在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。

关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。

怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。

先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。

2、学习嵌入式linux

学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然华钱,我认为值。对我实习和工作产生了很大的影响。

如果没有开发板,那是纸上谈兵。有人说,那要1000-2000亚,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!

3、 学习板和培训

你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,最好买块arm9的,贵些也值。可以跑高级操作系统。这个不要什么品牌公司的,一般不会出什么问题,市场上的板子一般是三星的2410,基本上是抄的。如果是做产品那要注意些。一般的公司一般要2000,加lcd要3000甚至更多。我接触到有的板只要1200,加lcd也就2000,差别比较大,我认为学习都够啦。

对于培训,如果有条件最好参加,主要是嵌入式相对别的不同,自己摸索很费时,如果有高手指点非常的好,进步快。特别是认识做这些的朋友。我接受过培训,认识个朋友。在以后的工作中帮我很多,在这里谢谢他!我记得哈佛的一个MBA的学生这样说,大意是:在哈佛学到什么不重要,最重要的是这些未来各大公司的高级管理人员是我的同学!真是有远见!

原文地址:https://blog.51cto.com/14314169/2393641

时间: 2024-08-01 03:20:41

给初学嵌入式的菜鸟一点建议的相关文章

Java自学之道(一) ------ 给程序入门者的一点建议

Java自学之道(一) ------ 给程序入门者的一点建议 在书场上看到很多有关Java的书籍,但这就像进了瓜地里挑瓜挑的眼花,很多人不知道自己到底该选那本书好.很快精通Java可能只有很少一部分人能实现,那就是他曾经精通过 哪门语言,因为程序设计语言很好学,只要你精通一门语言,就可以做到一通百通.因为每种语言都有其共同点,就拿C语言来说,由于C语言出现的比较早,用的人也比较多,所以人们都习惯了它的语法规则和设计流程,假如现在出现了一门新的语言,而它和C语言的语法规则是天壤之隔,那么它的结果肯

ArcGIS地图文档MXD效率慢的一点建议(二)

经常有用户询问,我的MXD图层比较多,而且配置好了相关的符号,但是我的服务器更换了一下,而且两个服务器的要素类名称都是一样的,我想配置一下新的数据源,而且我的这个MXD已经连接不到原来的数据源了,打开这个MXD,要花费很长时间,请问有什么可以避免的么? 因为这种情况下,打开MXD的时候,会查询数据源,特别是SDE数据源,如果找不到MXD记录的相关参数信息,系统会默认一直在找相应的IP(也可以理解一直在Ping),而且也会寻找你们局域网里面的所有机器,那么如果数据图层比较多,这个时间肯定会比较长的

入了门的小生给菜鸟一点经验

不知不觉 过了6个月了,今天正好把做好的APP送去百度云测试,如果通过就可以上市场了,其实你看我博客就知道我是什么时候开始学安卓的. ①开始学安卓的人,你要想你为什么要学? 我先告诉你一个现实 你知道一线城市的其他行业经理一个月多少钱么? 你知道别人努力在外面累死累活的 一个月多少钱么? 你知道过年回去别人问你多少工资的时候,你会怎么说? 第一个 答案 8K 第二个 答案 5-6K 第三个 你可以很骄傲的说8K+ ② 安卓是什么? 第一个:安卓是一个们无限接近科学的技术,这是一个门槛,注定有人学

技术更新如此快的情况下,给程序员的一点建议

昨天老婆说,你永远不知道未来是什么样子,儿子将来的用的技术,与现在的完全是不同的. 这里我还真有点要说的,其实我是真的什么都没教儿子--有点冤. 我只想教他如何吸烟,就我本人来说,因为五岁吸过一根烟,所以才产生了一生的免疫.想抽就抽,不想抽就不抽. 另外,也想教他玩几个电子游戏,因为小时候接触,都会产生一生免疫. 当然,这些直接就被老婆否了.~~,想起有个医生发明了一个论点:吃鼻咖,能加强免疫.他首先想到拿他女儿做实验,你猜怎么着?当然是被他领导否了. ---------------------

能给新手一点建议吗

现在html.css.javascript都学了,不能说精通了,但是还是会用:jquery也了解了一点,知道怎么用,但是从没有用过:我知道下一步我该学习什么,我也下载了很多关于web前端的pdf的书籍但是里面讲的都是一些概念,都能看懂,但是一直看概念没有地方用,感觉好无聊啊:所以需要一些东西能把所学的巩固起来,大家能给一些建议吗?不然我都不敢在往下学习什么更加深的东西了,总觉得自己不行啊:不知道该怎么实战啊.

人脸识别算法嵌入式移植的一点经验

本文涉及的内容可能是大家在移植算法的时候会出现的错误,不涉及特定公司的内容,希望老板不要介意.现在暂时遇到了这些问题,解决办法或许不是最好的.能给他人起到一点作用就算不错. 移植内容 1 windows上面的路径可以用"\",也可以用"/".但是linux上面的路径只可以用"\". 所以应该所有路径都用"\". 2 windows下使用寄存器指令集应包含"intrin.h".相应的linux下的头文件是&q

一位技术大牛对新手的一点建议

今天给大家带来一个大牛的故事,希望给所有学习系统开发的人一点感悟.张生在一线做了十年的开发,经历了网易.百度.腾讯研究院.MIG 等几个地方,陆续做过 3D 游戏.2D 页游.浏览器.移动端翻译 app 等.积累了一些感悟.必然有依然幼稚的地方,就当抛砖引玉,聊为笑谈.喜欢的朋友也可以留下企鹅,大家进一步交流,话不多说; 一.对于团队而言,流程太重要了 张生个人属于性格温和的(程序员大多性格不错),但确实见过少数强势的人,说很多强势的话.在技术上一言而决,一听到任何反对就上升到私人恩怨.这样的风

给折腾ramdisk的朋友们一点建议

Ramdisk是什么,恐怕不需要我多说大家都知道.至于ramdisk有什么优点,百度一下你能看到因为ramsik有着很快的读写速度所以"放临时文件能加快速度","装软件可以秒开"等等各种优化的方法,比较犀利的言论还认为使用ramdisk可以延长续航时间,保护硬盘等等"高阶应用" 在此我觉得第一个想出延长续航时间,用于bt下载来保护硬盘的人实在是碉堡了,连这么神奇的功能都能开发出来.我对您的敬佩犹如滔滔江水,连绵不绝-- 我也曾是一个热衷于折腾ra

对于大陆网络环境下android开发环境搭建的一点建议

首先,我的这篇博文不是教你如何搭建android开发环境.我相信这类的文章已经有很多了,如有需要可以百度一下.我这里将要说的对于大陆网路环境下,如果能够访问到android开发过程中需要的一些资源. 因为方法和资源都是有时效性的,所以参考本文请注意时间. [如何获取android SDK] 其实这个东西国内很多站点可以下载到,可能不是最新的罢了.所以这里谈论的是最新的android SDK的下载. 问题的根本是你不能直接访问http://developer.android.com/站点. 所以你