已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,嵌入式系统开发专题报告刘泽建2006年6月9日,.,2,第一章嵌入式系统开发基础,第一节嵌入式系统开发所需的硬件基础1、核心板、扩展板需要注意的问题:远峰给我们的电源功率只有2A,有时会出现没有显示或显示不正常、内核不能正常启动等问题,这时需要测量电源输入端看输入电压是否是5V左右。2、普通网线或交叉网线普通网线用于开发板与集线器之间的连接交叉网线用于开发板与PC机之间的连接,.,3,3、串口线;并口线、Multi-JTAG卡、20针扁平电缆,.,4,第二节BootLoader、kernel和文件系统的下载1、超级终端参数的设置开始所有程序附件通讯超级终端参数设置:每秒位数:115200数据位:8奇偶校验:无停止位:1数据流控制:无使用端口:COM1,.,5,2、vivi烧录到目标板,.,6,3、zImage下载下载vivi后通过超级终端下载内核镜像文件:viviloadflashkernelx,.,7,.,8,.,9,4、下载文件系统在下载内核镜像文件zImage后,下载文件系统:viviloadflashrootx,.,10,至此整个嵌入式Linux系统已经建立,按复位键启动vivi,然后回车,Linux将启动,如下:请注意:对容量较大的文件系统得用ztelnet或tftp来下载.,.,11,第二章基于Linux的嵌入式系统开发,第一节嵌入式Linux开发环境的建立1、工具链(交叉编译环境)的建立解压到/usr/local/arm下:tarxvjfcross-2.95.3.tar.bz2修改PATH变量,在/etc/profile中增加exportPATH=/usr/local/arm/2.95.3/bin然后重启即可。,.,12,2、minicom参数设置rootminicoms进入参数设置:同超级终端的参数设置,注意要是Serialdevice为ttys0!3、ztelnet的安装安装:#rpmivhztelnet-0.9.1-7mz.i386.rpm,.,13,4、NFS设置NFS:允许一个系统在网络上与他人共享目录和文件,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。设置:关闭防火墙编辑/etc/exports文件,添加:/home/hello1(rw,sync)其中/home/hello为主机共享目录1为目标板的IP地址启动NFS:servicenfsstart,.,14,第二节嵌入式Linux的移植1、配置和编译vivi#tar-jxvfvivi-20030629.tar.bz2#cdvivi#makemenuconfig选择LoadonAlternateConfigurationFile调入arch/def-configs/smdk2410然后选择exit和save,最后编译:#make,.,15,如果在编译vivi时出现错误:make./opt/host/armv41/bin/armv41-redhat-linux-gcccommandnotfound是因为交叉编译的目录不对,解决办法将CROSS_COMPILE=/opt/host这一行改为CROSS_COMPILE=arm-linux-如果在编译vivi时出现错误:arm-linux-ld:cannnotfind-lgcc是因为找不交叉编译的库,解决办法将ARM-GCC-LIBS=/opt/host这一行改为ARM-GCC-LIBS=/usr/local/arm/2.95.3/gcc-lib/arm-linux/2.95.3,.,16,2、配置和编译kernel#tarzxvflinux-2.4.18-rmk7-pxal-m24.tar.gz#cdkernel#makemenuconfig选择LoadonAlternateConfigurationFile调入arch/arm/def-configs/smdk2410然后选择exit和save,最后编译:#makedep#makezImage,.,17,3、文件系统的生成和移植#tarjxvfbusybox-1.00.tar.gz#makemenuconfig#make#makeinstall之后将在根文件系统建立/usr、/bin、/sbin等,在这些目录可看到可执行文件和其他应用命令的符号链接。,.,18,4、启动文件的含义及编写执行步骤:/etc/init.d/rcS/etc/rc.local/etc/profile如rcS如下:#!/bin/sh/bin/mount-aexec/etc/rc.local如rc.local如下:#!/bin/sh./etc/profile/bin/date061316302006/sbin/ifconfigloup/sbin/inetd/sbin/ifconfigeth01/sbin/modprobes3c2410-ts/sbin/modprobes3c2410-uda1341/sbin/modprobes3c2410_gpio_buttonsechostatic/var/run/pcmcia-scheme.具体参考我的论文第三章第一节,.,19,第三节嵌入式Linux应用程序开发入门1、应用程序的编写,如main.c;main.cpp2、应用程序的编译#gccomainmain.c#gccomainmain.clm#arm-linux-gccmainmain.c#g+omainmain.c#g+omainmain.clm#arm-linux-g+mainmain.c3、应用程序下载运行通过NFSmount到目标板或直接放到文件系统下载到开发板上调试运行./main,.,20,第三节嵌入式Linux驱动程序开发1、驱动程序基本概念Linux系统中,设备驱动程序是操作系统内核的重要组成部分,在与硬件设备之间建立了标准的抽象接口。通过这个接口,用户可以像处理普通文件一样,对硬件设备进行打开(open)、关闭(close)、读写(read/write)等操作。通过分析和设计设备驱动程序,可以深入理解Linux系统和进行系统开发。,.,21,2、一个驱动程序设计实例#include/同kernel.h,最基本的内核模块头文件#include/同module.h,最基本的内核模块头文件#include/这里包含了进行正确性检查的宏#include/文件系统所必需的头文件#include/包含内核空间与用户空间进行数据交换时的函数宏#include/I/O访问intmy_open(structinode*inode,structfile*file)/每当应用程序用open打开设备时,此函数被调用staticvoidmy_release(structinode*inode,structfile*file)/每当应用程序用close关闭设备时,此函数被调用ssize_tmy_read(structfile*f,char*buf,intsize,loff_toff)/每当应用程序用read访问设备时,此函数被调用ssize_tmy_write(structfile*f,constchar*buf,intsize,loff_toff)/每当应用程序用write访问设备时,此函数被调用intmy_ioctl(structinode*inod,structfile*f,unsignedintarg1,unsignedintarg2)/每当应用程序用ioctl访问设备时,此函数被调用,.,22,structfile_operationsmy_fops=NULL,/*lseek*/my_read,my_write,NULL,NULL,my_ioctl,NULL,my_open,my_release,/*nothingmore,fillwithNULLs*/;module_init()/每当装配设备驱动程序时,系统自动调用此函数module_exit()/每当卸载设备驱动程序时,系统自动调用此函数,.,23,编写Makefile文件:CC=arm-linux-gccLD=arm-linux-ldCFLAGS=-D_KERNEL_-I/home/liu/embedsys/linuxkernel/usr/src/kernel/include/linux-I/home/liu/embedsys/linuxkernel/usr/src/kernel/include-Wall-Wstrict-prototypes-Wno-trigraphs-Os-mapcs-fno-strict-aliasing-fno-common-fno-common-pipe-mapcs-32-march=armv4-mtune=arm9tdmi-mshort-load-bytes-msoft-float-DKBUILD_BASENAME=s3c2410_testirq-I/usr/local/arm/2.95.3/include-DMODULE#spi.o:spi.cspi.o:spi.c$(CC)$(CFLAGS)-c$-o$#all:spix.oall:spi.o.PHONY:cleanclean:-rm-f*.odistclean:makecleanrm-ftags*,.,24,编译以后生成驱动程序模块,然后可在启动是加载或手动加载该驱动:#insmodspi.o/加载#rmmodspi/卸载,.,25,第五节基于嵌入式Linux的GUI开发,请参考“基于Linux的QT程序设计专题报告”,.,26,第三章基于WinCE.net的嵌入式系统开发,第一节WinCE.NET内核文件的生成WindowsCE.NET4.2+PlatformBuild4.2,.,27,具体WinCE.NET内核文件的生成和下载步骤请参考远峰文档YF2410开发系统WINCE用户手册,.,28,第二节应用程序开发环境的建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气割整套转让合同范本
- 木护栏维修合同范本
- 新民居买卖协议合同
- 水利工程投资合同范本
- 亚马逊解协议书模板
- 买粽子购销合同范本
- 教育项目加盟协议书
- 气瓶维修回收合同范本
- 交流安全管理协议书
- 2026-2031年中国三氯化磷行业市场投资前景预测研究报告
- 施工现场各工种安全技术操作规程
- 2025年全国高校辅导员职业技能大赛笔试测试卷及参考答案(国赛版)(共3套)
- 2025年河北美术学院行政科员、辅导员招聘16人考试笔试参考题库附答案解析
- 研究企业数字责任在推动突破性创新中的作用机制
- 2025江苏苏州市健康养老产业发展集团有限公司下属子企业招聘4人(第五批)笔试历年备考题库附带答案详解试卷2套
- 全国大学生职业规划大赛《测控技术与仪器》专业生涯发展展示【曾获省级一等奖】
- 人教版小学二年级上册数学期中测试题共6套
- 香港雇佣劳务合同(标准版)
- 辽宁省县域重点高中2025-2026学年高三上学期期中考试语文试卷
- 麻醉应急预案资料
- 宇树机器狗分析与深度拆解-
评论
0/150
提交评论