嵌入式Linux应用程序开发过程.ppt

嵌入式Linux应用程序开发过程.ppt

ID:48038647

大小:1.19 MB

页数:35页

时间:2020-01-14

嵌入式Linux应用程序开发过程.ppt_第1页
嵌入式Linux应用程序开发过程.ppt_第2页
嵌入式Linux应用程序开发过程.ppt_第3页
嵌入式Linux应用程序开发过程.ppt_第4页
嵌入式Linux应用程序开发过程.ppt_第5页
资源描述:

《嵌入式Linux应用程序开发过程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于ARM和linux的开发7/25/2021武汉创维特Linux应用程序Linux应用程序设计编写程序编写Makefile文件编译运行2编写helloworld文件Helloworld程序是一个只在输出控制台上打印出“hello,world”字串的程序#includeintmain(){printf(“hello,world!”);}3编写Makefile文件Linux应用程序设计指定编译器生成的执行文件和链接过程中的目标文件编译和链接的参数编译命令拷贝helloworld映像文件到/tftpboot/examples中清除4编

2、译器编译x86平台采用的gcc编译器#gcc–ohelloworldhelloworld.c编译ARM平台采用的arm-linux-gcc编译器#arm-linux-gcc–ohelloworldhelloworld.c5编译#/usr/local/arm/2.95.3/bin/arm-linux-gcc–ohelloworldhelloworld.c如果有Makefile文件#make6Linux应用程序运行1Linux应用程序设计应用程序运行可以采用如下两种方式:在Linux内核启动起来,并且有办法从主机获取文件时,可以在Linux控制台直接从主机

3、获取编译后的应用程序。可以通过ftp、nfs、ssh等方式达到。也可以在编译应用程序后将该应用程序拷贝到ramdisk中,然后重新制作ramdisk,并更新ramdisk文件系统,此时新的程序将在文件系统中。7Linux应用程序运行2JXARM9-2410通过NFS将主机的/tftpboot/目录挂接到目标机的/mnt/nfs目录下#mount192.168.1.180:/tftpboot//mnt/nfs#cd/mnt/nfs/examples#./helloworld8Linux应用程序运行3Linux应用程序设计重新编译内核时,通常将应用程序添加

4、到Linux文件系统的bin目录,该目录有全局路径。且该文件应该具有执行属性,可以通过如下命令修改:chmod777leddemo在新内核启动后,直接在命令行输入文件名即可运行。当直接在Linux控制台中从主机上获取应用程序时,必须保存到可写的位置,且通过如下命令执行该程序:./leddemo9配置Linux应用程序启动后自动运行Linux应用程序设计如果需要在系统启动以后自动运行helloworld程序,需要编辑ramdisk中的启动脚本文件,该文件为root/rd/etc/init.d/rcS使用vi编辑器编辑,在该文件最后添加如下脚本:/bin/

5、helloworld该脚本将启动后运行helloworld,直到程序退出。或/bin/helloworld&它将在后台运行helloworld,不影响其他的程序运行。10linux驱动程序Linux驱动程序设计Linux下对外设的访问只能通过驱动程序进行Linux具有统一的驱动程序接口,以文件操作的方式管理驱动程序,如:open、read、write、ioctl…驱动程序是内核的一部分,可以使用中断、DMA等操作驱动程序需要在用户态和内核态之间传递数据11设备驱动程序的概念对硬件的控制涉及寄存器中各位的操作,通常这些操作与设备直接相关并且对时序的要求非

6、常严格,如果这些工作都交由应用程序员来负责,那么对硬件设备的编程将变得异常复杂而困难。驱动程序的作用正是要屏蔽硬件的这些底层细节,从而简化应用程序的编写。操作系统一般提供设备驱动程序来完成对特定硬件的控制,以建立应用程序和设备之间的抽象接口,而不是应用程序直接操作硬件。12设备驱动程序的概念设备驱动程序实际是处理和操作硬件控制器的软件,从本质上讲,是内核中具有最高特权级的、驻留内存的、可共享的底层硬件处理例程。Linux操作系统将所有的设备全部看成文件,都纳入文件系统的范畴,并通过文件的操作界面进行操作。一般来说,是把设备映射为一个特殊的设备文件,用户

7、程序可以像对其他文件一样对此设备文件进行操作。设备文件的属性由三部分信息组成:文件的类型,主设备号,次设备号13设备驱动程序的概念驱动程序是内核的一部分,是操作系统内核与硬件设备的直接接口,驱动程序屏蔽了硬件的细节,完成以下功能:对设备初始化和释放对设备进行管理,包括实时参数设置,以及提供对设备的操作接口读取应用程序传送给设备文件的数据或回送应用程序请求的数据检测和处理设备出现的错误14Linux驱动程序Linux驱动程序设计Linux屏蔽了应用层对外设的直接访问,不能在用户态直接进行如下操作:*((unsignedchar*)0x02000006)=

8、0x3e;Linux下用户态无法处理中断Linux下对外设的访问推荐采用驱动程序进行,在内核态

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。