1.01

Size: px
Start display at page:

Download "1.01"

Transcription

1 2013 操作系统课程设计

2 内容简介 设计目的 设计内容 实施方法及要求 时间安排 辅导 2

3 设计目的 掌握 Linux 操作系统的使用方法 ; 了解 Linux 系统内核代码结构 ; 掌握实例操作系统的实现方法 3

4 内容简介 设计目的 设计内容 实施方法及要求 时间安排 辅导 4

5 设计内容 (1) 要求 : 熟悉和理解 Linux 编程环境 内容 编写一个 C 程序, 使用 Linux 下的图形库, 分窗口显示三个并发进程的运行 5

6 设计内容 (2) 要求 : 掌握添加系统调用的方法 内容 采用编译内核的方法, 添加一个新的系统调用 编写一个应用程序, 测试新添加的系统调用 6

7 设计内容 (3) 要求 : 掌握添加设备驱动程序的方法 内容 : 采用模块方法, 添加一个新的设备驱动程序 要求添加字符设备的驱动 编写一个应用程序, 测试添加的驱动程序 7

8 设计内容 (4) 要求 : 理解和分析 /proc 文件 内容 了解 /proc 文件的特点和使用方法 监控系统状态, 显示系统中若干部件的使用情况 用图形界面显示系统监控状态 8

9 设计内容 (5) 要求 : 理解和掌握文件系统的设计方法 ( 选做 ) 内容 设计 实现一个模拟的文件系统 9

10 内容简介 设计目的 设计内容 实施方法及要求 时间安排 辅导 10

11 实施方法及要求 每位同学都必须独立完成课程设计内容 上机考核 提交 演示完成的系统, 并回答老师的问题 文本的课程设计报告, 内容包括课程设计内容分析 程序清单 ( 附注释 ) 调试记录 ( 碰到的问题和解决方案 ) 以及课程设计心得 程序 ( 电子版 ) 11

12 实施方法及要求 ( 续 ) 支持借鉴和学习已有的优秀知识! 反对全盘拷贝, 不求甚解! 吸收和消化他人经验, 做自己的课程设计! 自学能力的培养 : 学会上网查资料 解决问题! 12

13 内容简介 设计目的 设计内容 实施方法及要求 时间安排 辅导 13

14 课程设计时间 : 第一 二周 答疑 南一楼 803 时间安排 刘畅 liuchangwh@163.com 张仁同 zhangrentong168@163.com 石柯 keshi@mail.hust.edu.cn QQ 群号 : 考核 系统 问答 报告 第二周周四 周五南一楼 803 演示 14

15 内容简介 设计目的 设计内容 实施方法及要求 时间安排 辅导 15

16 课程设计辅导 Linux 系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc 文件分析 16

17 Linux 系统的相关知识 Linux 版本 Linux 通过简单的编号来区别内核的稳定版和开发版 每个版本用三个数字描述, 由圆点分隔 前两个数表示版本号, 第三个数表示发布号, 如 (2.6 版本和 2.4 版本在具体的操作细节上有很大差异 ) 如果第二个数为偶数, 则表示稳定的内核 ; 否则, 表示开发中的内核 稳定版的发布主要用来纠正用户所报告的错误, 但实现内核的主要算法和数据结构基本不变 然而, 开发版本间可能存在很大的差异 17

18 Linux 系统的常用目录 文件目录结构 树型结构 常用目录有 : /dev: dev 是 device 的缩写 这个目录包含 Linux 的所有设备文件, 如 /dev/hda 代表第一个物理 IDE 硬盘 /etc: 这个目录用来存放系统管理所需要的配置文件和子目录 /lib: 这个目录里存放着系统最基本的动态链接共享库, 几乎所有的应用程序都需要用到这些共享库 18

19 Linux 系统的常用目录 ( 续 ) /usr: 这是最庞大的目录, 我们要用到的应用程序和文件几乎都存放在这个目录下 其中包含以下子目录 : /usr/include: Linux 下开发和编译应用程序所需的头文件 ; /usr/lib: 常用的动态链接共享库和静态档案库 ; /usr/local: 这是提供给一般用户的目录, 在这里安装软件最适合 ; /usr/man: 帮助文档的存放目录 ; /usr/src: Linux 的源代码目录 19

20 Linux 系统的核心源码 Linux 核心源代码位于 /usr/src/linux 下, 包括 : arch: 包括所有和 CPU 类型相关的核心代码 它的每一个子目录都代表一种支持的 CPU 类型, 例如 i386 就是关于 Intel CPU 及与之相兼容的体系结构的子目录,PC 机一般都基于此目录 ; drivers: 放置系统所有的设备驱动程序 ; 每种驱动程序又各占用一个子目录, 如 /block 下为块设备驱动程序 ; include: 包括编译核心所需要的大部分头文件 与平台无关的头文件在 include/linux 子目录下, 与 Intel CPU 相关的头文件在 include/asm-i386 子目录下 ; 20

21 Linux 系统的核心源码 ( 续 ) Linux 核心源代码中的内容还包括 : init: 包含核心的初始化代码 ( 注 : 不是系统的引导代码 ), 包含两个文件 main.c 和 version.c, 这是研究核心如何工作的一个非常好的起点 ; mm: 包括所有独立于 CPU 体系结构的内存管理代码, 如页式存储管理中内存的分配和释放等, 而和体系结构相关的内存管理代码则位于 arch/*/mm/ 下 ; kernel: 主要的核心代码, 此目录下的文件实现了大多数 Linux 系统的内核函数, 其中最重要的文件当属进程调度 sched.c, 同样, 和体系结构相关的代码在 arch/*/kernel 中 21

22 课程设计辅导 Linux 系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc 文件分析 22

23 进程并发 pid=fork(): 创建子进程 返回值 :0 从子进程返回, > 0 从父进程返回 exit 进程自我终止, 进入僵死状态, 仍然保留 task_struct 结构 wait( ) 等待进程终止 ( 由父进程调用 ) exec( ) 执行一个可执行程序 ( 文件 ) 23

24 进程并发 窗口 进度条和按钮的创建 程序流程 如何同时显示三个并发进程 编译命令 24

25 进程并发 25

26 进程并发 GTK(GIMP Toolkit) 控件 消息处理器和回调函数 利用控件可以实现一些图形的显示, 比如显示窗口等等 消息处理器等待事件的发生 ( 关闭窗口 点击按钮等 ), 并捕获该信号, 告诉 GTK 程序应该调用哪个回调函数进行相应的处理, 并在终端中显示结果 26

