怎样学好嵌入式?

嵌入式Linux操作系统的学习和规划ARM+LINUX路径的学习和规划,重点关注嵌入式Linux操作系统和应用软件的开发目标:(1)掌握常见嵌入式微处理器(预定义为arm9)的结构和原理(2)您必须拥有嵌入式系统功能(预定义为uclinux或linux,版本待定)(3)您必须熟悉开发流程熟悉嵌入式软件并从事至少一个嵌入式软件项目。
从事嵌入式软件开发的好处是:(1)目前国内外该领域的人员较少。
该领域的进入门槛较高,非专业IT人员很难进入该领域,另一方面,由于该领域比较新,目前发展很快,大多数人都可以无条件进入。
(2)与企业计算等应用软件不同,嵌入式领域人才的劳动强度通常较低(但收入也不低)。
(3)如果你想有一天创业,开发自己的产品,嵌入式软件不像应用软件那么容易盗版。
硬件设计通常是由其他公司完成的(这就是所谓的“OEM”。
它们都是通用硬件。
(4)兴趣,这是最重要的。
涉足嵌入式软件开发的缺点是:(1)起点入门门槛比较高,所使用的技术往往比较困难,除非你有很好的软硬件基础,尤其是操作系统级软件没有深厚的基础,你可能不会(2)这个领域的公司比企业IT公司少很多,主要是综合工作难度大,但大部分公司都不需要这个,只要你有经验即可。
(4)平台难以改变兴趣根源:1、成功理念不同。
不失去生命就是我的成功。
2.喜欢思考,挑战逻辑思维。
3.我喜欢CC是一种可以拓展思维界限的语言。
C精神的某些方面可以用这样的简短句子来概括:信任程序员。
不要阻止程序员做需要做的事情。
保持语言简短、切题。
方法执行操作。
使其速度相当快,但不能保证便携。
4.喜欢底层开发,讨厌vb开发工具(并不是说vb不好)。
5、发展前景好,适合创业。
我死后不想成为一名工程师。
方法步骤:1、基础知识:目的:能了解硬件的工作原理,但重点是嵌入式软件,尤其是操作系统级软件。
科目:数字电路、计算机设计原理、集成微处理器的结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽然科目很多,但都是比较简单的基础知识,大部分都已经掌握了。
不一定要选修所有课程,但可以根据自己的需要选修课程。
主要书籍:《c++编程语言》(我还没来得及看)、《数据结构-C2》。
学习Linux:目标:深入了解Linux系统。
方法:使用linux→linxu系统编程开发→驱动开发和linux内核分析。
我们先深入了解一下,然后再讲原理。
读几遍后,分析情况,深入比较。
这两本书是交织在一起的。
分析的是0.11版本,适合学习。
最后深入研究代码。
热门书籍:完整的Linux内核分析、Un​​ix环境中的高级编程、深入理解Linux内核、场景分析和源码生成。
3.学习嵌入式linux:目标:掌握嵌入式处理器及其系统。
方法:(1)嵌入式微处理器的结构及应用:按照arm原理直接组装即可,不重复x86。
(2)嵌入式操作系统:ucOS/II简单、开源、易于访问。
然后研究uClinux。
(3)你必须有开发板(arm9以上),有条件可以参加培训(进步很快,也能交到一些朋友)。
重点书籍:毛德考的《嵌入式系统》等arm9手册和arm汇编指令。
4.深入学习:A.数字图像压缩技术:主要是需要掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11、蓝牙、GPRS、GSM、CDMA等。
2010-8-2116:46回复122.90.173.*2楼C.网络与信息安全技术:如加密技术、CA数字证书等。
D.DSP技术:DigitalSignalProcess,DSP处理器通过硬件实现数字信号处理算法。
注:很多细节没有解释,可以根据实际情况进行调整。
重点是1和3,您不必按照严格的顺序执行它们。
学习C++,原因在于C++不仅仅是一门语言、一种工具,它还是一门艺术、一种文化、一种哲学概念,但它不是用来看的东西。
对于Linux内核来说,学习编程也是有必要的,阅读一些很棒的代码。
注意:一定要学会运用例子来得出结论,基础扎实。
很多事情只要看一眼就可以明白。
要成为一名合格的程序员,必须精通至少一门编程语言,并具有良好的逻辑思维。
理论必须与实践相结合。
不要只钻研技术虽然很难挤出时间,但还是应该留出一些空间来完善其他爱好,比如太空、素描、机器、管理、心理学、游戏和科幻电影。
有些事你不想做,但又不得不做!技术是通过编程来编程的。
永远不要梦想一步登天,永远不要做一个浮躁的人,永远不要觉得路漫漫其修远兮。
这是关于编程、编程、编程、再次编程、再次编程!等待创业机会(不相信奇迹,创业很难成功盲目的,即使成功了,也未必有太大的发展空间)。
推荐的嵌入式书籍:Linux基础知识1.《Linux和UnixShell编程指南》C语言基础知识1.《CPrimerPlus,第5版》[美国]StephenPrata2.《TheC编程语言,第2版》[美国]Bri作者:anW.KernighanDavidM。
Rithie(K&R)3.《UNIX环境中的高级编程,第二版》(APUE)4.《解释》《Linux嵌入式应用开发详解》LinuxKernel1.《深入理解Linux内核》(第三版)2.《Linux内核源码场景分析》毛德草研发方向与胡锡明1.《UNIX网络编程》(UNP))2.《TCP/IP详解》3.《Linux内核编程》4.《Linux设备驱动开发(LDD)5》、《高级Linux编程》硬件基础1杨宗德着、《ARM架构与编程》杜春雷着2、S3C2410数据手册英文基础1、系统指南《计算与通信专业英语》1,“嵌入式系统-架构、编程和设计系统2”。
-使用开源代码和StrongARM/Xscale处理器》毛德操胡锡明的3.《构建嵌入式Linux系统》4.《嵌入式ARM系统原理与开发实例》杨宗德的理论基础1.《算法导论》2.《数据》结构(C语言版)》3.《计算机组织与体系结构?作者:BryantDavidO'Hallaron5.《操作系统:本质与设计原理》6.《编译原理》7.《数据通信与计算机网络》8.《数据压缩原理与应用》C中推荐书籍语言1.《C程序设计语言》《C程序设计语言》2.《PointersonC》《C与指针》3.Ctrapsandtraps《CTraps》与缺陷》4.ExpertCLanuage《专家C编程》5.WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCPrograms》《编程精髓-微软编写高质量、无BugC程序的秘密》6.C和C++嵌入式系统编程《嵌入式系统编程》7.《C语言嵌入式系统编程实践》8.《高质量C++/C》《编程指南》林锐尽可能多说到编码,要学好C,不能只关注C本身。
算法、架构方法等都很重要。
这里很多书其实只是推荐,不用太关注,关键是基础,才是重中之重!!!

嵌入式学习路线

嵌入式系统开发基础理论:基础课程:嵌入式Linux操作系统的使用、嵌入式Linux语言高级编程、高级课程;数据结构与经典算法表达、嵌入式系统应用高级Java语言编程基础课程:基础课程:Linux下的嵌入式I/O文件、嵌入式Linux库的制作与使用、嵌入式程序的并发设计。
高级课程:嵌入式Linux网络编程、嵌入式数据库开发、嵌入式Linux完整案例以Android基础应用开发、底层开发核心课程嵌入式Linux:基础课程:ARM处理器编程、ARM硬件接口编程、物联网物联网基础、高级课程:嵌入式Linux系统移植、嵌入式Linux内核开发、嵌入式Linux驱动开发、Android移植开发、嵌入式系统开发与实践:创建物联网项目物联网、公交卡充值系统、家具基于Android的智能、便携式智能医疗系统