下载此文档

精选嵌入式课程设计报告.doc


文档分类:高等教育 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
该【精选嵌入式课程设计报告 】是由【帅气的小哥哥】上传分享,文档一共【27】页,该文档可以免费在线阅读,需要了解更多关于【精选嵌入式课程设计报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。27ARM嵌入式系统结构与编程课程设计学院:机电信息工程学院专业:测控091姓名:郑宇生学号:20240503332目录一、前言 : : 4二、需求分析 4三、开发环境及系统结构 5四、详细设计 。 23五、结论 253一、,人们对设备越来越高的应用需要已经无法满足当前和未来高性能的应用与开展需求。显然,嵌入式系统的软、硬件技术和开发手段,正日益受到重视,成为各领域技术创新的重要根底。目前,嵌入式系统是近年来开展很快的计算机方面的学科方向,并迅速渗透到控制、自动化、仪器仪表等学科。嵌入式方向包括了软硬件协同设计、嵌入式体系结构、实时操作系统、嵌入式产品设计等方面的知识,大于当代大学生,更需要掌握嵌入式系统设计的典型开发工具和开发核心技术。对于嵌入式市场的开展来说,中国市场的意义更加重大。中国市场对于嵌入式互联网这场革命来说非常关键。勃勃的生机,很好的产业互动,良好的协作精神,中国现在正在形成-个健康的嵌入式的开展模式和转型模式。中国可能是-个引发点,嵌入式市场先在中国蓬勃开展,然后辐射到全球其他地区。-个开放源代码的免费操作系统,它不仅平安、稳定、本钱低,而且很少发现有病毒传播,越来越的效劳器、工作站和个人电脑开始使用Linux软件,基于Linux具有稳定、可靠和强大的网络功能这些优点。在Linux环境下实现-个boaweb效劳器。,核心板采用6层板工艺,稳定性高,底板采用双面板,接口丰富功能全,扩展方便。:◆CPU处理器-SamsungS3C2440AL,主频400MHz,最高533MHz。◆SDRAM内存4-板载64MBSDRAM-32bit数据总线-SDRAM时钟频率高达100MHz◆Flash存储器-板载64MBNandFlash,掉电非易失-板载2MBNorFlash◆,完美解决CPU发热现象◆:◆大电流5V供电,提供更加优质的供电,防止-切因为电源而引起的BUG;◆LCD显示-板上LCD接口集成4线电阻式触摸屏接口,可以直接连接4线电阻式触摸屏,-支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,,屏幕分辨率可以到达1024X768象素-支持黑白、4级灰度、16级灰度、256色、64K色、真彩色TFT液晶屏,,屏幕分辨率可以到达1024×768象素-2440实验箱的标准配置为SHARP8英寸分辨率为640x480的TFT真彩液晶屏,自带触摸屏◆1个100M以太网RJ-45接口◆3个串行接口,其中两个为RS3232电平,以DB9接口引出,另-个是TTL电平,以扩展模块接口引出◆4个USBHostA型接口〔〕◆1个USBSlaveB型接口〔〕◆1个SD卡存储接口◆1u路立体声音频输出接口,1路音频输入接口◆,可以使用它进行软件仿真和单步调试以及下u-boot4x4的UserButtons5◆板载AD转换测试◆板载PWM功能测试〔控制直流电机调速〕◆板载44PinIDE接口◆板载实时时钟电池◆系统复位开关和指示灯◆CAN总线接口◆多功能扩展接口◆两路DA◆开关量假设干个◆8个数码管◆1个蜂鸣器◆8个LED灯◆1个VGA接口◆1个直流电机◆1个步进电机◆-u-boot--Linux--WindwosCE-无OS的测试程序二、需求分析随着计算机迅猛开展,息效劳中的文字显示、数据连接以及图像传递的问题,上最大的计算机群,Web文档之多、链接的网络之广,令人难以想象。可以说,的普及迈出了开创性的-步,上取得的最冲动人心的成就。6嵌入式系统已经渗透到各个领域,在32位嵌入式微处理器市场上,基于ARM内核的微处理器在市场上处于绝对的领导地位,因此追踪ARM技术的开展趋势显得尤为重要。在嵌入式操作系统上,Linux-直因其内核精简、代码开发、基于移植等特点受到广阔嵌入式能力更加强大,因此有必要为嵌入式系统构建Web效劳器。在嵌入式Linux系统中,常用的WebServer有Boa、httpd、thttpd和mini-httpd等。其中Boa是-个运行在类Unix系统中的小型WebServer,适合嵌入式环境。在Boa中假设两个用户同时访问,那么其中的-个必须等待,它产生独立进程来处理CGI(通用网关接口)程序,因此占用较少的资源,其体系结构如图1所示。Boa的优点在于其快速可靠性。它与其它效劳器的区别:没有为CGI程序设置REMOTE_HOST环境变量;没有Server-SideInclude(SSI)项,要产生动态网页只能通过CGI:没有设置进入控制,而是根据Linux的文件系统的权限来决定效劳的对象:没有chroot选项,即不能改变根目录。???基于以上的阐述,Boa应用到嵌入式平台上有着诸多的优势,本文的嵌入式Web效劳器也因此选用Boa作为平台。下面笔者将着重介绍嵌入式Web效劳器的硬件平台及软件体系的设计与实现。三、?、虚拟机下安装的??;?2?、交叉编译工具:?arm-linux-gcc-?;?3?、?miin2440?开发板;?4?、移植使用到的软件:?(1)??boa?源文件?boa-?,下载地址:?/?;?(2)?,〔嵌入式处理器、存储器、外设等〕、-Boot的实现,它的建立实际上是Linux内核在S3C2440上移植的过程,主要分为3个步骤:建立交叉编译环境;编译内核;生成并配置根文件系统。-机器(目标机)中执行的程序代码不是本机编译生成,而是另-台机器〔宿主机〕编译生成。-般采用的方法是首先在宿主机上编写程序,通过交叉编译生成目标平台上可运行的二进制代码,再下载到目标平台的特定位置上运行。本次设计的通信使用的RS3232串口,-个能编译arm-linux环境。(1)添加工作用户[******@PC-LINUX~]#useradd–Groot–groot–d/home/arm1arm[******@PC-LINUX~]#mkdir–p/home/arm1[******@PC-LINUX~]#chown–Rarm/home/arm1[******@PC-LINUX~]#chmod–R775/home/arm1(2)建立工作目录[******@PC-LINUXarm1]$mkdirdev_home[******@PC-LINUXarm1]$cddev_home[******@PC-LINUXdev_home]$mkdirbtoolskernel(3)设置环境变量,准备源码及相关补丁。首先是设置环境变量:[******@PC-LINUXarml]$vi~/.bashrcexportPREFIX=/usr/local/arm/=arm-1inuxexportSYSROOT=${PREFIX)/sysrootPILE=${TARGET)-exportPATH=${PREFIX)/bin:$PATHexportSRC=/home/arml/dev_home/btools/。从网上下载以下源码包:binutils-、gcc-、glibc-、linux-。(4)编译GNUbinutils。重新以arm用户身份登录,让新设置的环境变量起作用。[******@PC-LINUXarml]$SUarm[******@PC-LINUXarml]$cd${SRC)10[******@PC-]$tarzxvfbinutils-[******@PC-$mkdir-pBUILD/binutils-[******@PC-]$cdBUILD/binutils-[******@PC-LINUXbinutils-]$../../binutils---prefix=${PREFIX)--target=${TARGET)--with--sysroot=${SYSROOT)[******@PC-LINUXbinutils-]$make[******@PC-LINUXbinutils-]$SUroot[******@PC-LINUXbinutils-]#makeinstal1[******@PC-LINUXbinutils-]#exit(5)编译内核头文件。[******@PC-]$cd${KERNEL)[******@PC-LINUXkernel]$tarzxvf1inux-[******@PC-LINUXkernel]$cd1inux-[******@PC-LINUXsince-]$cparch/arm/configs/smdk2410_defconf\[******@PC-LINUXlinux-$makeARCH:armmenuconfig[******@PC-LINUXlinux-]$makeinclude/1inux/(6)复制内核头文件。[******@PC-LINUXlinux-]$SUroot[******@PC-LINUXlinux-]#mkdir-p${SYSROOT)/usr/include[******@PC-LINUXlinux-]#cp-ainclude/linux${SYSROOT)/usr/include/1inux[******@PC-LINUX1inux-]#cp-ainclude/asm-arm${SYSROOT)/usr/include/asm[******@PC-LINUX1inux-]#cp-ainclude/asm-generic${SYSROOT)/usr/include/asm-generic[******@PC-LINUX1inux-]#exit(7)编译glibc头文件。[******@PC-LINUXkernel]$cd${SRC)[******@PC-]$tarzxvfglibc-[******@PC-]$patch-dglibc--pl<[******@PC-$cdglibc-[******@PC-LINUXglibc-]$tarzxvf../glibc-1inuxthreads-.\[******@PC-LINUXglibc-]$cd..[******@PC-]$mkdirBUILD/glibc--headers[******@PC-]$cdBUILD/glibc--headers[******@PC-LINUXglibc--headers]$../../glibc---prefix=/usr--host=${TARGET)--enable-add-ons=linuxthreads--with-headers=${SYSROOT)/usr/include[******@PC-LINUXglibc--headers]#piling=yesinstal1_root=${SYSROOT)install-headers[******@PC-LINUXglibc--headers]#touch${SYSROOT)/usr/include/gnu/[******@PC-LINUXglibc--headers]#touch${SYSROOT)/usr/include/bits/[******@PC--headers3#exit(8)第-阶段。[******@PC-LINUXglibc--headers]$cd${SRC)[******@PC-]$-[******@PC-]$patch---pl<[******@PC-]$patch---pl<t-[******@PC-]$mkdir-PBUILD/gcc--stagel[******@PC-]$cdBUILD/gcc--stagel[******@PC---stagel]$../../gcch---prefix=${PREFIX)--target=${TARGET)--enable-languages=c--with-\Sysroot=${SYSROOT)[******@PC---stage1]$makeall-gcc[******@PC---stagel]$SUroot[******@PC---stage1]#makeinstall-gcc[******@PC---stagel]#exit(9)编译完整的glibc.[******@PC---stage1]$cd${SRC)[******@PC--]$mkdirBUILD/glibc-[******@PC--]$cdBUILD/glibc-[******@PC-LINUXglibcPC-]$==${PILE)gccAR=${CROSSCObIPILE)arRANLIB=${PILE)ranlibAS=${CROSSPC-PILE)asLD=${PILE)ld../../glibc---prefix=/usr--build=i686-pc-1inux-gnu--host=arm-unknown-1inux-gnu--target=arm-unknown-linux-gnu--without-thread--enable-add-ons=linuxthreads?ithheaders=I${SYSROOT)/usr/include[******@PC-LINUXglibc-]$make[******@PC-LINUXglibc-]$SUroot[******@PC-LINUXglibc-]#makeinstall_root=${SYSROOT)install[******@PC-LINUXglibc-]#exit(10)。[******@PC-LINUXglibc-]$cd${SRC)[******@PC-]$mkdirBUILD/gcc-[******@PC-]$cdBUILD/gcc-[******@PC--]$../../gcc---prefix=${PREFIX}--target=${TARGET)--enable—languages=c--with-sysroot=${SYSROOT)[******@PC--]$make[******@PC--]$SUroot[******@PC--]#makeinstall[******@PC--]#,首先对编译选项的配置,linux内核配置命令:makemenuconfig,然后再编译内核。(1)修改makefile文件修改内核项层目录下的Makefile,指明目标平台及交叉编译器:#viMakefile

精选嵌入式课程设计报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息