收藏 分销(赏)

嵌入式linux系统设计与开发实验指导书V1.5.doc

上传人:二*** 文档编号:4751770 上传时间:2024-10-11 格式:DOC 页数:95 大小:3.63MB
下载 相关 举报
嵌入式linux系统设计与开发实验指导书V1.5.doc_第1页
第1页 / 共95页
亲,该文档总共95页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 嵌入式Linux系统设计与开发实验指导书计算机学院2010年4月95嵌入式LINUX系统设计与开发实验指导书纲要1目的辅助嵌入式linux系统设计与开发理论教学,提高学生嵌入式方向的实验、实践操作能力及创新开发能力。2内容章节主要知识点实验内容实训目标及要求学时实验性质实验级别第一章嵌入式linux开发基础1. 开发平台简介2. 开发流程3. 构建嵌入式linux系统的环境1. 熟悉嵌入式科研教学平台UP-Techpxa270s的使用2. 构建嵌入式linxu系统开发环境3. 通过minicom或超级终端进行宿主机及开发板的通讯并查看开发板系统目录1. 掌握嵌入式LINXU系统开发流程2.

2、掌握软硬件开发环境的建立及使用2验证性必做第二章嵌入式linux系统基础1. Makefile编写2. Linux多线程库编程3. 进程应用程序设计1. Makefile与Helloworld2. 生产者消费者协议3. 进程管理模拟实验1. 熟练掌握makefile写法2. 掌握linux c程序开发,具有使用多线程编程能力3. 掌握进程应用程序的设计与实现3综合性必做第三章嵌入式linux内核1. Bootloader引导系统2. Linux内核定制、裁剪及添加3. 文件系统的构建1. Blob的重新烧写2. Linux内核裁剪及编译3. 文件系统的构建1. 理解ARM的初始化及引导过程2.

3、 熟练掌握内核定制、裁剪及添加3. 掌握busybox构建文件系统6设计性必做第四章嵌入式linux接口设计与驱动程序1. 驱动程序结构2. Framebuffer机制3. 触摸屏4. V4L5. IDE_CF6. Usb1. 虚拟驱动模块实验2. Lcd控制实验3. Tslib移植和使用4. Linux视频V4L驱动实验5. CF模块、U盘接口实验1. 熟练掌握驱动程序结构2. 读懂并理解触摸屏、LCD、等驱动程序与测试程序的设计与编写6综合性选做第五章嵌入式linux开源软件移植与应用1. 嵌入式web服务器goahead2. 嵌入式数据库SQLite3. 嵌入式媒体播放器Mplayer4

4、. Web服务gSOAP5. Web浏览器Konqueror6. 开源软件移植的一般过程与注意事项1. 嵌入式web服务器goahead实验2. SQLite移植实验3. Mplayer到ARM平台上的移植4. Web服务gSOAP实验5. Web浏览器Konqueror移植1. 掌握开源软件移植的一般过程2. 理解相关软件的版本与依赖关系,包括交叉编译器6综合性选做第六章嵌入式linux下的通信应用1. 串口通信2. 网络通信3. 蓝牙通信4. Can总线通信5. GPRS/GPS通信1. 串口通信实验2. socket相关程序设计3. 蓝牙通信实验4. Can总线实验5. GPRS/GPS

5、通信实验1. 掌握四种常用的通信方式,理解相关的程序设计思路与实现方式2. 透彻理解can总线原理,熟练掌握基于该总线下的程序设计6综合性选做第七章嵌入式图形界面用户编程QT1. 嵌入式GUI2. QT/QTE移植与程序设计3. Qtopia平台的移植和编程操作1. Qt图形界面相关程序设计2. 电子点菜系统1. 理解QT/QTE与Qtopia的移植过程和相应程序设计方法2. 掌握qt与qtopia的程序设计3设计性选做第八章综合项目实例1. 嵌入式linux系统的一般设计与开发过程2. 综合项目开发实践1. 基于嵌入式平台的电梯监控系统2. 基于蓝牙的无线点菜系统3. 基于嵌入式与web s