27 main(int argc, char* argv[]) { 进程并发 son = fork(); if (son == 0) { 创建窗口 ; exit(0); } else if (son < 0) { printf(" 儿子进程创建失败 \n"); } void destroy(gtkwidget *widget, gpointer data) { } gtk_main_quit(); int g_window(int argc, char *argv[], char s[]) { if (son > 0) { waitpid(son, &status, 0); } } ; } return 0; 27

28 课程设计辅导 Linux 系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc 文件分析 28

29 Linux 系统调用机制 添加系统调用 Linux 内核中设置了一组用于实现各种系统功能的子程序, 称为系统调用 用户可以通过系统调用命令在自己的应用程序中调用它们 系统调用与普通函数调用的区别 系统调用 核心态操作系统核心提供 普通的函数调用用户态函数库或用户自己提供 29

30 添加系统调用 ( 续 ) Linux 系统调用机制 int 0x80 使用寄存器中适当的值跳转到内核中事先定义好的代码中执行 : 跳转到系统调用的总入口 system_call, 检查系统调用号, 再查找系统调用表 sys_call_table, 调用内核函数, 最后返回 系统调用是靠一些宏 一张系统调用表 一个系统调用入口来完成的 30

31 添加系统调用 ( 续 ) 与系统调用相关的内核代码文件 (2.6 内核 ): /usr/src/linux/include/asm-i386/unistd.h 系统调用清单 ( 为每个系统调用分配唯一号码 ) /usr/src/linux/arch/i386/kernel/entry.s 包含系统调用和异常的底层处理程序 信号量的识别程序 ret_from_sys_call: 调用和中断的返回点对 sys_call_table[ ]( 系统功能调用表 ) 进行初始化 /usr/src/linux/kernel/sys.c 系统调用实现代码 /usr/src/linux/arch/i386/kernel/traps.c 定义许多出错处理程序 31

32 添加系统调用 ( 续 ) 步骤 _1 添加源代码 编写添加到内核中的源程序, 函数名以 sys_ 开头 如 :mycall(int num), 在 /usr/src/linux/kernel/sys.c 文件中添加如下代码 : asmlinkage int sys_mycall(int number) { } return number; // 该系统调用仅返回一个整型值 32

33 添加系统调用 ( 续 ) 步骤 _2 连接新的系统调用 使内核的其余部分知道该系统调用的存在 为此, 需编辑两个文件 : /usr/src/linux/include/asm-i386/unistd.h 系统调用清单 ( 为每个系统调用分配唯一号码 ) #define _NR_name nnn 这里,name: 系统调用名 ;nnn: 系统调用对应的号码, 不能与内核自身的系统调用号相同 /usr/src/linux/arch/i386/kernel/entry.s 对 sys_call_table[ ] 进行初始化 ( 增加新的内核函数的指针 ).long SYMBOL_NAME(sys_mycall) 33

34 添加系统调用 ( 续 ) 步骤 _3 重建 Linux 内核 配置内核的方式 make config 基于文本的传统配置界面 make 以 root menuconfig 身份进入 /usr/src/linux 目录, 重建内核 make #make xconfig // 基于文本的传统配置界面 #make dep // 检验内核源代码文件的依赖性和完整性 #make clean // 清除以前编译的目标文件 对每个配置选项, 有三种选择 : Y #make bzimage 将该功能编译进内核 // 编译内核, 也可采用 make zimage N 不将该功能编译进内核 M 将该功能编译成可动态载入的内核模块 编译生成的内核文件为 /usr/src/linux/arch/i386/boot/bzimage 基于文本的菜单形式配置界面, 字符终端下使用 基于图形窗口模式的配置界面,Xwindow 下使用 34

35 补充说明 配置内核的方式 make config make menuconfig make xconfig make oldconfig 基于文本的传统配置界面基于文本的菜单形式配置界面, 字符终端下使用基于图形窗口模式的配置界面,Xwindow 下使用在原来的配置上作小的修改 对每个配置选项, 有三种选择 : Y 将该功能编译进内核 N 不将该功能编译进内核 M 将该功能编译成可动态载入的内核模块 35

36 添加系统调用 ( 续 ) 步骤 _4 重启内核 将 /usr/src/linux/arch/i386/boot/bzimage 拷贝到 /boot/bzimage 配置启动文件若采用 lilo, 修改 /etc/lilo.conf, 添加新的引导内核 image=/boot/bzimage // 上面编译生成的内核映象 label=linuxtest // 给该系统取个名字 root=/dev/hda5 // 根目录所在的分区, 可用命令 df 查看 read-only 若采用 grub, 修改 /etc/grub.conf, 添加新的引导内核 title Linuxtest root(hd0,4) kernel /boot/bzimage ro root=/dev/hda5 initrd /boot/initrd img 重启后, 出现 Linuxtest 选项, 选择它进入新的内核 36

37 添加系统调用 ( 续 ) 步骤 _5 使用新的系统调用 应用程序 app.c 中调用新添加的系统调用 mycall: #include<stdio.h> #include</usr/src/linux-2.4/ include/asm/unistd.h> #include<errno.h> _syscall1(int, mycall, int, ret) int main(int argv, char *argc[]) { int a = mycall(100); printf( %d\n,a); return 0; } 宏指令说明 :_syscalln(parameters):n 表示系统调用所需参数, parameters 为参数 如上面的宏中, 第一个参数 int 表示返回值类型, 第二个参数 mycall 为函数名 第三个和第四个分别用来指定参数的类型和名称 编译 gcc o app app.c 37

38 函数调用 : 相同点 : 功能相同 添加系统调用 ( 续 ) 不同点 : 作为内核代码, 不能直接调用系统调用命令, 应直接使用系统调用的实际函数 printf printk open() sys_open() close() sys_close() read() sys_read() write() sys_write() 38

39 添加系统调用 ( 续 )-3.2 内核 修改 ( 添加 ) 源代码 第一个任务是编写加到内核中的源程序, 即将要加到一个内核文件中去的一个函数, 该函数的名称应该是新的系统调用名称前面加上 sys_ 标志 假设新加的系统调用为 mycall(int number), 在 /usr/src/linux-3.2.4/kernel/sys.c 文件中添加源代码, 如下所示 : asmlinkage int sys_mycall(int number) { } return number; 39

