图书
C语言
《C Primer Plus,5th Edition》【美】Stephen Prata著
The C programming language《C程序设计语言》
Pointers on C《C和指针》
C traps and pitfalls《C陷阱与缺陷》
Expert C Lanuage《专家C编程》
Writing Clean Code-----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
Programming Embedded Systems in C and C++《嵌入式系统编程》
《C语言嵌入式系统编程修炼》
《高质量C++/C编程指南》林锐
Linux基础
1、《Linux与Unix Shell 编程指南》
2、《鸟哥的 Linux 私房菜 基础学习篇(第二版)》
3、《Linux程序设计.第3版》
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
硬件基础
计算机组成原理
1、《ARM体系结构与编程》杜春雷著
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统 ――体系结构、编程与设计》
2、《嵌入式系统 ――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O'Hallaron著
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
《unix环境高级编程》
Stevens先生的《unix环境高级编程》
如果对网络编程有兴趣的,可以学习一下Stevens先生的《UNIX网络编程》两卷
可以再看看《TCP/IP详解》三卷)。
《计算机编程艺术》对算法有兴趣得可以研究一下。
《linux设备驱动程序》《深入理解Linux内核》
Linux上的应用编程:《APUE》和《UNP》,前者锻炼基本功,后者学习网络编程。
《Linux Device Driver》--《Linux设备驱动程序》
《UNP》是《UNIX Network Programming》--《Unix网络编程》这本书的简称。作者是:W.Richard Stevens,他是unix与网络方面的专家,他写了几本书,都是unix和网络方面的经典:
第一卷是关于Unix 网络方面的API详细描述,BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSDSocket;
第二卷写的是IPC,就是interprocess communication(进程间通信)。是关于Unix网络编程方面的经典。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。
《APUE》一卷,《AdvancedProgramming in the UNIX Environment》
中文称为《UNIX环境高级编程-(第2版)》。是一本详细描述unix类系统调用的书,unix的C编程中的经典。
(3). 《TCP/IP详解》三卷,第一卷写的是TCP/IP协议,第二卷写TCP/IP协议在BSD中的C实现,第三卷写事务和HTTP协议等。
《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。
《UNIX编程艺术》--《The Art of Unix Programming》
目前学习的主线是
1. 先学习基础的C语言编程,C++编程。《以达内的嵌入式软件编程培训为主》
2. 熟悉linux系统,参看《鸟哥的私房菜》,arm的《arm体系架构与编程》
3. 熟悉后以韦东山的《嵌入式Linux应用开发完全手册》作为主线,搭配2440开发板进行系统的Linux驱动开发