6、ervice的智能家居系统1. 掌握嵌入式linux系统一般设计与开发过程2. 掌握按格式要求,撰写高质量的设计与开发报告,体会软件工程过程3. 培养学生良好的团队协作精神4. 培养学生对实际嵌入式项目良好的独立思考和解决问题的能力-设计性选做3参考教材l UP-TECHPXA270-S-LINUX实验指导书 博创科技l 俞辉 嵌入式linux实验实例实例教程 机械工业出版社目录第一章 嵌入式LINUX开发基础51.开发平台简介52.嵌入式Linux 开发流程7实验1.1:建立嵌入式linux系统开发环境8第二章 嵌入式LINUX系统基础19实验2.1:Makefile和Hello world

7、19实验2.2:多线程应用程序设计生产者-消费者协议22第三章 嵌入式LINUX内核26实验3.1:引导装载程序(BOOTLOADER)移植实验BLOB26实验3.2:Linux 内核移植与编译实验33实验3.3:文件系统实验36第四章 嵌入式LINUX接口设计与驱动程序44实验4.1:虚拟驱动模块实验44实验4.2:LCD控制实验50实验4.3:触摸屏驱动实验58实验4.4:IDE_CF卡模块读写实验63实验4.5:U盘接口实验66第五章 嵌入式LINUX开源软件移植与应用70实验5.1:嵌入式web服务器goahead实验70实验5.2: SQLite移植实验71实验5.3: Mplaye

8、r到ARM平台上的移植72实验5.4: Web服务gSOAP实验72实验5.5: Web浏览器Konqueror移植73第六章 嵌入式LINUX下的通信应用75实验6.1:串行端口程序设计75实验6.2:网络传输实验77实验6.3:蓝牙无线通讯实验79实验6.4:CAN总线实验86第七章 嵌入式图形界面用户编程QT88实验7.1:Qt图形界面相关实验88实验7.2:89实验7.3:91第八章 综合项目实例93实验8.1:93实验8.2:94实验8.3:94第一章 嵌入式linux开发基础1. 开发平台简介 嵌入式linux系统的实验实践教学中,使用的是pxa270平台。如图,图1-1为up-t

9、echpxa270s实验箱正视图。基于Intel XSCALE 架构最新的PXA270 嵌入式微处理器最高主频可达624MHz,加入了Wireless MMX 技术,大大提升了多媒体处理能力;同时PXA270 还加入了Intel SpeedStep动态电源管理技术,在保证CPU 性能的情况下,最大限度地降低移动设备功耗。PXA270可以广泛应用于PDA、智能手机、PMP 产品中。图1-1:Up-techpxa270-S实验箱正视图 博创科技的UP-TECHPXA270 教学科研平台主要是面向计算机、软件专业的高端平台,微处理器主频稳定运行在520MHz,可运行WinCE5.0 和Linux 2

10、.6.x 操作系统,支持QT/E、miniGUI 等嵌入式图形界面,提供完整的驱动和应用程序。UP-TECHPXA270 教学科研平台由处理器核心板、主板及LCD 三部份组成。UP-TECHPXA270 核心模块资源:􀂾 基于Intel XScale 架构内核的嵌入式处理器PXA270,内部集成iwmmx 指令,加速处理器对多媒体数据的 处理速度。n 系统稳定工作在520MHZ 主频n 64MB SDRAM、16MB Nor Flash、64MB Nand Flash 库n UP-TECHPXA270 主板资源:n 10M/100M 以太网n AC97 音频接口n 8”TFT

11、 LCD,分辩率为640x480n VGA 接口n USB 主(host)接口4 个,从(device)接口1 个n CF 卡接口n IDE 接口n SD 卡接口n PCMCIA 接口(可以扩展有线/无线网路接口等)n PS2 鼠标键盘接口n CMOS 摄像头接口n 触摸屏(四线电阻式)n 2 个RS232 标准串口n JTAG 接口(包括14Pin 和20Pin 标准)n 32 位扩展总线接口,和UP-NetARM2410、UP-NetARM2410-S 平台兼容。n irDA 接口n 实时时钟n IIC、SPI 接口开箱指南博创科技UP-TECHPXA270 教学科研平台包含以下部分:开发

