1、《手持设备软件开发》课程 教学大纲 课程代码: 2008911 课程名称:嵌入式系统软件开发 课程类型:专业任选课 学时学分: 48学时/3学分 适用专业:计算机科学和技术本科专业 开课部门:灾害信息工程系 一、课程的地位、目的和任务 《嵌入式系统软件开发》课程是计算机科学和技术专业的专业任选课程。其内容细化以嵌入式系统软件开发为主,同时包括操作系统、数据结构、体系结构、软件工程等方面的内容。为学生增强动手能力和日后从事软件开发工作打下基础,因此在计算机类专业的人才培养计划中占有重要地位和作用。 通过理论学习和软件开发训练,使学生掌握嵌入式系统软件开发的基本过程、软件工
2、程的思想和方法,熟练使用开发工具,初步具有在嵌入式系统领域独立编写应用软件解决实际问题的能力。 二、课程和相关课程的联系和分工 《嵌入式系统软件开发》课程的先修课程是计算机体系结构、操作系统、数据结构、数据库原理、C语言程序设计、C++程序设计、软件工程等。《嵌入式系统软件开发》课程是计算机类专业的一门专业应用课程,其需要的前续的知识很多,基本包括了计算机类专业的所有基础类课程;学习《嵌入式系统软件开发》可以为学生毕业后找工作以及今后从事软件研发类工作打下坚实的基础,可以在嵌入式系统领域解决实际问题;有了《嵌入式系统软件开发》的学习经历,培养学生手持设备软件开发应用的能力。 三、教学内容
3、和基本要求 第一章 嵌入式软件开发概述 1.教学内容 第一节 嵌入式系统概述 (1) 计算机的发展和分类 (2) 嵌入式系统概述 (3) 嵌入式系统的组成 (4) 嵌入式系统的发展 第二节 嵌入式系统开发流程 第三节 嵌入式系统程序设计 (1) 嵌入式系统开发语言 (2) 嵌入式系统的开发工具 第四节 本课程内容简介 2.重点难点 重点:掌握嵌入式系统组成和开发流程 难点:了解嵌入式系统常用开发语言和开发工具 3.基本要求 熟悉嵌入式系统的组成;了解嵌入式系统软件常用开发语言和开发工具;掌握嵌入式系统软件开发流程。 第二章 预备知识 1.教学内容 第
4、一节 ARM体系结构 第二节 Linux操作系统 第三节 Linux操作系统基础操作 第四节 实验平台简介 第五节 C和C++程序设计语言简介 2.重点难点 重点:Linux操作系统、Linux操作系统基础操作、C和C++程序设计语言简介 难点:Linux操作系统基础操作、C和C++程序设计 3.基本要求 熟悉Linux操作系统、掌握Linux操作系统常用shell命令、熟练应用C和C++程序设计语言。 第三章 嵌入式Linux程序设计基础 1.教学内容 第一节 交叉开发环境 第二节 Linux开发工具链 第三节 编辑器 第四节 编译器、链接器、调试器 第五节
5、自动化编译配置文件 第六节 源码包配置工具 第七节 版本控制工具 2.重点难点 重点:交叉开发环境、编译器、自动化编译配置文件 难点:熟练掌握交叉开发环境和自动化编译配置文件 3.基本要求 熟练掌握交叉开发环境;熟练掌握编译器、链接器;熟练掌握自动化编译配置文件;掌握编辑器、源码包配置工具和版本控制工具。 第四章 嵌入式Linux软件开发基础 1.教学内容 第一节 嵌入式Linux操作系统 第二节 BootLoader 第三节 文件系统 第四节 嵌入式Linux操作系统构建 第五节 嵌入式Linux应用软件开发 第六节 嵌入式C语言进阶 第七节 嵌入式数据库
6、 第八节 嵌入式Linux内核模块 第九节 嵌入式Linux驱动程序工作原理 第十节 嵌入式Linux驱动程序实例 2.重点难点 重点:嵌入式Linux操作系统构建及应用软件开发、嵌入式数据库、嵌入式Linux驱动程序设计 难点:嵌入式Linux操作系统构建、嵌入式数据库、嵌入式Linux驱动程序设计 3.基本要求 熟练掌握嵌入式Linux操作系统构建及应用软件开发;熟练掌握嵌入式数据库;掌握嵌入式Linux驱动程序设计。 第五章 ARM Linux软件开发 1.教学内容 第一节 Linux库 (1) Linux库概述 (2) 库操作工具 (3) 静态库 (4)
7、共享库 (5) 动态链接库 第二节 ARM Linux操作系统 (1) ARM Linux操作系统简介 (2) 启动引导程序vivi (3) CRAMFS文件系统 (4) 构建ARM Linux系统 第三节 ARM Linux驱动程序设计 第四节 Framebuffer技术 第五节 基于Framebuffer的图形界面 第六节 MiniGUI简介 2.重点难点 重点:Linux库、启动引导程序、文件系统、构建ARM Linux系统、基于Framebuffer的图形界面 难点:启动引导程序、文件系统、构建ARM Linux系统、基于Framebuffer的图形界面
8、3.基本要求 熟练掌握Linux库、启动引导程序文件系统、构建ARM Linux系统;熟练掌握基于Framebuffer的图形界面。 第六章 Qt软件开发 1.教学内容 第一节 Qt入门 第二节 创建对话框 第三节 实现应用程序的功能 第四节 布局管理 第五节 输入和输出 第六节 数据库 第七节 多线程 第八节 网络 第九节 国际化 2.重点难点 重点:创建对话框、布局管理、输入和输出、多线程、网络 难点:布局管理、输入和输出、多线程、网络 3.基本要求 熟练掌握对话框的创建;熟练掌握布局管理;熟练掌握输入和输出、多线程、网络。 第七章 常用手机嵌入式系统简
9、介 1.教学内容 第一节 常用手机嵌入式系统概述 第二节 Windows CE系列 第三节 Android系统 第四节 J2ME 第五节 Symbian系列 2.重点难点 重点:Windows CE系列、Android系统、Symbian系列 难点:Windows CE系列、Android系统 第八章 嵌入式系统软件开发实例 1.教学内容 第一节 应用背景 第二节 系统架构设计 第三节 详细设计 (1) 业务类分析和描述 (2) 业务数据库分析和描述 (3) 界面类设计 第四节 系统类说明 第五节 系统演示 2.重点难点 重点:系统架构设计、业务类和
10、业务数据库分析和描述、界面类设计 难点:系统架构设计、详细设计 3.基本要求 掌握嵌入式系统架构设计方法;掌握业务类和业务数据库分析方法;掌握界面类设计方法。 四、 课程学时分配(以章节为单位) 教学内容 学时分配 合计 讲课 实验 上机 讨论/习题 嵌入式软件开发概述 1 0 1 预备知识 1 2 3 嵌入式Linux程序设计基础 2 4 6 嵌入式Linux软件开发基础 4 8 12 ARM Linux软件开发 2 4 6 Qt软件开发 2 6 8 常用手机嵌入式系统
11、简介 2 0 2 嵌入式系统软件开发实例 2 8 10 五、 推荐教材和教学参考书 1.推荐教材:《嵌入式系统程序设计》,作者:赖晓晨 等,出版社:清华大学出版社,出版年月:2009.11.1,版次1; 《C++GUI Qt4编程(第2版)》,作者:(加)布兰切特(Blanchette,J),(英)萨默菲尔德(Summerfield,M) 著 闫锋欣 等译,出版社:电子工业出版社,出版年月:2008.8.1, 版次1; 2.教学参考书:《嵌入式系统设计和应用》,作者:张思民,出版社:清华大学出版社,出版年月:2008.7.1,版次1
12、 六、 教学方法和考核方式 教学方法: 1.理论课采用多媒体课件教学为主、板书为辅、现场编成演示的方式进行教学。 多媒体教学方式的特点是信息量大,图文直观,便于算法的动态演示,但每页的幻灯片内容有限,不便于学生进行前后内容的对照,内容更新速度过快,学生跟不上教师的思路,而传统的板书教学法恰好弥补了这一缺陷。因此,以多媒体教学为主、板书为辅,多种教学手段并用,将学生注意力吸引到课堂上来。 教师课堂现场设计演示,目的是避免纸上谈兵,达到“以学生为本、师生互动”的目的,可以充分调动学生的学习积极性和主动性,而且由教师一边带领学生设计,一边讲解如何设计,给学生留下的印象更为深刻,也真正体现
13、了“按照学生的学来设计和组织教师的教、启发引导、精讲多练、理论和实践相结合”的教学宗旨。 2.布置课后作业,通过上机课验证;使用实例巩固基础知识和提高动手能力,注意理论课和实验课内容的衔接。 3.通过实验、参加项目等培养学生综合运用所学知识,加强学生软件工程思想和软件开发能力。组织学生课外嵌入式系统开发兴趣小组。 考核方式: 本课程为考查课。 期末成绩:50% 平时成绩:50% 修订人:陈福明 修订日期:2011.04.3 审核人: 审核日期: 7 / 7






