嵌入式学习——教学大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式教学大纲
1.文档目的
本文档从大方向上对嵌入式学院的教学方针、教学内容、进度计划做出指引,希望嵌入式学院的全体教员按照本指引安排教学计划,使全学院在教学方向和观念上保持一致。

2.阅读对象
嵌入式学院全体教师,嵌入式学院全体咨询师,学院相关领导。

3.概要
嵌入式教学以培养有扎实功底的软件工程师为主要目的,重点放在软件开发基础训练,强调动手能力,不追求过多地灌输软件知识。

根据80/20原理,汇文教学应该将重点放在20%的基础知识上,保证在有限的教学时间内让学员能够真真正正地理解和掌握到最基本、最简单、最常用的那部分技术知识,而不采用大学教学模式,一味追求知识面和教学进度。

汇文教学强调动手能力,教学过程中动手练习和课堂授课的时间比例应该在2:1甚至更高,即动手练习的时间占全部教学时间的2/3以上。

希望学员通过自己动手,做到自己发现问题,思考问题,解决问题,从而能够对所应用的知识有深刻的理解和形成正确的软件开发的思维习惯。

整个教学过程大致可以分为3个阶段:基础阶段、提高阶段和扩展阶段。

基础阶段强调软件开发基本功;提高阶段教授现代的软件开发技术;扩展阶段介绍当前市场上某些热点领域的背景知识(可选)。

3个阶段的教学时间可以根据实际情况灵活地调整,本计划只给定一个指导时间。

4.1阶段目标
1、通过大量的编程练习,将学员代码量提高到10000行以上,使学员学会如何“编程”。

2、结合基础知识的教授和练习,让学员打下扎实的编程基本功。

4.2教学内容
实训模块基础阶段实训时间
(6~7周)
实训内容
Linux开发环境0.5周(1)Linux基本命令
(2)vi,gcc, gdb, make
C语言(重点) 2.5周(1)数据类型、运算符
(2)选择、循环控制
(3)数组数组练习
(4)编译预处理、函数函数练习(5)指针
(6)指针练习
(7)结构体、共用体
(8)位运算位操作,位域,大小端等
C++语言1周(1)类与对象的概念(2)继承与重载(3)C++ 其余语法
数据结构(重点)2周(1)线性结构(顺序表,链表,栈,队列,哈希表)(2)排序
(3)查找(顺序查找,二分法)
(4)树(二叉树)
软件工程1天(1)瀑布模型中各个阶段及各个阶段的任务项目
(穿插与每个模块之
间)2周
(1)智能俄罗斯方块
(2)战争模拟器
(3)动态内存管理(malloc)(必做)
(4)图书馆管理系统(可选)
(5)有限状态自动机实现
.....
5.1教学目标
1、学员能够对现代常用编程技术有一个基本的掌握
2、对嵌入式应用技术和嵌入式系统搭建技术有一个总体的掌握
5.2教学内容
提高阶段模块实训时间
(8周)
实训知识点相关实验和项目
IO编程0.5周(1)c库文件操作(普通)
(2)低级文件读写(重点)
多进程多线程
(重点)1周(1)进程特点(普通)
(2)进程通信(重点)
(3)进程同步(重点)
(4)线程特点(普通)
(5)多线程同步(重点)
(6)死锁(普通)
(1)生产者与消费者模型实现(重
点)
(2)死锁训练(可选)
网络编程
(重点)1周(1)以太网(普通)
(2)TCP/IP(普通)
(3)Socket编程(流式,数据报)(重
点),raw socket(可选)
(1)基于socket的c/s结构的程序
(重点)
(2)基于socket的udp程序(可选)
ARM体系结

(重点)1周
(1)嵌入式系统硬件结构综述(普通)
(2)嵌入式的软件系统综述(linux、
uC/os)(普通)
(3)ARM CPU体系结构(普通)
(4)嵌入式平台外围接口芯片(普通)
(5)嵌入式裸机汇编程序和C语言开发
工具(普通)
(1)纯汇编的LED,Key,Beep,
UART综合驱动(重点)
Embedded
Linux (重点)2周
(1)Bootloader(u-boot)原理,启动流
程及命令(普通)
(2)u-boot 编译,调整,烧录
(3)嵌入式Linux开发环境的搭建
(4)Root fs搭建(普通)
(5)简单嵌入式Linux应用程序开发及
烧录(重点)
(6)内核配置编译及烧录(普通)
(1)u-boot 编译,调整,烧录
(2)嵌入式Linux开发环境的搭建
(3)嵌入式Linux helloworld程序
(重点)
(4)内核配置编译及烧录
(5)linux驱动开发(普通字符设
备,LED驱动,按键的中断驱动)
(7)linux驱动开发(普通字符设备,LED驱动,按键的中断驱动)
QT (重点)2周(1)QT的环境搭建(重点)
(2)QT的交叉环境建立和运行(重点)
(3)基本界面(按钮,菜单,选择框,
(4)文本框等)(重点)
(5)复杂界面(普通)
(6)Qt的数据库操作
(7)Qt的网络编程
(1)Qt基本界面程序在嵌入式系
统上实现(重点)
(2)基于QT界面的聊天室程序(服
务器端和客户端)
(3)Qt基本界面程序在嵌入式系
统上实现(重点)
(4)基于QT界面的聊天室程序
(服务器端和客户端)
(5)贪吃蛇游戏(可选)
(6)俄罗斯方块(可选)
uc/OS 0.5周(1)嵌入式操作系统介绍
(2)任务管理(普通)
(3)任务间的通讯和同步(可选)
(1)移植ucos到开发板
(2)简单屏保程序
6.扩展阶段
6.1教学目标
1、学员分组完成一个综合型软件开发项目,该项目应该覆盖前两阶段大部分知识,贯
彻应用软件工程开发思想和具有良好的开发项目经验,同时具有实际的市场意义。

2、初步了解一些当前市场热门的技术领域。

6.2教学内容
1、项目指导(选其中一个)(必须)
1.VOIP电话
2.网络MP3(流播放)
3.点菜系统
4.公交导程系统
5.无线网络温控系统
6.嵌入式视频监控系统
7.HTTP深度检测防火墙
8.自己立题
2、Linux内核驱动编程(可选)
3、多媒体、音视频(可选)
4、网络存储(可选)
可继续添加。

6.3教学时间安排
整个大项目穿整个学习阶段时间分配如下:
一、文献综述,项目计划书(6-7周)
此项工作贯穿于C 语言数据结构基础阶段,用于熟悉项目背景,技术以外知识准备。

二、概要设计(1周)
此项工作在有一定的编码能力及项目背景知识的了解基础上做粗略的模块分析。

三、详细设计、编码、测试
此项工作贯穿于后期课程中,随着学习的深入及对项目理解程度的加深,不断完善概要设计,逐步尝试编码,在课程结束后2周时间集中编码测试。

四、答辩。

相关文档
最新文档