12、板、电源、网线、串口线、并口线、并口JTAG 转换线、随机附带光盘。UP-TECHPXA270 软件资源:n bootloader:blobn 操作系统:linux 2.4.x 和linux 2.6.x 内核UP-TECHPXA270 应用软件:n mplayer 媒体播放器,实现MPEG4、AVI、WMV 等多种媒体解码。n GUI:QT/E、miniGUIn 摄像头视频采集硬件连接1UP-TECHPXA270 外围端口说明n 电源:电源输入插座,直流电9V-12V 输入。n 串口1,对应了PXA270 处理器的Bluetooth 功能的串口,三线串口标准。n 串口0,对应了PXA270 处

13、理器的全功能串口,九线串口标准。n VGA 接口,可以直接和显示器,投影仪等连接。DB19 阴性插座标准。n USB 主控(host)端口4 个,包括过流保护和ESD 保护,支持热插拔。n 主板上FPGA,使用Altera 公司的cyclone 系列EP1C3T144。n USB 设备(device)端口n 8、10100M 自适应以太网接口n 主板上FPGA 的编程接口n pxa270 的JTAG 接口,包括14Pin 和20Pin 两种标准n LCD 背光逆变器模块,注意高压!n 12、168Pin 扩展总线插座n 13、6x6 键盘扫描接口n 14、PS/2 鼠标键盘接口n 15、触摸屏

14、接口,n 16、CF 卡接口,此CF 卡工作在IDE 模式。和背面的IDE 硬盘接口公用一个IDE 通道。默认情况下CF 为主IDE 设备,IDE 硬盘为从IDE 设备。n 17、扩展LCD 接口,支持TFT 、CSTN 等LCD 模式n 18、MMC 卡接口。n 19、板载MIC 接口。当音频插座连接以后,MIC 输入自动切换到音频插座。n 20、音频输入输出插座。n 21、音量调节电位器旋钮。n 22、PCMCIA 接口,通过转接器可以支持CF 卡。n 23、复位按钮。n 24、电源按钮。其工作模式类似于ATX 电源。系统插上电源,按一下此轻触开关,系统上电。再按一下此轻触开关,系统电源关

15、闭。当系统起来以后,可以通过控制FPGA 寄存器,死锁电源按钮(即,单击轻触开关,对系统没有影响)。但是,可以通过长按此开关3 秒钟,使系统电源关闭。2系统硬件资源分配外设说明bank 物理地址范围总线中断数Nor flash 系统启动,存储操做系统内核、参数等信息0 0x00x100000016 位0 Nand Flash 系统的海量存储1 0x040000000x0400000816 位0 FPGA 管理系统中断等外设2 0x080000000x0800040032 位注1 IDE 系统IDE 和CF 接口2 0x088000000x0880004032 位1 PCMCIA 16 位PCM

16、CIA 接口(3) 0x200000000x3000000016 位2 网卡SMC91c111,10/100M 网卡芯片4 0x100000000x1001000032 位1 连接系统首先,连接电源,将随机附带的一根电源线的一头插入到UP-TECHPXA270-S 的电源接口,将电源线的另外一端插入到电源插座中;然后连接串口线,一端连接PC 的串口,另一端连接到如图1所示的串口;最后连接网线,将随即附带的灰色的网线一端连接到UP-TECHPXA270 的网口(靠近电源的),另一端连接到本地的局域网中。提示:a. UP-TECHPXA270-S 具有两个串口,分别为UART0 和UART1,在本

