嵌入式学习流程图
声明:
在进行该学习计划前我已默认你也基本掌握了C语言,已入门单片机,对数字电路和模拟电路都有一定了解并且能看懂电路图
Linux基础学习:
学习目的:通过该阶段学习,主要学会如何安装Linux,终端使用,VI使用,学会配置Linux系统的网络,掌握常用命令,学会shell编程,了解Linux的文件组织结构,对Linux工作原理有一定了解
参考书目:《鸟哥的私房菜-Linux基础篇》相关内容
使用工具:Vm6.5 Fedora10.0
Linux c编程
学习目的:通过该阶段的学习,主要学会在Linux字符界面下用gcc进行编程及如何使用gdb进行程序调试,学会Linux c的文件操作,进线程编程,网络编程及Makefile文件的编写
参考书目:《Linux c语言编程一站式学习》《Linux c编程指南》
《How to write Makefile》
参考视频:天嵌开发板配套光盘之中嵌视频1-20课
国嵌视频:第2阶段(Linux应用程序设计)
使用工具:编译工具-gcc,调试工具-gdb,编程工具-vi
ARM硬件编程:
通过该阶段的学习知道如何使用Keil4进行2440的裸机编程,了解ARM的体系结构及汇编
参考书目:《ARM嵌入式体系结构与编程》《s3c2440 datasheet》
《嵌入式Linux应用开发完全手册》第二篇
参考视频:韦东山视频1-8课
使用工具:Jlink s3c2440开发板
使用软件:Keil4 SERRG
嵌入式环境搭建:
通过该阶段的学习主要是知道如何在linux下安装软件包,如何搭建Samba,Ftp,Nfs服务器,如何安装arm-linux-gcc这个编译软件。Windows和linux如何通过samba服务器共享文件以及Linux和Linux之间如何通过nfs共享文件
参考书目:《鸟哥的私房菜-Linux基础篇》相关内容,
系统移植:
通过该阶段学习能够初步理解什么是bootloader,什么是内核,什么是文件系统并且能移植一个系统在2440开发板上成功运行,第一步移植内容为bootloader(u-boot)移植,第二步移植内容为内核移植,第三步移植内容为文件系统移植。
参考书目:《嵌入式Linux应用开发完全手册》第三篇
天嵌配套光盘之《天嵌科技出品-Linux移植》
参考视频:《嵌入式Linux应用开发完全手册》配套视频9-11课
使用软件:arm-linux-gcc
驱动开发:
通过该阶段的学习大家能初步了解Linux驱动开发的步骤,了解Linux驱动程序的基本框架并且能成功移植几个最常用驱动程序
参考书目:《嵌入式Linux应用开发完全手册》第四篇,《Linux设备驱动程序》
参考视频:《嵌入式Linux应用开发完全手册》配套视频第12课,国嵌视频
备注:由于本人未曾涉及应用程序开发和深入研究过内核,最后两部分学习内容不做计划
入门嵌入式必学课程:
软件类(驱动方向):高等数学,线性代数,电路分析基础,模拟电路,数字电路,单片机原理及应用,计算机组成原理,C语言,数据结构,操作系统,计算机网络原理。
硬件类(画板方向):高等数学,线性代数,电路分析基础,模拟电路,数字电路,电磁场与电磁波,高频电路,电磁兼容与PCB设计,高速数字电路设计,计算机组成原理,单片机原理及应用。
推荐书籍:
软件类(驱动方向):《ARM体系结构与编程》,《鸟哥的私房菜-Linux基础篇》,《嵌入式Linux应用开发完全手册》,《Linux设备驱动程序》,《深入理解linux内核》
硬件类:《protel99se多层电路板设计与制作》,《电磁兼容与PCB设计》,《高速数字电路设计》