欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式系统开发.ppt

    • 资源ID:88689032       资源大小:2.27MB        全文页数:36页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统开发.ppt

    嵌入式系统开发嵌入式系统开发第一章 嵌入式系统开发基础v第一节 嵌入式系统开发所需的硬件基础1、核心板、扩展板 需要注意的问题:远峰给我们的电源功率只有2A,有时会出现没有显示或显示不正常、内核不能正常启动等问题,这时需要测量电源输入端看输入电压是否是5V左右。2、普通网线或交叉网线 普通网线用于开发板与集线器之间的连接 交叉网线用于开发板与PC机之间的连接3、串口线;并口线、Multi-JTAG卡、20针扁平电缆v第二节 BootLoader、kernel和文件系统的下载1、超级终端参数的设置开始所有程序附件通讯超级终端参数设置:每秒位数:115200 数据位:8 奇偶校验:无 停止位:1 数据流控制:无 使用端口:COM12、vivi烧录到目标板3、zImage下载 下载vivi后通过超级终端下载内核镜像文件:viviload flash kernel x4、下载文件系统 在下载内核镜像文件zImage后,下载文件系统:viviload flash root x至此整个嵌入式Linux系统已经建立,按复位键启动vivi,然后回车,Linux将启动,如下:请注意:对容量较大的文件系统得用ztelnet或tftp来下载.第二章 基于Linux的嵌入式系统开发v第一节 嵌入式Linux开发环境的建立1、工具链(交叉编译环境)的建立解压到/usr/local/arm下:tar xvjf cross-2.95.3.tar.bz2修改PATH变量,在/etc/profile中增加export PATH=/usr/local/arm/2.95.3/bin然后重启即可。2、minicom参数设置 rootminicom s进入参数设置:同超级终端的参数设置,注意要是Serial device 为为ttys0!3、ztelnet的安装安装:#rpm ivh ztelnet-0.9.1-7mz.i386.rpm4、NFS设置 NFS:允许一个系统在网络上与他人共享目录和文件,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。设置:关闭防火墙编辑/etc/exports文件,添加:/home/hello 192.168.1.11(rw,sync)其中/home/hello为主机共享目录192.168.1.11为目标板的IP地址启动NFS:service nfs startv第二节 嵌入式Linux的移植1、配置和编译vivi#tar-jxvf vivi-20030629.tar.bz2#cd vivi#make menuconfig选择Load on Alternate Configuration File调入arch/def-configs/smdk2410然后选择exit和save,最后编译:#make如果在编译vivi时出现错误:make./opt/host/armv41/bin/armv41-redhat-linux-gcc command not found是因为交叉编译的目录不对,解决办法将CROSS_COMPILE=/opt/host这一行改为CROSS_COMPILE=arm-linux-如果在编译vivi时出现错误:arm-linux-ld:cannnot find-lgcc是因为找不交叉编译的库,解决办法将ARM-GCC-LIBS=/opt/host这一行改为ARM-GCC-LIBS=/usr/local/arm/2.95.3/gcc-lib/arm-linux/2.95.32、配置和编译kernel#tar zxvf linux-2.4.18-rmk7-pxal-m24.tar.gz#cd kernel#make menuconfig选择Load on Alternate Configuration File调入arch/arm/def-configs/smdk2410然后选择exit和save,最后编译:#make dep#make zImage3、文件系统的生成和移植#tar jxvf busybox-1.00.tar.gz#make menuconfig#make#make install 之后将在根文件系统建立/usr、/bin、/sbin 等,在这些目录可看到可执行文件和其他应用命令的符号链接。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/date 061316302006/sbin/ifconfig lo 127.0.0.1 up/sbin/inetd/sbin/ifconfig eth0 192.168.1.11/sbin/modprobe s3c2410-ts/sbin/modprobe s3c2410-uda1341/sbin/modprobe s3c2410_gpio_buttonsecho static /var/run/pcmcia-scheme.具体参考我的论文第三章第一节第三节 嵌入式Linux应用程序开发入门1、应用程序的编写,如main.c;main.cpp2、应用程序的编译#gcc o main main.c#gcc o main main.c lm#arm-linux-gcc main main.c#g+o main main.c#g+o main main.c lm#arm-linux-g+main main.c3、应用程序下载运行通过NFS mount到目标板或直接放到文件系统下载到开发板上调试运行./mainv第三节 嵌入式Linux驱动程序开发1、驱动程序基本概念 Linux系统中,设备驱动程序是操作系统内核的重要组成部分,在与硬件设备之间 建立了标准的抽象接口。通过这个接口,用户可以像处理普通文件一样,对硬件设备进行打开(open)、关闭(close)、读写(read/write)等操作。通过分析和设计设 备驱动程序,可以深入理解Linux系统和进行系统开发。2、一个驱动程序设计实例#include /同kernel.h,最基本的内核模块头文件#include /同module.h,最基本的内核模块头文件#include /这里包含了进行正确性检查的宏#include /文件系统所必需的头文件#include/包含内核空间与用户空间进行数据交换时的函数宏#include /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-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.o all:spi.o.PHONY:cleanclean:-rm-f*.odistclean:make cleanrm-f tags*编译以后生成驱动程序模块,然后可在启动是加载或手动加载该驱动:#insmod spi.o/加载#rmmod spi /卸载第五节 基于嵌入式Linux的GUI开发请参考“基于Linux的QT程序设计专题报告”第三章 基于WinCE.net的嵌入式系统开发第一节 WinCE.NET内核文件的生成Windows CE.NET 4.2+Platform Build 4.2具体WinCE.NET内核文件的生成和下载步骤请参考远峰文档YF2410 开发系统 WINCE 用户手册v第二节 应用程序开发环境的建立开发环境的两种方式:eMbedded Visual C+4.0(SP2)+ActiveSync+目标板eMbedded Visual C+4.0(SP2)+ActiveSync+Smartphone 2003或Pocket pc 2003v第三节 EVC开发实例第一步 编写一个应用程序第二步 配置platform Manager 第三步 编译、连接和运行结果显示谢谢大家!

    注意事项

    本文(嵌入式系统开发.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开