40 添加系统调用 ( 续 )-3.2 内核 连接新的系统调用 /usr/src/linux-3.2.4/arch/x86/include/asm/unistd_32.h 该文件中包含了系统调用清单, 用来给每个系统调用分配一个唯一的号码 文件中每一行的格式如下 : #define NR_name NNN #define NR_mycall 349 /* 这是我们自己添加的 系统调用 */ #define NR_syscalls 350 /usr/src/linux-3.2.4/arch/x86/kernel/syscall_table_32.s 对 sys_call_table[] 数组进行初始化 该数组包含指向内核中每个系统调用的指针.long sys_name.long sys_mycall 必须注意添加的行的位置, 否则容易造成内核编译的失败 40

41 添加系统调用 ( 续 )-3.2 内核 开始对新的内核进行编译 ( 取决于所用的系统, 以 ubuntu 为例 ) cd /usr/src/linux-3.2.4/ sudo make mrproper sudo make menuconfig ( 第一次这步可能执行出错, 需要安装什么包如下命令安装 :sudo apt-get install libncurses5-dev, 安装好后, 再 make menuconfig sudo 此步由 make bzimage 和 make modules 两步组成, 两步操作都要等很长时间, 还不如等一步, 之后就是让机子慢慢的编译内核去了 ) sudo make modules_install sudo make install sudo update-grub 41

42 添加系统调用 ( 续 )-3.2 内核 对新加的系统调用进行测试 #include<stdio.h> #include</usr/src/linux-3.2.4/arch/x86/include/asm//unistd_32.h> #include<errno.h> #include<sys/syscall.h> int main(int argc,char **argv) { int b=syscall(349,200); /* 第一个参数系统调用号, 第二个参数, 给的任意数值参数 */ } printf("%d\n",b); return 0; 42

43 课程设计辅导 Linux 系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc 文件分析 43

44 内核模块 LKM 添加设备驱动程序 Loadable Kernel Modules Linux 核心是一种 monolithic 类型的内核, 即单一的大核心 linux 内核是一个整体结构, 因此向内核添加任何东西. 或者删除某些功能, 都十分困难 为了解决这个问题, 引入了模块机制, 从而可以动态的在内核中添加或者删除模块 一旦被插入内核, 他就和内核其他部分一样 44

45 添加设备驱动程序 ( 续 ) 模块的实现机制 模块初始化 int init_module( ){ }; 模块卸载 int cleanup_module( ){ }; 操作 unsigned long sys_create_module (char *name, unsigned long size); // 重新分配内存 int sys_delete_module (char *name); // 卸载 int sys_query_module (const char *name, int which, void *buf, size_t bufsize, size_t *ret); // 查询 头文件 : /usr/scr/linux/include/linux/module.h 45

46 添加设备驱动程序 ( 续 ) 模块的实现机制 模块加入 :insmod modulename.o 完成 : 加载目标文件调用 create_module 重新分配内存内核符号用 get_kernel_syms 解析未解析的引用调用 init_module 初始化 LKM-> 执行 init_module(void) 函数 查看模块 :lsmod 结果 :Module Page Used by modulename 1( 内存信息 ) 0( 使用次数 ) 删除模块 :rmmod modulename 46

47 模块编程实例 hello.c 源码 添加设备驱动程序 ( 续 ) #include "linux/kernerl.h" #include "linux/module.h" /* 处理版本问题 CONFIG_MODVERSIONS */ #if CONFIG_MODVERSIONS==1 #define MODVERSIONS #include "linux/version.h" #end if int init_module() /* 模块初始化 */ { } printk("hello world!\n'); printk("i have runing in a kernel mod! \n"); return 0; void cleanup_module() /* 模块卸载 */ { printk(" I will shut down myself in kernel } mod!\n)"; 编译 gcc DMODULE D_KERNEL_ -I /usr/src/linux_ /include -c hello.c 47

48 添加设备驱动程序 ( 续 ) Linux 支持的设备类型 字符设备 c 存取时没有缓存 ; 对字符设备发出读写请求时, 实际的 I/O 就发生了 如 : 鼠标 键盘等 块设备 b 利用一块系统内存区域作缓冲区, 当用户进程对设备请求能满足用户要求时, 返回请求数据, 否则, 调用请求函数进行实际的 I/O 操作 如 : 硬盘 软盘 CD-ROM 等 网络设备 48

49 添加设备驱动程序 ( 续 ) 设备驱动程序 一组常驻内存的具有特权的共享库, 是低级硬件处理例程 设备等同文件处理, 每个设备文件有两个设备号 主设备号 : 标识驱动程序 从设备号 : 表示使用同一个设备驱动程序的不同硬件设备 设备驱动程序工作的基本原理 用户进程利用系统调用对设备进行诸如 read/write 操作, 系统调用通过设备文件的主设备号找到相应的设备驱动程序, 然后读取这个数据结构相应的函数指针, 接着把控制权交给该函数 49

50 添加设备驱动程序 ( 续 ) 设备驱动程序的功能 对设备初始化和释放 ; 把数据从内核传送到硬件和从硬件读取数据 ; 读取应用程序传输给设备文件的数据和回送应用程序请求的数据 ; 检测和处理设备出现的错误 50

51 添加设备驱动程序 ( 续 ) Linux 系统采用一组固定的入口点来实现驱动设备的功能 open 入口点 : 打开设备准备 I/O 操作 open 子程序必须对将要进行的 I/O 操作做好必要的准备工作, 如清除缓冲区等 close 入口点 : 关闭一个设备 当最后一次使用设备终结后, 调用 close 子程序 read 入口点 : 从设备上读数据 write 入口点 : 往设备上写数据 ioctl 入口点 : 执行读 写之外的操作 select 入口点 : 检查设备, 看数据是否可读或设备是否可用于写数据 如果设备驱动程序没有提供上述入口点中的某一个, 系统会用缺省的子程序来代替 对于不同的系统, 也还有一些其它的入口点 51

52 添加设备驱动程序 ( 续 ) 入口点采用如下数据结构实现 : #include</usr/src/linux/include/linux/fs.h> struct file_operations { struct module *owner; loff_t (*llseek) (struct file *,loff_t,int); ssize_t (*read) (struct file *,char *,size_t,loff_t *); ssize_t (*write) (struct file *, const char *, size_t, loff_t *); int (*readdir) (struct file *, void *, filldir_t); unsigned int (*poll) (struct file *, struct poll_table_struct *); int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); int (*mmap) (struct file *, struct vm_area_struct *); int (*open) (struct inode *, struct file *); } int (*flush) (struct file *); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, struct dentry *, int datasync); int (*fasync) (int, struct file *, int); int (*lock) (struct file *, int, struct file_lock *); ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *); ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *); ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); 52

