嵌入式系统自学

嵌入式图书推荐

Linux基础知识

1,Linux和Unix Shell编程指南

c语言基础

1,C Primer Plus,第5版,作者Stephen Prata。

2.《C语言程序设计》,第二版,Brian w . Kernigan David m . Rithie(K & amp;r)开

3、《UNIX环境下的高级编程,第二版》(APUE)

4.嵌入式Linux应用开发详解。

Linux内核

1,深入了解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.计算机组织与架构?性能分析”

4,“对计算机系统的深刻理解”,作者Randal E. Bryant David O''Hallaron

5.操作系统:本质和设计原则

6.编译原则

7.数据通信和计算机网络

8.数据压缩的原理及应用

这是别人推荐的几本书,我也在学习嵌入式的东西。原来基础不如你,但希望这些书对你有帮助。

以下是牛人的一些嵌入式学习经验,供大家参考:

1,基础知识:

目标:我能理解硬件的工作原理,但专注于嵌入式软件,尤其是操作系统级软件将是我的优势。

科目:数字电路、计算机组成原理、嵌入式微处理器结构。

汇编语言,C/C++,编译原理,离散数学。

数据结构与算法,操作系统,软件工程,网络,数据库。

方法:科目虽多,但都是简单的基础,大部分已经掌握。不必全部学习,但可以根据需要选修。

主要书籍:《c++编程语言》(还没来得及看)和《数据结构——C2》。

2.学习linux:

目的:深入掌握linux系统。

方法:使用linux-> LINXU系统编程开发->驱动程序开发分析linux内核。先看深,再解释原理。看了几遍,看形势分析,对比深度,两本书交叉,深度是纲,情感是旨。分析是0.11版本,适合学习。最后,深入代码。

主要书籍:《linux内核全解析》、《unix环境下的高级编程》、《linux内核的深入理解》、《场景分析与源码生成》。

3.了解嵌入式linux:

目的:掌握嵌入式处理器及其系统。

方法:(1)嵌入式微处理器的结构与应用:只讲arm的原理与组装,不重复x86。

(2)嵌入式操作系统类:ucOS/II简单,开源,可用于入门。然后深入学习uClinux。

(3)必须有开发板(arm9以上),有参加培训的条件(可以进步很快,可以交一些朋友)。

主要著作:毛的嵌入式系统等arm9手册和arm汇编指令。

4.深入研究:

一、数字图像压缩技术:主要应掌握MPEG、mp3等编解码算法和技术。

b通信协议及编程技术:TCP/IP协议、802.11、蓝牙、GPRS、GSM、CDMA等。

C.网络与信息安全技术:如加密技术、数字证书CA等。

d、DSP技术:数字信号处理,DSP处理器通过硬件实现数字信号处理算法。

注:太多细节不解释,可根据实际情况调整。重点是1和3,不一定要全序做。之所以要学c++是因为c++不仅仅是一门语言,一个工具,更是一门艺术,一种文化,一种哲学,但不是用来炫耀的东西。对于linux内核来说,也需要学习编程,阅读一些优秀的代码。

注意:要学会举一反三,基础扎实。你可以简单地通过观察来学习很多东西。要成为一名合格的程序员,必须精通至少一门编程语言,并具有良好的逻辑思维。我们必须把理论和实践结合起来。

不要盲目钻研技术。虽然很难找到时间,但也要留点空间完善其他爱好,比如宇宙、素描、机械、管理、心理学、游戏、科幻电影。还有些事情是你不想做却又不得不做的!

技术是通过编程来编程的。千万不要梦想一步登天,不要做一个浮躁的人,不要觉得路漫漫其修远兮。是编程,编程,编程,编程!机会来了再创业(不要相信奇迹,盲目的成功很难,即使成功了也不一定有多大的发展空间)。

嵌入式学习的关键在于个人兴趣。不要怕困难,坚持不懈,多向前辈请教。