180 likes | 440 Views
嵌入式操作系统与驱动程序设计. 徐远超 xuyuanchao@263.net http://xuyuanchao.ie.cnu.edu.cn. 教材和参考书籍. 自编讲义 20110218 版 http://xuyuanchao.ie.cnu.edu.cn http://www.linux8.net/ http://www.xxlinux.com/linux/index.html http://linux.chinaunix.net/ http://www.linuxdiyf.com/ http://staff.ustc.edu.cn/~xlanchen/
E N D
嵌入式操作系统与驱动程序设计 徐远超 xuyuanchao@263.net http://xuyuanchao.ie.cnu.edu.cn
教材和参考书籍 • 自编讲义 20110218版 • http://xuyuanchao.ie.cnu.edu.cn • http://www.linux8.net/ • http://www.xxlinux.com/linux/index.html • http://linux.chinaunix.net/ • http://www.linuxdiyf.com/ • http://staff.ustc.edu.cn/~xlanchen/ • 推荐阅读好的博客,带着目的去查找资料
考试与成绩组成 • 出勤与平时实验表现 • 平时homework及完成情况 • 上机测试,Project
上机测试内容 • 为平时试验内容 • 平时试验表现突出的可不参加测试
Project的初步想法 • 问题来源于讲义 • 以组的形式围绕某1-2个问题展开较为深入的研究,问题由我给出 • 鼓励发现有价值的问题,若能发现,认定后,成绩为优
教学内容及进度 • 认识并熟练使用Linux操作系统 • 了解并搭建嵌入式Linux • 初识BootLoader • 了解并编译Linux内核 • 编写和调试嵌入式Linux程序 • 编写Linux设备驱动程序
补充内容 • 多核并行程序设计 • 软件性能优化 • Linux内核分析等
教学方式 • 实践为主,讲解为辅 • 强调自学能力的培养 • 培养解决问题的能力 • 学习研究小组,互帮互助
操作系统的作用 • 从8位/16位单片机发展到以ARM核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。 • 更重要的是嵌入式操作系统对应用程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用软件,并易于在不同的ARM核的嵌入式处理器上移植。
常见的嵌入式操作系统 • Linux • μCLinux • μC/OS-II • WinCE • VxWorks • Palm OS • Symbian • Windows Mobile • Android是操作系统吗?
嵌入式Linux操作系统概述 • Linux已成为嵌入式系统主流操作系统。 • 开源http://www.kernel.org/
嵌入式Linux操作系统的优势 • (1)、支持多种体系结构; 目前Linux能够支持x86, ARM, IPS,APARC等多种CPU的体系机构,已被移植到数十种硬件平台上。 • (2)、多任务,内核稳定,可定制,源代码开放; • (3)、强大的网络支持功能; 支持TCP/IP协议,及其上的高层协议,如ftp, Telnet, http等。同时支持Socket网络编程。 • (4)支持多文件系统; linux支持FAT32, EXT2, EXT3等多种文件系统,支持虚拟文件系统,同时还可以连接其它的文件系统,如ROMFS,JFFS等文件系统。
嵌入式Linux操作系统的优势 • (5)驱动丰富,支持大量的外设; linux支持基本所有的PC外设,具有丰富的外设驱动程序。 • (6)Linux具备一整套工具链。 容易自行建立嵌入式系统的开发环境、交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍。一般开发嵌入式操作系统的程序调试和跟踪都是使用仿真器来实现的,而使用Linux系统做原型的时候,可以绕过这个障碍,直接使用内核调试器来做操作系统的内核调试和查错。
嵌入式Linux开发流程 • 准备烧写工具 • 准备交叉编译环境 • 移植/编写Bootloader • 配置/移植/编译Linux Kernel • 制作根文件系统Root FS • 移植/编写设备驱动Device Driver • 调试/开发应用程序Applications • 固化/自启动装载执行Autorun
嵌入式Linux应用程序开发流程 • 编译源文件 编译 排错 调试 交叉编译 排错 调试
Linux使用与编程基础 • 目的:编写一个简单的hello world程序并编译运行(演示)。 • 1)ifconfig 显示IP 地址 • 2)putty ,winscp连到linux • 3)登陆;创建目录work;进入该目录;下载文件;挪到自己的目录;编译; • 4)自己要修改,怎么改?Vi • 5) ……
实验内容 • 登录到linux系统;进入到命令终端;查看IP地址;使用putty连接到linux • 在/home目录下创建子目录exp;在windows 环境下创建一文件test.c;使用winscp拷贝test.c到exp目录下; • test.c不变,将其复制一份,名为test-new.c;压缩test-new.c,名为test-new.tar; • 压缩test-new.c,名为test-new.tar.gz;压缩test-new.c,名为test-new.tar.bz2; • 退回到home目录下,压缩exp目录为exp.tar.bz2;使用 winscp将exp.tar.bz2拷贝到windows目录下 • 在putty中关闭linux • 课外实验: • 安装虚拟机,上网下载。VMware Workstation,在虚拟机环境下安装red hat linux 9.0或fedora core 10等; • 正确配置使得在windows 环境下能够通过putty,winscp访问到虚拟机中的linux。
homework1 • xuyuanchao.blog.chinaunix.net