53 添加设备驱动程序 ( 续 ) 注册设备 : 向系统登记设备及驱动程序的入口点 int register_chrdev (unsigned int major, const char *name, struct file_operations *fops); // 向系统的字符设备表登记一个字符设备 //major: 希望获得的设备号, 为 0 时系统选择一个没有被占用的设备号返回 //name: 设备名 //fops: 登记驱动程序实际执行操作的函数的指针 // 登记成功, 返回设备的主设备号, 否则, 返回一个负值 int register_blkdev (unsigned int major, const char *name, struct file_operations *fops); // 向系统的块设备表登记一个块设备 53

54 设备卸载 添加设备驱动程序 ( 续 ) int unregister_chrdev (unsigned int major, const char *name); // 卸载字符设备 //major: 要卸载设备的主设备号 //name: 设备名 int unregister_blkdev (unsigned int major, const char *name); // 卸载块设备 54

55 典型驱动程序的结构 // 将系统调用和驱动程序关联起来 struct file_operations *test_fops= // 在注销模块中卸载设备 void cleanup_module(void) { {.open;.release; 字符设备提供的主要入口 unregister_chrdev(test_major, "test"); 有 :open () release } () }; read () write () ioctl //() 驱动子程序 llseek() poll() 等 // 在初始化模块中注册设备 static int open(struct inode *inode, int init_module(void) struct file *file ) { { } result = register_chrdev(0, "test", static void release(struct inode *inode, struct file *file ) &test_fops); { } } 55

56 添加设备驱动程序 ( 续 ) 添加设备驱动程序的方法 1. 编写设备驱动程序 mydev.c 在模块的初始化 init_module() 中调用设备注册函数 ; 在模块的卸载 cleanup_module() 中调用设备的卸载函数 2. 设备驱动模块的编译 gcc -O2 -DMODULE -D KERNEL -I/usr/src/linux /include -c mydev.c 3. 加载设备驱动模块 : insmod f mydev.o 若加载成功, 在文件 /proc/devices 中能看到新增加的设备, 包括设备名 mydev 和主设备号 4. 生成设备文件 mknod /dev/test c // 其中,test 为设备文件名,254 为主设备号,0 为从设备号,c 表示字符设备 56

57 添加设备驱动程序 ( 续 ) 编写应用程序, 测试驱动程序 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main() { int testdev; int i; char buf[10]; testdev = open("/dev/test",o_rdwr); } if ( testdev == -1 ) { printf("cann't open file \n"); exit(0); } read(testdev,buf,10); for (i = 0; i < 10;i++) printf("%d\n",buf[i]); close(testdev); 编译 gcc hello.c o hello 57

58 添加设备驱动程序 ( 续 ) 58

59 添加设备驱动程序 ( 续 ).o 的文件是 object 文件,.ko 是 kernel object, 与.o 的区别在于其多了一些 sections, 比如.modinfo 在 2.4 内核中, 生成的就是.o 文件,2.6 kernel 对内核模块的管理做了一些扩展, 从此生成的就是.ko 文件 59

60 课程设计辅导 Linux 系统的相关知识 进程并发 添加系统调用 添加设备驱动程序 /proc 文件分析 60

61 /proc 文件分析 /proc PROC 文件系统是进程文件系统和内核文件系统的组成的复合体, 是将内核数据对象化为文件形式进行存取的一种内存文件系统, 是监控内核的一种用户接口. 它拥有一些特殊的文件 ( 纯文本 ), 从中可以获取系统状态信息 系统信息与进程无关, 随系统配置的不同而不同 命令 procinfo 可以显示这些文件的大量信息 进程信息 系统中正在运行的每一个用户级进程的信息 61

62 /proc 文件分析 系统信息 /proc/cmd/line: 内核启动的命令行 /proc/cpuinfo: CPU 信息 /proc/stat: CPU 的使用情况 磁盘 页面 交换 所有的中断 最后一次的启动时间等 /proc/meminfo: 内存状态的有关信息 进程信息 /proc/$pid/stat /proc/$pid/status /proc/$pid/statm etc 62

63 监控系统功能 /proc 文件分析 通过读取 proc 文件系统, 获取系统各种信息, 并以比较容易理解的方式显示出来 使用 GTK+ Linux 下的 c 语言开发 具体包括 : 主机名 系统启动时间 系统运行时间 版本号 所有进程信息 CPU 类型 CPU 的使用率 内存使用率 ---- 参照 WINDOWS 的任务管理器, 实现其中的部分功能 /proc 文件系统的详细信息通过以下命令获取 : man proc 63

64 /proc 文件分析 64

65 /proc 文件分析 65

66 实现方式 模拟文件系统 以一个独立运行的程序形式显现, 运行程序后以命令的形式实现文件操作接口 以库的形式提供, 可供用户编写程序调用 问题 文件系统 : 目录 文件 磁盘空间的管理 : 直接管理原始磁盘空间, 用文件模拟 文件结构 文件操作接口 创建 删除 打开 关闭 读 写 66

67 模拟文件系统 磁盘空间管理 超级块 空闲空间管理 : 链表 成组连接 文件组织结构 目录结构 根目录 67

68 模拟文件系统 文件物理结构 链接 索引 文件操作接口 68

69 模拟文件系统 69

70 模拟文件系统 70

71 模拟文件系统 71

72 模拟文件系统 72

73 模拟文件系统 73

74 模拟文件系统 74

75 课程设计辅导 参考资料 Linux 的 man 帮助 书籍 边干边学 Linux 内核指导 李善平, 陈文智等编著. 浙江大学出版社. Linux Device Driver 2 网站 Linux 内核编程

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

嵌入式Linux知识培训

嵌入式Linux知识培训 嵌入式 Linux 知识培训 主要包括以下四部分内容 : 一 嵌入式 Linux 开发的基本知识 二 Linux 下使用 C 语言进行系统开发 三 面向嵌入式 Linux 的 GUI 系统的体系结构及二次开发 四 基于 Linux OS Smart Phone 的体系结构及开发内容 李玉东 第一部分 基础知识 嵌入式 Linux 软件系统的构成 1.BootLoader 2. Kernel 3.FileSystem

More information

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像 .... 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Fall 2010 . Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像 . 编译 Linux 在 QEMU 模拟器上运行 qemu+linux-2.6.26.1. 准备模拟器.2.

More information

DVK530/531扩展板

