1 / 36
文档名称:

《嵌入式系统开发》.ppt

格式:ppt   大小:1,530KB   页数:36页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《嵌入式系统开发》.ppt

上传人:相惜 2022/4/22 文件大小:1.49 MB

下载得到文件列表

《嵌入式系统开发》.ppt

相关文档

文档介绍

文档介绍:嵌入式系统开发
专题报告
刘泽建
2006年6月9日
整理课件
第一章 嵌入式系统开发基础
第一节 嵌入式系统开发所需的硬件基础
1、核心板、扩展板
需要注意的问题:远峰给我们的电源功率只有2A,有时会出现没有显示2006
/sbin/ifconfig lo up
/sbin/inetd
/sbin/modprobe s3c2410-ts
/sbin/modprobe s3c2410-uda1341
/sbin/modprobe s3c2410_gpio_buttons
echo "static" > /var/run/pcmcia-scheme
………..
具体参考我的论文第三章第一节
整理课件
第三节 嵌入式Linux应用程序开发入门
2、应用程序的编译
#gcc –o main –lm
#g++ –o main –lm
3、应用程序下载运行
通过NFS mount到目标板或直接放到文件系统下载到开发板上调试运行
./main
整理课件
第三节 嵌入式Linux驱动程序开发
1、驱动程序基本概念
Linux系统中,设备驱动程序是操作系统内核的重要组成部分,在与硬件设备之间 建立了标准的抽象接口。通过这个接口,用户可以像处理普通文件一样,对硬件设备进行打开(open)、关闭(close)、读写(read/write)等操作。通过分析和设计设 备驱动程序,可以深入理解Linux系统和进行系统开发。
整理课件
2、一个驱动程序设计实例
#include <linux/> //,最基本的内核模块头文件
#include <linux/> //,最基本的内核模块头文件
#include <linux/> //这里包含了进行正确性检查的宏
#include <linux/> //文件系统所必需的头文件
#include <asm/>//包含内核空间与用户空间进行数据交换时的函数宏
#include <asm/> //I/O访问
int my_open(struct inode *inode, struct file *file) {//每当应用程序用open打开设备时,此函数被调用 }
static void my_release(struct inode *inode, struct file *file) {//每当应用程序用close关闭设备时,此函数被调用}
ssize_t my_read (struct file *f,char *buf,int size,loff_t off) {//每当应用程序用read访问设备时,此函数被调用 }
ssize_t my_write (struct file *f,const char *buf, int size,loff_t off) {//每当应用程序用write访问设备时,此函数被调用 }
int my_ioctl(struct inode *inod,struct file *f,unsigned int arg1, unsigned int arg2) {//每当应用程序用ioctl访问设备时,此函数被调用}
整理课件
struct file_operations my_fops = {
NULL, /* lseek */
my_read,
my_write,
NULL,
NULL,
my_ioctl,
NULL,
my_open,
my_release, /* nothing more, fill with NULLs */ };
module_init() {//每当装配设备驱动程序时,系统自动调用此函数}
module_exit() {//每当卸载设备驱动程序时,系统自动调用此函数}
整理课件
编写Makefile文件:
CC = arm-linux-gcc
LD = arm-linux-ld
:
$(CC) $(CFLAGS) -c $^ -o $@


#all:
.PHONY: clean
clean:
-rm -f *.o
distclean:
***@make clean
rm -f tags *~
整理课件
编译以后生成驱动程序模块,然后可在启动是加载或手动加载该驱动:
#rmmod spi //卸载
整理课件
第五节 基于嵌入式Linux的GUI开发
请参考
“基于Linux的QT程序设计专题报告”