17、手册中使用UART0,即 下方的串口。 b随机附带的的网线用作直接连接UP-TECHPXA270-S 和PCcFPGA 通过PAX270-S 处理器的GPIO0 扩展中断2. 嵌入式Linux 开发流程在一个嵌入式系统中使用linux 开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过如下的过程: 建立开发环境,操作系统一般使用REDHATLINUX,版本7 到9 都可以,选择定制安装或全部安装,通过网络下载相应的GCC 交叉编译器进行安装(比如arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。 配置开发主机,配置MINICOM,一般的参

18、数为波特率115200,数据位8 位,停止位1,无奇偶校验,软件硬件流控设为无。在WINDOWS 下的超级终端的配置也是这样。MINICOM 软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置NFS 网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。 建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT 等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9 系列芯片,这样就需要编写烧写开发板

19、上FLASH 的烧写程序,网络上有免费下载的WINDOWS 下通过JTAG 并口简易仿真器烧写ARM 外围FLASH 芯片的烧写程序。也有LINUX 下的公开源代码的J-FLASH 程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果你购买了厂家的仿真器当然比较容易烧写FLASH 了,这对于需要迅速开发自己的应用的人来说可以极大提高开发速度,但是其中的核心技术是无法了解的。 下载别人已经移植好的LINUX 操作系统,如UCLINUX、ARM-LINUX、PPC-LINUX 等,如果有专门针对你所使用的CPU 移植好的LINUX 操作系统那

20、是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU 的CPU 可以使用模块方式调试驱动,对于UCLINUX 这样的系统好像只能编译进内核进行调试。 建立根文件系统,从 下载使用BUSYBOX 软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc 目录下,包括: /etc/init.d/rc.S 、/etc/profile 、/etc/.profile 等, 自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系

21、统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs 等工具产生烧写映象文件。 建立应用程序的FLASH 磁盘分区,一般使用JFFS2 或YAFFS 文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR 型)512K32M,有的系统使用非线性FLASH(NAND 型)8512M,有的两个同时使用,需要根据应用规划FLASH 的分区方案。 开发应用程序,可以放入根文件系统中,也可以放入YAFFS、JFFS2 文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于UCOS-II 的方式。 烧写内核、根文件系统、应用程

22、序。 发布产品。实验1.1:建立嵌入式linux系统开发环境一、实验目标:1熟悉linux操作系统的使用。2掌握嵌入式系统开发环境的建立。二、预备知识:掌握linux的基本操作。三、实验环境:1硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。2软件:PC 机操作系统REDHAT LINUX federal 8.0(或 REDHAT LINUX 9.0) MINICOM ARM-LINUX 开发环境四、情景描述:配置网络,配置FTP,配置NFS及使用超级终端。五、实验步骤:1. 配置网络配置网络,包括配置IP 地址、NFS 服务、防火墙

23、。网络配置主要是要安装好以太网卡,对于一般常见的RTL8139 网卡,REDHAT9.0 可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后配置宿主机IP 为192.168.0.121。如果是在有多台计算机使用的局域网环境使用此开发设备,IP 地址可以根据具体情况设置。如图1.4-1 所示:图1.4-1 网络配置双击设备eth0 的蓝色区域,进入以太网设置界面,如图1.4-2,1.4-3 所示:图1.4-2 以太网常规设置界面图1.4-3 以太网路由设置界面对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP 访问它全部拒绝,这样其它网络设备根本无法访问它,即无

24、法用NFS mount 它,许多网络功能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如下:点击红帽子开始菜单,选择安全级别设置,选中无防火墙。如图1.4-4 所示:图1.4-4 安全级别设置在系统设置菜单中选择服务器设置菜单,再选中服务菜单,将iptables 服务的勾去掉,并确保nfs 选项选中。2. 配置NFS:点击主菜单运行系统设置-服务器设置-NFS 服务器(英文为:SETUP-SYSTEM SERVICE-NFS),点击增加出现如下在界面,在目录(Drictory):中填入需要共享的路径,在主机(Hosts):中填入允许进行连接的主机IP 地址。并选择允许客户对共享目录的

25、操作为只读(Readonly)或读写(Read/write)。如图1.4-5 所示:图1.4-5 NFS 基本设置下图1.4-6 是一些常规选项设置,可以作如下设置。图1.4-6NFS 常规设置下图1.4-7 是对客户端存取服务器的一些其他设置,按下图设置。图1.4-7 NFS 用户访问设置当将远程根用户当作本地根用户时, 对于操作比较方便,但是安全性较差。最后点确定退出时则完成NFS 配置。配置好后,界面应显示如下图1.4-8 所示:图1.4-8 配置好的NFS我们也可以手工编写/etc/exports 文件,其格式如下:共享目录 可以连接的主机(读写权限,其他参数)例如:/up-techp