DVK530/531扩展板 DVK720 扩展板 驱动移植手册 2014.04.03 V1.0 版权声明 本手册所有权由深圳市微雪电子有限公司独家持有 未经本公司的书 面许可, 不得以任何方式或形式进行修改 分发或复制本文档的任何 部分, 否则一切后果由违者自负 版本更新记录 版本日期说明 V1.0 2014.04.03 初始发布 深圳市微雪电子有限公司 www.waveshare.net I 目录 版权声明... I 版本更新记录...

More information

<4D F736F F D20C7B6C8EBCABDCFB5CDB3BFAAB7A2CAB5D1E9CBC42E646F63>

<4D F736F F D20C7B6C8EBCABDCFB5CDB3BFAAB7A2CAB5D1E9CBC42E646F63> 嵌入式系统实验四 Linux 下设备驱动程序的开发 3.1 设备驱动程序的开发流程 进行嵌入式 Linux 系统的开发, 很大的工作量是为各种设备编写驱动程序 在 ARM 平台上开发嵌入式 Linux 的设备驱动程序与在其他平台上开发是一样的 总的来说, 实现一个嵌入式 Linux 设备驱动的大致流程如下 : (1) 查看原理图, 理解设备的工作原理 (2) 定义主设备号 (3) 在驱动程序中实现驱动的初始化

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

Microsoft Word - rtlinux安装手册.doc

Microsoft Word - rtlinux安装手册.doc 一. RTLinux 安装步骤 作者 : Prof. Chang-Gun Lee 译者 : wsw 1. 安装 RedHat Linux 如果机器之前没有装过 linux 系统, 建议把 RedHat 安装在一个独立的分区上, 推荐使用 RedHat8.0, 因之在与 R TLinux 配合使用兼容性最好, 同时确保安装了内核配置工具,gcc 编译器, 一些诸如 make 和 bzip2 的工具软件.

More information

untitled

untitled 年度 路 IVI 劉 隆 年 597 598 IVI 錄... 601 行... 601... 601 1.... 601 2. 路... 602 3.... 603... 604 1.IPv4 to IPv6... 604 2.IPv6 to IPv4... 605 -... 606 ( )IVI Server... 606 ( )IVI Server... 610 ( )IVI DNS Server...

More information

<4D6963726F736F667420576F7264202D20C7B6C8EBCABD6C696E7578BBF9B4A1CAB5D1E92E646F63>

<4D6963726F736F667420576F7264202D20C7B6C8EBCABD6C696E7578BBF9B4A1CAB5D1E92E646F63> 嵌 入 式 linux 基 础 实 验 1 内 核 配 置 及 编 译 1. 进 入 内 核 所 在 目 录 /opt/ruiva/xscale/linux-2.6.26 #cd /opt/ruiva/xscale/linux-2.6.26 2. 键 入 make menuconfig, 根 据 需 要 适 当 配 置 内 核 #make menuconfig 这 里 先 使 用 默 认 的 配 置,

More information

Microsoft PowerPoint - 嵌入式系统设计课件第五讲.ppt

Microsoft PowerPoint - 嵌入式系统设计课件第五讲.ppt 嵌入式软件系统 嵌入式软件系统的开发形式 嵌入式系统软件的组成 嵌入式系统开发常用协议 嵌入式系统的引导代码 嵌入式系统的内核 Linux 设备驱动程序开发 嵌入式软件系统的开发形式 基于裸机的开发无须操作系统的支持, 软件的每个代码都需要软件程序员进行开发, 一般采用汇编语言, 大多开发简单系统, 如家用电器的简单控制, 适用嵌入式微控制器 基于嵌入式操作系统的开发小型嵌入式系统应用, 不需要复杂文件系统,

More information

2012-linux课程设计指导文档.doc

2012-linux课程设计指导文档.doc 2012/2 new 第 1 章 Linux 下 C 编程的相关知识... 1 1.1. Linux 下的 C 编程... 1 1. 源程序的编译... 1 2. 头文件和系统求助... 2 1.2. 文件拷贝实例... 2 1.3. 并发进程显示实例... 6 1. 实现原理... 7 2. 注意要点... 7 3. 特别强调 :... 7 第 2 章 系统调用相关知识... 9 2.1. Linux

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0 SDChain-Matrix 节点搭建指南 目录 1 环境要求... 3 2 软件下载... 4 3 安装部署... 4 3.1 部署可执行程序目录... 4 3.2 部署配置文件目录... 4 3.3 部署数据库文件目录... 4 3.4 部署日志文件目录... 4 3.5 部署依赖库文件目录... 4 4 配置参数... 5 5 启动运行... 7 5.1 普通模式启动... 7 5.2 加载启动模式...

More information

Microsoft Word - 实用案例.doc

Microsoft Word - 实用案例.doc 计 算 机 系 统 应 用 2009 年 第 12 期 嵌 入 式 Linux 下 温 湿 度 传 感 器 的 设 计 与 实 现 1 Design and Implementation of Temperature and Humidity Sensor Based on Embedded Linux 陈 博 刘 锦 高 ( 华 东 师 范 大 学 电 子 科 学 技 术 系 上 海 200241)

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

Outline 制作带 grub 启动的磁盘映像 利用 qemu+gdb 来调试 linux

Outline 制作带 grub 启动的磁盘映像 利用 qemu+gdb 来调试 linux Linux 操作系统分析 陈香兰 (xlanchen@ustc.edu.cn) 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Spring 2011 Outline 制作带 grub 启动的磁盘映像 利用 qemu+gdb 来调试 linux qemu+linux-2.6.26 1. 准备模拟器 2. 编译 Linux 内核 3. 准备根文件系统 1 准备模拟器

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

RTX3.2.0标准版 - 技术白皮书

RTX3.2.0标准版 - 技术白皮书 一 铭 操 作 系 统 技 术 白 皮 书 广 西 一 铭 软 件 股 份 有 限 公 司 版 权 声 明 本 书 版 权 归 广 西 一 铭 软 件 股 份 有 限 公 司 所 有, 并 保 留 对 本 文 档 及 声 明 的 最 终 解 释 权 和 修 改 权 本 文 件 中 出 现 的 任 何 文 字 叙 述 文 档 格 式 插 图 照 片 方 法 过 程 等 内 容, 除 另 有 特 别 说

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

DVK530/531扩展板

