引用: 原帖由 zhiha258 于 2010-3-20 18:59 发表
怎么样学习嵌入式?
嵌入式是一门实践性很强的学科,想学习嵌入式的都看过不少关于ARM 或LINUX方面的书,可是还是觉得自已没有入门,也不知道怎么样动手做一些东西。这些书介绍的都是零零散散的,我们有不少人不能综 ...
项目实践班课程计划 | |||
星期 | 时间 | 课程内容 | 课程性质 |
入学基础强化(1周) | |||
1 | 3月8日 实习班开学典礼 实习项目介绍与安排 实习项目知识背景与成员基础摸底 公共 | ||
2 | 3月9日 Linux的开发基础 Linux文件系统和文件; Shell的使用;常用的shell命令;Linux 的编程常识; 编译器GCC的使用;调试器gdb的使用; | ||
3 | 3月10日 Linux 下Make工具与Makefile编写 公共 | ||
4 | 3月11日 [/td][td=1,1,373]Linux 下shell编程 [/td][td=1,1,105] 公共 [/td][/tr] | ||
5 | 3月12日 C/C++语言强化 内存布局与指针使用 公共 | ||
6 | 3月13日 休息 | ||
7 | 3月14日 休息 | ||
项目硬件平台熟悉(2周) | |||
1 | 3月15日 项目主硬件平台熟悉 GEC实验箱使用 公共 | ||
2 | 3月16日 嵌入式微处理器 ARM寄存器 ARM工作模式与转换 ARM异常中断 ARM汇编指令 ARM汇编指令寻址方式 ARM汇编程序设计 C及汇编语言混合编程 公共 | ||
3 | 3月17日 MDK开发环境使用 J-Linuk仿真器使用 ARM开发调试环境建立 ARM GPIO应用 ARM存储器控制器 ARM中断控制器(IRQ和FIQ) 公共 | ||
4 | 3月18日 ARM时钟及定时器;TFT LCD驱动程序设计 公共 | ||
5 | 3月19日 NOR Flash应用设计;NAND Flash应用设计 IIC总线控制器 公共 | ||
6 | 3月20日 项目小组外围硬件指导(上午、下午、晚上分三组) 分组 | ||
7 | 3月21日 项目小组外围硬件指导(上午、下午、晚上分三组) 分组 | ||
1 | 3月22日 PWM时钟应用;实时时钟及闹钟应用 ARM启动代码设计 最小引导系统 项目小组外围硬件指导(晚上) 公共 | ||
2 | 3月23日 ADC控制器应用;触摸屏应用及校准 项目小组外围硬件指导(晚上)公共 | ||
3 | 3月24日 项目小组外围硬件指导(上午、下午、晚上分三组) 分组 | ||
4 | 3月25日 项目硬件裸板接口编程实践 分组 | ||
5 | 3月26日 项目硬件裸板接口编程实践 分组 | ||
6 | 3月27日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
7 | 3月28日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
项目应用编程(3周) | |||
1 | 3月29日 [/td][td=1,1,373]Linux交叉开发环境介绍; GNU交叉工具链的使用;宿主机与PC机间的通信; 串口通信;交叉调试; [/td][td=1,1,105] 公共 [/td][/tr] | ||
2 | 3月30日 [/td][td=1,1,373]Linux系统调用与用户编程接口; Linux中文件及文件描述符概述; 不带缓存的文件I/O操作;标准I/O开发。 [/td][td=1,1,105] 公共 [/td][/tr] | ||
3 | 3月31日 [/td][td=1,1,373]文件操作 目录操作 特殊文件操作 串口通信 [/td][td=1,1,105] 公共 [/td][/tr] | ||
4 | 4月1日 [/td][td=1,1,373]Linux下进程结构;Linux下进程的模式类型; Linux下进程管理;Linux进程控制编程;守护进程; 信号及信号处理 [/td][td=1,1,105] 公共 [/td][/tr] | ||
5 | 4月2日 [/td][td=1,1,373]进程间通信; 管道;管道创建与读写;标准流管道;FIFO信号量; 共享内存实现;消息队列实现 [/td][td=1,1,105] 公共 [/td][/tr] | ||
6 | 4月3日 [/td][td=1,1,373]多线程编程 [/td][td=1,1,105] 公共 [/td][/tr] | ||
7 | 4月4日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
1 | 4月5日 [/td][td=1,1,373] OSI参考模型和TCP/IP参考模型; TCP/IP协议栈;TCP和UDP; 套接字基础 网络Socket概述;Socket通信原理; Socket基础编程。 [/td][td=1,1,105] 公共 [/td][/tr] | ||
2 | 4月6日 [/td][td=1,1,373]Linux下嵌入式GUI编程 [/td][td=1,1,105] 公共 [/td][/tr] | ||
3 | 4月7日 [/td][td=1,1,373]QT中的多线程编程;Qt 中的网络编程。 [/td][td=1,1,105] 公共 [/td][/tr] | ||
4 | 4月8日 [/td][td=1,1,373]Bootloader介绍;U-boot配置与编译; U-boot移植;U-boot 使用 [/td][td=1,1,105] 公共 [/td][/tr] | ||
5 | 4月9日 [/td][td=1,1,373] 根文件系统的目录结构;根文件系统内容; 根文件系统制作;添加设备文件;添加动态链接库; 添加系统应用程序;添加配置文件 [/td][td=1,1,105] 公共 [/td][/tr] | ||
6 | 4月10日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
7 | 4月11日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
项目软件设计分工与编程指导(1周) [/td][td=1,1,105] 分组 [/td][/tr] | |||
项目内核与设备驱动(2周) | |||
1 | 4月19日 [/td][td=1,1,373]Linux内核结构分析;Linux内核配置与编译 Linux内核启动流程分析;内核的调度机制 [/td][td=1,1,105] 公共 [/td][/tr] | ||
2 | 4月20日 [/td][td=1,1,373]Linux内核模块设计 嵌入式linux内核移植与升级 [/td][td=1,1,105] 公共 [/td][/tr] | ||
3 | 4月21日 [/td][td=1,1,373]字符驱动 [/td][td=1,1,105] 公共 [/td][/tr] | ||
4 | 4月22日 [/td][td=1,1,373] 驱动中的并发控制、中断、延时 [/td][td=1,1,105] 公共 [/td][/tr] | ||
5 | 4月23日 [/td][td=1,1,373]块设备驱动 [/td][td=1,1,105] 公共 [/td][/tr] | ||
6 | 4月24日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
7 | 4月25日 [/td][td=1,1,373]休息 [/td][td=1,1,105] [/td][/tr] | ||
1 | 4月26日 [/td][td=1,1,373] 网络设备驱动 [/td][td=1,1,105] 公共 [/td][/tr] | ||
2 | 4月27日 [/td][td=1,1,373] 设备驱动关键结构总结 [/td][td=1,1,105] 公共 [/td][/tr] | ||
3 | 4月28日 [/td][td=1,1,373] 项目硬件设备驱动 (一) [/td][td=1,1,105] 分组 [/td][/tr] | ||
4 | 4月29日 [/td][td=1,1,373] 项目硬件设备驱动(二) [/td][td=1,1,105] 分组 [/td][/tr] | ||
5 | 4月30日 [/td][td=1,1,373] 项目硬件设备驱动调试 [/td][td=1,1,105] 分组 [/td][/tr] | ||
6 | 5月1-3日 [/td][td=1,1,373] 休息三天 [/td][td=1,1,105] [/td][/tr] | ||
整体项目指导验收(1周) | 分组 [/td][/tr][/tr][/tr][/tr] |