26、xa270 192.168.0.*(rw,sync)表示将本机的/up-techpxa270 目录共享给ip 地址为192.168.0.1192.168.0.254 的所有计算机,可以读取和写入。修改好后保存,可以用以下命令开启nfs 服务:/etc/rc.d/init.d/nfs restart配置完成后,可用如下办法简单测试一下NFS 是否配置好了:在宿主机上自己mount 自己,看是否成功就可以判断NFS 是否配好了。例如在宿主机/目录下执行:mount 192.168.0.121:/ up-techpxa270 /mnt/nfs其中192.168.0.121 应修改为您自己主机的IP

27、地址。然后到/mnt/目录下看是否可以列出/up-techpxa270 目录下的所有文件和目录,可以则说明mount 成功,NFS 配置成功。3. 配置主机的TFTP 服务方法(一):用vi 打开“/etc/xinetd.d/tftp”,做相应的修改。vi /etc/xinetd.d/tftp如下图示:图 1.4-9方法(二) :键入setup ;选择“System services”;启用相应的服务。图 1.4-10图 1.4-11重启xinetd 服务:/etc/rc.d/init.d/xinetd restartPxa270 板的配置:4.设置PC 机minicom1) 在linux 平

28、台的X window 界面下建立一个终端(右键点击屏幕新建终端),在终端的命令行提示符后键入minicom,回车,您就会看到minicom 的启动画面(见图1.4-12)。若没有启动X window则在命令行提示符后直接键入minicom。图1.4-12 minicom 启动画面2) minicom 启动后,先按CtrlA 键,再按Z 键(注意不是连续按,Ctrl+A 松开后才按Z),进入主配置界面(见图1.4-13)。按”O”进入配置界面(见图1-17),按上下键选择Serial port setup,进入端口设置界面,这里有几个重要选项改为如下值(见图1.4-14):(在Change wh

29、ich setting 后按哪个字母就进入哪项的配置,如按A 进行端口号配置。)ASerial Device :/dev/ttyS0 (端口号使用串口1)EBPS/par/bits :/115200 8N1 (波特率)F,E 硬件流,软件流都改为NO,若要使用PC 机的串口2 来接板子的串口1 做监控,改为:/dev/ttyS1 即可。3) 选好后按ESC 键退出到图1.4-14 所示画面,选择Save setup as df1 保存退出,以后只要启动minicom 就是该配置,无需再做改动。图1.4-13 主配置界面图1.4-14 配置界面图1.4-15 端口设置界面2.通过minicom

30、终端对pxa270 板进行网络设置。连接好开发板连线,上电,通过PC 机minicom 口,以root 身份登陆。用ifconfig 命令查看当前开发板IP 的设置。修改/etc/rc.sysinit 文件中ifconfig eth0192.168.0.102 为您自己想要的IP 地址。这里按照缺省的IP 设置值:192.168.0.102。3.重启开发板,通过终端从PC 机ping 目标板的IP,确保网络连线通畅。4.将主机中/up-techpxa270 挂载到开发板的/mnt/nfs.mount -o nolock 192.168.0.121:/ up-techpxa270 /mnt/nf

31、s (其中的IP 是主机的,依个人设置填写)n Windows平台下设置调试串口 首先需要连接PC 串口,进行PC串口设置。连接串口至PC 相应接口,另一端连接在硬件平台的Uart0 上。确认连接无误。打开超级终端软件,进入如下图1-13 所示界面:图1-13 填入连接名,选择图标,点击“确定”,如下图1-14 所示。 图1-14 连接时选择通讯使用串口,有的PC 可能有两个串口,使用时请确认选择已连接到平台的串口。点击“确定”。 修改波特率为115200bps,数据流控制为“无”,结果如下图1-15 所示: 图1-15 之后点击“确定”。开启PXA270-S 硬件平台电源,监视超级终端输出,