DVK530/531扩展板 DVK710 扩展板 驱动移植手册 2014.06.03 V1.0 版权声明 本手册所有权由深圳市微雪电子有限公司独家持有 未经本公司的书 面许可, 不得以任何方式或形式进行修改 分发或复制本文档的任何 部分, 否则一切后果由违者自负 版本更新记录 版本日期说明 V1.0 2014.06.03 初始发布 深圳市微雪电子有限公司 www.waveshare.netii I 目录版权声明... I 版本更新记录...

More information

ebook15-12

ebook15-12 1 2I / O 12.1 I / O V I / O s e l e c tp o l l r e a d vw r i t e v I / Om m a p 14 15 12.2 I / O 1 0. 5 F I F O F I F O i o c t l 14 I / O I / o p e n, r e a dw r i t e I / O (1) o p e n O _ N O N B L

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

epub 33-8

epub 33-8 8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE

More information

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

ebook15-C

ebook15-C C 1 1.1 l s ( 1 ) - i i 4. 14 - d $ l s -ldi /etc/. /etc/.. - i i 3077 drwxr-sr-x 7 bin 2048 Aug 5 20:12 /etc/./ 2 drwxr-xr-x 13 root 512 Aug 5 20:11 /etc/../ $ls -ldi /. /..... i 2 2 drwxr-xr-x 13 root

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

第7章-并行计算.ppt

第7章-并行计算.ppt EFEP90 10CDMP3 CD t 0 t 0 To pull a bigger wagon, it is easier to add more oxen than to grow a gigantic ox 10t 0 t 0 n p Ts Tp if E(n, p) < 1 p, then T (n) < T (n, p) s p S(n,p) = p : f(x)=sin(cos(x))

More information

Microsoft PowerPoint - Chapter7-DriverDevices.ppt

Microsoft PowerPoint - Chapter7-DriverDevices.ppt Chapter 7 Device Drivers and Software Interface Design Professor Ching-Lung Su E-mail: kevinsu@yuntech.edu.tw Http://www.eecs.yuntech.edu.tw NYUST/EL P-2/80 Outline 7.1 Introduction to Device Driver 7.2

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc 在 VMWare-5.5+RedHat-9 下建立 本机 QTopia-2.1.1 虚拟平台 张大海 2008-5-9 一 资源下载 1. 需要以下安装包 : tmake-1.13.tar.gz qtopia-free-source-2.1.1.tar.gz qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz qt-x11-free-3.3.4.tar.gz

More information

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Linux服务器构建与运维管理

Linux服务器构建与运维管理 1 Linux 服务器构建与运维管理 第 2 章 :Linux 基本命令 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学管理科学与工程学科 2018.3 2 提纲 目录与文件的操作 mkdir touch mv cp rm rmdir file tree

More information

Abstract arm linux tool-chain root NET-Start! 2

Abstract arm linux tool-chain root NET-Start! 2 Lab III - Embedding Linux 1 Abstract arm linux tool-chain root NET-Start! 2 Part 1.4 Step1. tool-chain 4 Step2. PATH 4 Part 2 kernel 5 Step1. 5 Step2... 6 Step3...8 Part 3 root. 8 Step1. 8 Step2. 8 Part

More information

<4D F736F F F696E74202D20B5DAB6FEBDB2A3BAC7B6C8EBCABD4C696E75782D416E64726F6964C7FDB6AFBFAAB7A2BDD2C3D8D6AED2BABEA7C6C1C7FDB6AFBFAAB7A22DB9F9C0CFCAA62E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DAB6FEBDB2A3BAC7B6C8EBCABD4C696E75782D416E64726F6964C7FDB6AFBFAAB7A2BDD2C3D8D6AED2BABEA7C6C1C7FDB6AFBFAAB7A22DB9F9C0CFCAA62E BBCE6C8DDC4A3CABD5D> 在线大讲堂 手机驱动开发揭秘之液晶屏驱动开发 版权 华清远见嵌入式培训中心版权所有 ; 未经华清远见明确许可, 不能为任何目的以任何形式复制或传播此文档的任何部分 ; 本文档包含的信息如有更改, 恕不另行通知 ; 保留所有权利 2 主要内容 1. 液晶屏技术背景 2. 液晶屏接口分析 3. 液晶屏驱动框架分析 液晶屏与触摸屏关系 显示输出 控制输入 液晶屏与触摸屏关系 输入设备 软件 计算机硬件接口

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

ebook35-14

ebook35-14 14 V F S L i n u x 14.1 S u p e r I O I D E I D E C S R, C S R L i n u x L i n u x I D E / d e v / h a d m k n o d I D E I D E / d e v / h d a 2 L i n u x Linux /dev/cua0 / d e v / c u a 1 512 1024 BSD

More information

ebook15-4

ebook15-4 4 4.1 I / O I / s t a t s t a t ( ) U N I X 4.2 stat fstat lstat s t a t #include #include int stat(const char p a * t h n a m e, struct stat b * u f) ; int fstat(int f i l e

More information

