内容简介
【答读者问】如何入门和提高嵌入式
嵌入式可以说是目前涵盖面最广,最火的职业
今天有位读者朋友给小编发邮件,小编立马回复了。然后觉得也许回复对大家也有用,就写出来看看。彼此学习:
你好,首先恭祝你踏入了编程这个奇妙的世界,会很有意思的,不过要注意锻炼身体。
总之一句话,学编程不要花钱,现在都是免费资源。如果花大钱去读培训班,就有点亏了(假如没有培养自学的能力,去了培训机构基本也是浪费)。完全自学,也不需要花钱买什么资料,网上都是免费的基本。
1.嵌入式软件的话不一定需要学很多硬件知识的(有的话当然是***)。会用一些烧写工具,编译,调试工具(比如JTAG)就可以了,到时候要用了现学。开
发工具也没什么固定的,一般也不一定要IDE,用文本编辑器就可以写代码(比如Vim,Emacs)了。反正编译一般用GCC的变种。
2.嵌入式一般要学C语言(去看看我的《C语言探索之旅》(http://blog.csdn.net/column/details
/explorelanguagec.html)+《C语言深度解剖》,《C程序设计语言》这两个PDF,见附件。也可以继续深入看《C语言专家编程》等
等),Linux也最好学一下(因为编译经常要用到Linux系统,即使在Windows下也要用到Cygwin这类的) 。
3.Linux可以看小编的《Linux探索之旅》(http://blog.csdn.net/column/details/explore-
linux.html)入门,当然要更深入提高须要看鸟哥的《鸟哥的Linux私房菜》http://linux.vbird.org
;中国Linux公社(http://www.linuxfans.org/);还有《Unix环境高级编程》。还有一个《猪哥的嵌入式Linux公房
菜》还行,没看完,感觉有点小乱(当然他比我厉害多了),没有鸟哥的文笔那么流畅清晰。
4.最好花点时间学一下汇编,对理解计算机的原理,特别是内存,指针,二进制,十六进制都有很好帮助,不需要学很深。推荐王爽老师的《汇编语言》入门绝佳教
程,还有相应论坛:http://www1.asmedu.net:8086/bbs/forum.jsp (各课的答案都在那里,不过先做了题目再去对答案)。
5.嵌入式目前主流的处理器架构是ARM(以前是ARM7,ARM9,ARM11,现在都Cortex系列了)。手机,平板,大部分开发板都是ARM的天下。
所以需要学一下ARM架构,有个了解。一开始对ARM不需要太深入,视以后情况而定。ARM的集成开发环境有ADS(ARM Developer
Suite)是ARM处理器下最主要的开发工具。
6.嵌入式你可以去买一块便宜的开发板来开始学习(我觉得自学嵌入式唯一的花钱之处,也就几百元就很好了),现在什么树莓派
(https://www.raspberrypi.org/
http://www.raspberrypi.com.tw/)有点贵,Arduino(https://www.arduino.cc/)什么也可
以。你也可以买国内一些厂商自己的开发板(便宜),不要买太烂的就行。
7.如果你买了开发板的话,可以去开发板对应的论坛。比如我以前买的是天嵌的TQ2440(现在早就升级到不知道什么了吧,天嵌的论坛还是有很多不错的资
料:http://www.armbbs.net/);还有参加嵌入式Linux竞赛获得的一块Mini2440(德国的友善之臂
FriendlyArm,论坛可以去看看。中文论坛是http://www.arm9home.net/)。国嵌的论坛
(www.enjoylinux.cn/bbs/)有不少好的学习资料。嵌入式Linux论坛(http:
//www.embeddedlinux.org.cn/),华清远见的论坛(http://bbs.embedu.org/)也有很多免费资料。电子工
程世界论坛(http://bbs.eeworld.com.cn/)。当然了国内最大的IT社区CSDN的论坛和博客也都是不错的学习区,51CTO也
不错,ChinaUnix也不错。实验楼(www.shiyanlou.com)有很好的在线实验环境,是Ubuntu这个Linux发行版的。
8.把英语学好,对编程很有裨益。你会慢慢发现的。所以千万不要荒废英语。
9.
可以看的书很多,主要要要选好书,看得有效率。《深入理解计算机系统》非常好,算是入门的。其他也有很多嵌入式书籍。慢慢来。先把基础打好了。嵌入式这个
领域太广了,可以学的东西太多,现在技术又日新月异,把基础打好学什么新知识都快。有一本《Orange‘S:一个操作系统的实现》的书很推荐,跟着作者
一步步写自己的操作系统,帅到掉渣,热血沸腾哦。
10.假如你以后学更有难度的嵌入式实时(Real
Time)系统(VxWorks,ecos,ucos,等等。国人也写了几个不错的RTOS,例如:Raw-OS(http://www.raw-
os.org),djyos(http://www.djyos.org)),驱动开发之类的,那就要C(和汇编)的功底比较强啦,要看更深入的书。不过
暂时先入门嵌入式,这些领域看兴趣,不学也罢。
11.要什么编程书的PDF可以来问小编要(我一路以来在电脑里收集了很多编程的PDF,很多都上传到了程序员联盟的QQ群,还有自己的百度云盘)。到时你指定
哪本书我可以给你百度云盘的共享链接。不过最好自己先去百度找啦,获取程序员联盟的QQ群文件和公共百度云盘找,实在找不到再来问小编,不然我忙不过来的
:P
暂时只想到这么多,有些点可能没谈到。希望不要误导。有什么问题欢迎交流指教。
有什么问题可以发送到小编的个人邮箱(电脑上打字比在手机上舒服多了):
[email protected]