32、等待系统启动,表示配置完毕。如下图1-16 所示。 图1-16 挂载RAMFS 分区RamDisk 是把内存的一部分分配作为一个分区使用。换句话说,把用户的一部分内存,作为一个硬盘驱动器使用,用户可以格式化,挂载,保存文件等等。RAMFS 就是用于RamDisk 的文件系统。系统按照默认方式启动的时候,会挂载一个ramfs的文件系统:/tmp。使用者可以按照些下面的做法,在其它的挂载点上挂载其它的ramfs文件系统:% mkdir -p /ram1% mount -t ramfs none /ram1文件传输命令ftp:5配置主机的ftp:􀁶 1.键入setup,选择syst

33、em services 选项,启用vsftpd 功能。图 1.4162.启用vsftpd 功能:/etc/rc.d/init.d/vsftpd restart􀁶 重启机器。􀁶 使用ftp 服务:(用命令行方式)1. 用ftp 命令登陆开发板。(开发板的IP:192.168.0.102)首先启动开发板的网络服务,启动后输入:inetd然后宿主机端输入: ftp 192.168.0.1022.以root 用户登陆,无密码.3.常用命令:􀁼 cd : 切换ftp 服务器的目录;􀁼 bye :结束ftp 传输模式;𙦦

34、0; dir (或ls): 显示目录中的文件及子目录列表;􀁼 get : 下载单一文件;􀁼 mget:下载多个文件;􀁼 put: 上传单一文件;􀁼 mput:上传多个文件;􀁼 pwd:显示当前目录;􀁼 mkdir:添加子目录;􀁼 rmdir:删除子目录;􀁼 ! :表示执行本机命令;(例如:!mkdir:表示在本机上建目录)六、思考题:第二章 嵌入式linux系统基础实验2.1:Makefile和Hello world一、实验目标:1学会使用makefi

35、le 管理项目2熟悉arm-linux-gcc交叉编译的使用二、预备知识:C 语言的基础知识、程序调试的基础知识和方法,LINUX 的基本操作。三、实验环境:1硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。2软件:PC 机操作系统REDHAT LINUX federal 8.0(或 REDHAT LINUX 9.0) MINICOM ARM-LINUX 开发环境四、情景描述:创建一个新目录,并且编写hello.c,start.c和Makefile等文件。之后将已经编写好的文件下载到开发板上运行。五、实验步骤:1. 建立工作目录mkd

36、ir 01_hellocd 01_hello2. 编写程序源代码在LINUX 下的文本编辑器有许多,常用的是vim, Xwindow 界面下的gedit 等,我们在开发过程中推荐使用vim,用户需要学习vim 的操作方法,请参考相关书籍中的关于vim 的操作指南。本实验是在终端上打印出一个菱形.一个三角形(由*号构成)及打印一行字符hello,myfriends。主函数文件为start.c:#include starfun.h#include hello.h#include int main() star1();star2();showhello();return 0;其中所包含的头文件为:h

37、ello.h,starfun.h,stdio.h在starfun.h 中定义了两个函数star1(),star2()打印两个三角形:#ifndef STARFUN_H#define STARFUN_H#define NUM 4#define NUMBER 3int star1() int i,j,k;for(k=1;k=NUM;+k) for(i=1;i=(NUM-k);+i)printf( );for(j=1;j=0;-k) for(i=1;i=(NUMBER-k+1);+i)printf( );for(j=1;jpthread.txt,然后再用cat pthread.txt 察看文件内容,

38、结合程序分析结果。5修改一些参数,再次运行调试,加深对多线程的理解。6参考源代码:#include #include #include #include pthread.h#define BUFFER_SIZE 16/* Circular buffer of integers. */struct prodcons int bufferBUFFER_SIZE; /* the actual data */pthread_mutex_t lock; /* mutex ensuring exclusive access to buffer */int readpos, writepos; /* positions for reading and writing */pthread_cond_t notempty; /* signaled when buffer is not empty */pthread_cond_t notfull; /* signaled whe

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服