How to Debug Tuxedo Server printf( Input data is: %s, inputstr); fprintf(stdout, Input data is %s, inputstr); fprintf(stderr, Input data is %s, inputstr); printf( Return data is: %s, outputstr); tpreturn(tpsuccess,

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

一个开放源码的嵌入式仿真环境 ― SkyEye

一个开放源码的嵌入式仿真环境 ― SkyEye SkyEye SkyEye http://hpclab.cs.tsinghua.edu.cn/~skyeye/ I hear and I forget, I see and I remember, I do and I understand. SkyEye SkyEye SkyEye SkyEye SkyEye 1. SkyEye PC pervasive computing PC I O PDA

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30 0 配置 Host MIB 设备 V 1.1.2 ( 简体版 ) 0 Update: 2016/1/30 前言 N-Reporter 支持 Host Resource MIB 监控主机 (Host) 状态, 本文件描述 N-Reporter 用户如何配置 Host MIB 设备 文件章节如下 : 1. 配置 Windows Server 2003... 2 1-1.Windows Server 2003

More information

puppet 简介 3 puppet 是什么 3 Hello world 4 puppet 安装 5 debian 系发行版安装 puppet 5 redhat 系发行版安装 puppet 5 源代码安装 puppet 6 配置 c/s 模式的 puppet 试验环境 6 puppet 语法 8 资

puppet 简介 3 puppet 是什么 3 Hello world 4 puppet 安装 5 debian 系发行版安装 puppet 5 redhat 系发行版安装 puppet 5 源代码安装 puppet 6 配置 c/s 模式的 puppet 试验环境 6 puppet 语法 8 资 puppet 入门 puppet 简介 3 puppet 是什么 3 Hello world 4 puppet 安装 5 debian 系发行版安装 puppet 5 redhat 系发行版安装 puppet 5 源代码安装 puppet 6 配置 c/s 模式的 puppet 试验环境 6 puppet 语法 8 资源 8 类和函数 10 节点 11 变量和数组 12 模块 13 几个常用的资源

More information

ebook35-21

ebook35-21 21 Linux L i n u x 211 U N I X U N I X I / O F I F O U N I X I n t e r n e t s o c k e t () s o c k e t () send() r e c v ( read() w r i t e () send() r e c v () I n t e r n e t 212 Internet Internet S

More information

uClinux for blackfin

uClinux for blackfin uclinux Blackfin support@besovideo.com QQ 21ic http://bbs.21ic.com/club/bbs/bbsview.asp?boardid=51 24! support@besovide o.com R&D BF561 Linux C MemoryMAP 32 X86 *((volatile unsigned short *)(0x10000300))=0xf0c0;

More information

ebook 86-15

ebook 86-15 15 G t k + d e l e t e _ e v e n t G n o m e G n o m e 15.1 GnomeDialog G t k + G n o m e D i a l o g 15.1.1 G n o m e D i a l o g g n o m e _ d i a l o g _ n e w ( ) G N O M E _ D I A L O G ( d i a l

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

ebook15-10

ebook15-10 1 0 10.1 U N I X V 7 4. 3 B S D S V R 3 P O S I X. 1 100 % 10.2 S I G S I G A B RT a b o r t S I G A L R M a l a r m V 7 1 5 S V R 4 4. 3 + B S D 31 < s i g n a l. h > 0 10. 9 k i l l 0 P O S I X. 1 D

More information

<4D6963726F736F667420576F7264202D204C696E7578CFB5CDB3B5F7D3C3C1D0B1ED>

<4D6963726F736F667420576F7264202D204C696E7578CFB5CDB3B5F7D3C3C1D0B1ED> Linux 系 统 调 用 列 表 雷 镇 (leicool@21cn.com) http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html ( 王 伟 注 : 本 文 是 从 作 者 的 博 文 上 拷 贝 来 的, 进 行 了 重 排 版 ) 简 介 : 本 文 列 出 了 大 部 分 常 见 的 Linux

More information

Microsoft PowerPoint - Linux培训.ppt

Microsoft PowerPoint - Linux培训.ppt 嵌入式 Linux 聚芯嵌入式系统设计研修班潘家飞 panjf@ict.ac.cn 嵌入式 Linux 应用 嵌入式 Linux 的特点 OpenSource Tiny 一个功能完备的 Linux 内核要求大约 1 MB 内存 Linux 系统甚至可以仅使用 256 KB ROM 和 512 KB RAM 进行工作 可移植性 模块化 Linux 系统组成 硬件平台 Bootloader Linux

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

第一章 概论

第一章  概论 1 2 3 4 5 6 7 8 Linux 7.1 7.1.1 1 1 2 3 2 3 1 2 3 3 1 2 3 7.1.2 1 2 1 2 3 4 5 7.1.3 1 1 2 3 2 7.1 3 7.1.4 1 1 PCB 2 3 2 PCB PCB PCB PCB PCB 4 1 2 PSW 3 CPU CPU 4 PCB PCB CPU PCB PCB PCB PCB PCB PCB PCB

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

Microsoft PowerPoint - os_4.ppt

Microsoft PowerPoint - os_4.ppt 行 程 資 科 系 林 偉 川 行 程 概 念 行 程 與 程 式 主 要 的 不 同 點 : 程 式 是 被 放 在 外 部 的 儲 存 裝 置 如 磁 碟 上, 而 行 程 則 被 放 在 記 憶 體 中 程 式 在 儲 存 裝 置 中 是 靜 態 的, 而 行 程 在 記 憶 體 中 是 動 態 的, 它 會 隨 著 一 些 事 件 的 發 生 而 產 生 相 對 的 改 變 行 程, 就 是

More information

006 2014 年 第 6 期 总 第 322 期 一 寻 找 博 尔 赫 斯 向 中 心 汇 聚 过 来 的 街 道, 五 条 街 道, 六 条 街 道, 我 在 水 中 央 仿 佛 一 朵 莲 花 盛 开, 有 千 万 片 花 瓣 在 摇 曳 舒 展 不 知 道 该 往 哪 个 方 向 走 布

006 2014 年 第 6 期 总 第 322 期 一 寻 找 博 尔 赫 斯 向 中 心 汇 聚 过 来 的 街 道, 五 条 街 道, 六 条 街 道, 我 在 水 中 央 仿 佛 一 朵 莲 花 盛 开, 有 千 万 片 花 瓣 在 摇 曳 舒 展 不 知 道 该 往 哪 个 方 向 走 布 005 葛 芳,1975 年 出 生 于 江 苏 江 阴 中 国 作 家 协 会 会 员, 江 苏 省 作 家 协 会 签 约 作 家, 获 紫 金 山 文 学 奖 和 冰 心 散 文 奖 鲁 迅 文 学 院 第 十 九 届 中 青 年 作 家 高 研 班 学 员 著 有 散 文 集 空 庭 隐 约 江 南 中 短 篇 小 说 集 纸 飞 机 现 居 苏 州 实 力 作 家 向 南 极 眺 望 葛

More information

Microsoft Word - 扉页

Microsoft Word - 扉页 第 3 章 文件系统简介 在 UNIX 族的操作系统中, 文件系统占有十分重要的地位, 文件的概念涵盖了 UNIX 设备和操作对象的全部内容, 对设备的操作方式几乎可以与对普通文件的操作等价 本章对文件系统进行简单的介绍, 主要包括如下内容 : Linux 下文件的内涵 ; Linux 下的文件系统布局和文件系统的树形结构 ; Linux 下的普通文件和设备文件 ; Linux 下虚拟文件系统的含义

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

Outline 1 SkyEye 简介 2 SkyEye 的安装 SkyEye 的安装下载 skyeye 源代码, 编译并安装 3 在 Linux 的根文件系统中添加 hello 在 Linux 的根文件系统中添加 hello 4 命令行安装 skyeye 添加 hello 到 uclinux 的根

Outline 1 SkyEye 简介 2 SkyEye 的安装 SkyEye 的安装下载 skyeye 源代码, 编译并安装 3 在 Linux 的根文件系统中添加 hello 在 Linux 的根文件系统中添加 hello 4 命令行安装 skyeye 添加 hello 到 uclinux 的根 4 SkyEye 简介 陈香兰 (xlanchen@ustceducn) 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 /media/samsung/work/6 实验室相关 陈香兰 (xlanchen@ustceducn) Outline 1 SkyEye 简介 2 SkyEye 的安装 SkyEye 的安装下载 skyeye 源代码, 编译并安装 3 在 Linux

More information

<4D F736F F D20B5DA36D5C22020D7D6B7FBC9E8B1B8C7FDB6AF>

<4D F736F F D20B5DA36D5C22020D7D6B7FBC9E8B1B8C7FDB6AF> LINUX 设备驱动开发详解 作者 : 华清远见 第 6 章 字符设备驱动 Linux Linux 6.1 Linux cdev file_operations Linux 6.2 globalmem 6 9 6.3 6.1 globalmem seek() I/O globalmem 6.4 6.3 globalmem Linux 字符设备驱动结构 6.1.1 cdev 结构体 在 Linux 2.6

More information

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

K7VT2_QIG_v3

K7VT2_QIG_v3 ............ 1 2 3 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 1 2 1 2 3 4 5 6 7 8 9 10 3 1 150 2 150 1 1 1.1 1.1.1 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.4 1.4.1 CPU 1.4.2 I/O 1.4.3 I/O 1.5 1.5.1 CISC RISC 1.5.2 1.5.3 1.6 1.6.1 1.6.2 N 1.6.3 2 2.1 2.1.1 2.1.2 2.1.3

More information

1

1 SDT Uclinux SDT.alf.c 44blib.alf 44blib.c jtag ADS.alf.c make menuconfig make dep make clean make lib_only make user_only make romfs make image make uclinux ext2 cash lcd frambuffer 1 armsys-c uclinux

More information

在挑选合适的 SDK 的时候需要注意, 标准 windows 平台应用选择 FBX SDK VS2015,windows 应用商店和全平台通用的不用考虑 windows 全平台通用的应用是 windows10 新推出的功能, 可以打通 windows phone windows s

在挑选合适的 SDK 的时候需要注意, 标准 windows 平台应用选择 FBX SDK VS2015,windows 应用商店和全平台通用的不用考虑 windows 全平台通用的应用是 windows10 新推出的功能, 可以打通 windows phone windows s FBX SDK 安装配置 访问 FBX 网址 :http://www.autodesk.com/products/fbx/overview, 如下 : 点击 GET FBX SDK 进入 SDK 下载页面 ( 网址为 : http://usa.autodesk.com/adsk/servlet/pc/item?siteid=123112&id=25408427): 在挑选合适的 SDK 的时候需要注意,

More information

09 Linux Linux Linux Linux 009.indd /9/4 下午 12:11:10

09 Linux Linux Linux Linux 009.indd /9/4 下午 12:11:10 09 Linux Linux Linux Linux 009.indd 1 2009/9/4 下午 12:11:10 Linux 指令範例速查手冊 9.1 badblocks badblocks [ ][ ] badblocks -b < > -c < > -i < > -o < > mke2fs -p -t < > -n -s -v -w 0 badblocks -o 9-2 009.indd 2

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

技 术 文 件

技  术  文  件 技术文件 技术文件名称 :IAlert 接口使用说明 技术文件编号 : 版 本 :V1.0 共页 ( 包括封面 ) 拟制 审核 会签 标准化 批准 中兴通讯股份有限公司 XX 软件模块详细设计说明 版本号 修改记录 文件编号 版本号 拟制人 / 修改人 拟制 / 修改日期 1 V1.0 胡曦 2005-08-12 新建 更改理由 主要更改内容 ( 写要点即可 ) 注 1: 每次更改归档文件 ( 指归档到事业部或公司档案室的文件

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

untitled

untitled 1 5 IBM Intel 1. IBM 第 1/175 页 第 2/175 页 第 3/175 页 80 第 4/175 页 2. IBM 第 5/175 页 3. (1) 第 6/175 页 第 7/175 页 第 8/175 页 = = 第 9/175 页 = = = = = 第 10/175 页 = = = = = = = = 3. (2) 第 11/175 页 第 12/175 页 第 13/175

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

Windows 2000 Server for T100

Windows 2000 Server for T100 2 1 Windows 95/98 Windows 2000 3.5 Windows NT Server 4.0 2 Windows DOS 3.5 T200 2002 RAID RAID RAID 5.1 Windows 2000 Server T200 2002 Windows 2000 Server Windows 2000 Server Windows 2000 Server 3.5 for

More information

本文由筱驀釹贡献

本文由筱驀釹贡献 本 文 由 筱 驀 釹 贡 献 ppt 文 档 可 能 在 WAP 端 浏 览 体 验 不 佳 建 议 您 优 先 选 择 TXT, 或 下 载 源 文 件 到 本 机 查 看 Linux 操 作 系 统 Linux 操 作 系 统 第 一 部 分 介 绍 与 安 装 Linux 的 由 来 : Linux 的 由 来 : 的 由 来 Linus Torvalds 1.Linux 的 版 本 1.Linux

More information

第 1 页共 9 页 文档履历 版本号日期制 / 修订人内容描述 V 正式版本

第 1 页共 9 页 文档履历 版本号日期制 / 修订人内容描述 V 正式版本 V3s 项目 CamDroid 编译第三方程序 / V1.0 第 1 页共 9 页 文档履历 版本号日期制 / 修订人内容描述 V1.0 2014-04-23 正式版本 第 2 页共 9 页 目录 1. 交叉编译环境... 3 2. 第三方库的 Makefile 示例... 4 3. 第三方应用 Makefile 示例... 5 4. 第三方应用 CamLinux.mk 示例... 6 5. 常见错误...

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

***********************************************************************************

*********************************************************************************** *********************************************************************************** * 文 档 名 称 :LINUX 下 的 串 口 通 信 编 程 与 调 试 * 文 档 作 者 : 熊 益 铭 (xiongyiming@nari-china.com) * 创 建 日 期 :2005 年 8 月 2 日 * 修 订

More information

计算机网络实验说明

计算机网络实验说明 计算机网络实验说明 龚旭东 电三楼 420 lzgxd@mailustceducn 2011 年 11 月 1 日 龚旭东 (TA) 计算机网络实验说明 2011 年 11 月 1 日 1 / 20 Outline 1 实验系统介绍 实验环境实验流程 2 实验内容编程实验交互实验观察实验 3 一些控制台命令 4 实验报告说明 龚旭东 (TA) 计算机网络实验说明 2011 年 11 月 1 日 2

More information