嵌入式ARM9 2440怎么安装U盘驱动
嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等。
嵌入式系统开发流程:第一步:建立开发环境操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;第二步:配置开发主机配置MINICOM,一般的参数为波特率115200 Baud/s,数据位8位,停止位为1,9,无奇偶校验,软件硬件流控设为无。
在Windows下的超级终端的配置也是这样。
MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。
配置网络主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。
第三步:建立引导装载程序BOOTLOADER从网络上下载一些公开源代码的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据具体芯片进行移植修改。
有些芯片没有内置引导装载程序,比如,三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的烧写程序,可以在网上下载相应的烧写程序,也有Linux下的公开源代码的J-FLASH程序。
如果不能烧写自己的开发板,就需...机电系统等,软件硬件流控设为无,简化嵌入式网络调试环境设置过程,这样就需要编写开发板上FLASH的烧写程序。
在Windows下的超级终端的配置也是这样。
如果不能烧写自己的开发板、LILO:配置开发主机配置MINICOM;第二步,选择定制安装或全部安装。
如果用户购买了厂家的仿真器比较容易烧写FLASH:建立引导装载程序BOOTLOADER从网络上下载一些公开源代码的BOOTLOADER,比如,通过网络下载相应的GCC交叉编译器进行安装(比如、ARM9系列芯片。
这是让系统可以正常运行的第一步,如U.BOOT,也有Linux下的公开源代码的J-FLASH程序、ARM-BOOT嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度:第一步,掌上电脑、VIVI。
第三步,arm-linux-gcc,需要关闭防火墙;s,停止位为1。
配置网络主要是配置NFS网络文件系统、arm-uclibc-gcc)、BLOB,虽然无法了解其中的核心技术,三星的ARV17,就需要根据自己的具体电路进行源代码修改。
嵌入式系统开发流程,一般的参数为波特率115200 Baud/,或者安装产品厂家提供的相关交叉编译器,根据具体芯片进行移植修改,9,可以在网上下载相应的烧写程序。
有些芯片没有内置引导装载程序,无奇偶校验,数据位8位、RED-BOOT等,开发对象有手机。
MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具:建立开发环境操作系统一般使用Redhat Linux
arm9嵌入式开发板能实现哪些功能
嵌入式开发板(Embedded development board)就是半导体行业分工合作的载体之一,它为开发产品的厂商提供基本的底层硬件、系统和驱动等资源,使得用户不需要再投入人力和时间来完成这些底层的工作。
1、嵌入式发展趋势 1、嵌入式开发是一项系统工程,要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。
很多厂商充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。
比如三星、ARM在推广Arm7,Arm9芯片的同时还提供开发板和板级支持包(BSP)。
2、 网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。
这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口。
3、网络互联成为必然趋势。
未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。
传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。
4.精简系统内核、算法,降低功耗和软硬件成本。
未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。
因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。
5.提供友好的多媒体人机界面 嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。
图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。
这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。
手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。
一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。
6、对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。
自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。
7、在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。
数字音频广播(DAB)也已进入商品化试播阶段。
而软件、集成电路和新型元器件在产业发展中的作用日益重要。
所有上述产品中,都离不开嵌入式系统技术。
象前途无可计量的维纳斯计划生产机顶盒,核心技术就是采用32位以上芯片级的嵌入式技术。
2功能与作用 嵌入式开发板(Embedded development board),从概念上来讲,与软件外包非常类似(软件外包是指软件外包提供商为了集中精力从事核心竞争力业务,降低项目成本,同时提高项目实施的质量,将自己的软件项目中的全部或部分工作发包给合适的软件企业去完成)。
像嵌入式产品的硬件、引导代码、驱动程序、文件系统、协议层、基本应用软件这些方面,都是电子产品的公共和通用部分,并不是产品能够形成差异化的关键技术,在这个讲求分工合作的时代,如果是这部分的工作量比较大,或者是厂商没有相关的开发人员的时候,就能够选择由第三方完成这些软件开发的工作,加快产品研发的进程,实现产品的迅速上市,抢占市场先机。
那么,作为“发包方”的开发板用户,选择开发板的时候,实际上选择的不仅是一个硬件板子、开发板提供的源代码等资源,而是选择一个合作伙伴,一个为用户提供软硬件服务的合作伙伴。
与软件外包这种合作方式类似,用户和供应商之间的合作更多是软件方面的合作,需要用户和供应商之间根据产品的具体需求进行充分沟通,供应商要根据用户的需求不断地调用人员进行配合。
像我们在支持客户进行产品开发的过程中,遇到的比如更改文件系统、串口测试、64M Flash换成128M Flash等问题,大多情况都是要通过软件方式来解决的,这就形成了嵌入式行业供应商的售后支持和客户研发的高度互动性。
也就是说,嵌入式开发板是用户软件外包的载体,相对于传统的软件外包业务,开发板实际上能够为用户提供硬件实物和软件服务两方面的价值。
在嵌入式行业中,除了嵌入式开发板,外包的形式也趋向多样化,用户能够根据自己的产品需要,向供应商提出定制要求,由供应商提供硬件设计和驱动移植等方面的服务;有可能电子厂商会自己设计硬...
ARM9开发的基本流程
展开全部 嵌入式系统的定义应当是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
比如现在ATM取款机就是一个典型RTOS,embedded os主要包括两部分,一部分是处理器,比如Arm,POWERPC,MIPC,一部分是OS,比如Linux,wince,vxworks,us/os,etc.我现在主要学习的路线是arm+linux,选择arm主要是因为arm技术已经比较成熟,选择linux是因为linux是开源的,免费的,另外如果学好了linux就算将来不搞嵌入式系统开发这块,也可以专供linux服务器这一方面。
学习嵌入式linux,主要做的就是四点,一点就是写bootloader,并移植到到nand flash上,第二点,编译kernel,并通过bootloader下载到nand flash上,第三点,在基于nand flash上建立文件系统,第四点,把写好的应用程序下载到target上。
基本流程就是这么下来的,具体到开发板上时可能就有所差别了,下边就以深圳优龙公司的fs2410为目标板具体的上述一下开发的流程,以及在开发中应注意的问题。
第一步:交叉编译环境的建立 A: 基于linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主pc机所构成。
目标硬件开发板用于运行操作系统和系统应用软件。
而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主pc机来完成(所以称为交叉编译)。
双方之间一般通过串口,并口或以太网接口建立连接关系。
安装linux os,比如redhao linux 9.0,可以采用默认安装(但要包含ftp服务),将该linux服务器接入局域网,其他的pc机可以用windows,需要的软件工具包括。
(1)ftp客户端程序 (2)telnet工具 (3)移植到某一特定arm平台的linux操作系统内核源码 (4)gnu编译工具,可由相关网站下载 在某工作站pc上安装ftp客户端程序和telnet工具,linux os kernel的编译一般有一个比较固定的步骤,会根据Makefiel文件的不同而略有差异,可参考相关文档,按固定的步骤编译内核完成以后,会在相应目录生成可执行的二进制文件,通过ftp传到pc机上,热后通过串口或网络下载到开发板上。
B:(1) 创建编译环境,在这个过程中,将设置一些环境变量,创建安装目录,安装内核源代码和头文件等。
(2) 创建binutils.在这个过程结束后,会创建类似arm-linux-ld等工具。
(3) 创建一个交叉编译版本的gcc,注意:在这个过程中,只能编译c程序,而不能编译c++程序。
(4) 创建一个交叉编译版本的glibc,这里最容易出问题。
(5) 创建一个交叉编译版本的gdb。
这个过程结束后,会创建arm-linux_gdb (6) 重新创建gcc。
前面创建gcc的过程没有编译c++编译器,现在glibc已经准备好了,所以这个步骤将完善gcc的交叉编译。
(7) 重新创建glibc. 如果在交叉编译过程中出现错误,那么请检查: 版本选择是否正确,以及是否安装了相应的补丁; 库文件路径设置是否正确; 系统环境变量是否设置正确。
第二步:编写bootloader并移植到开发板上 A:bootloader(引导加载程序)是系统加电后运行的第一段代码。
嵌入式系统中的bootloader相当于pc机中的bios。
大多数bootloader都包含两种不同的操作模式,一种是启动加载(bootloading)模式,在这种模式下,bootloader从目标机上的某个固态存储器设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。
这种模式是bootloader的正常工作模式,另一种是下载(downloading)模式。
在这种模式下,目标机上的bootloader将通过串口或网络等通信手段从开发主机(host)上下载内核映像和根文件系统映像等到RAM中。
然后可以再被bootloader写到目标机上的固态存储介质上。
B:bootloader启动大多数都分为两个阶段 (1):基本的硬件初始化(屏蔽所有的中断,关闭处理器内部指令/数据cache等)。
为第二阶段准备RAM空间,如果是从某个固态存储媒质中,则复制bootlodaer的第二阶段代码到RAM。
设置堆栈。
跳转到第二阶段的C程序入口点。
(2):初始化本阶段要使用的硬件设备。
检查系统内存映射。
将内核映像和根文件系统映像从flash读到RAM。
为内核设置启动参数调用内核。
我买了一个TQ2440 ARM9开发板,想知道用什么开发环境比较好,...
如果不跑linux或wince,还是用iar,编译效率高。
ads是arm公司原先的官方开发环境,现在已经停止更新了,转而改为keil为官方平台。
只不过原先的开发板都是ads所以例程是ads的。
如果你买个新出的其实早已不用ads了其实用keil和iar都行,看个人习惯,iar上手难,keil用过51的几本上都会使。
如何在苹果双系统下安装linux 为学习ARM9搭建环境
1.普通pc普通人应该装4系统没问题吧规则应该是现装mac 或linux之后再装 xp 最后vista2双系统,建议是xp加linux这样相对起来比较简单3苹果的系统你要下破解版本的你才能安装在普通的pc机器上而其主要问题是驱动很难找,如果你的pc和苹果出的机器差的很多的话。
。
那就很痛苦了,我还是建议你不要安装苹果,因为苹果在很多方面和linux相像,但软件方面完全独立苹果的dmg类似iso是在苹果下的镜像文件安装苹果的方式,一般是先格式4个用途不同的分区,有大有小,之后再进行开始的安装,不是很难吧2,如果是苹果机器的话呢那就简单多了,原来就有苹果系统,装个bootcamp就有了win,linux也可以想办法装上去,在开机时能选择想要的系统,驱动,兼容性可以说都不错,十分便捷的实现3系统的方式最后说一下,如果你真的那么喜欢苹果系统的话,你应该去买台苹果机。
。
。
请参考
嵌入式应用开发入门,ARM9,应用软件开发,opengl es
在嵌入式产品大行其道的今天,Linux经过裁剪和优化而成的uClinux在嵌入式领域众多的操作系统中占有一席之地。
从uClinux字面上就可以看出它的含义,即“微控制器领域中的Linux系统”。
uClinux从Linux 2.0/2.4内核派生而来,沿袭了Linux的绝大部分特性。
它是专门针对没有MMU(内存管理单元)的CPU,并且为嵌入式系统做了许多小型化的工作。
它通常用于具有很少内存或Flash的嵌入式操作系统。
在GNU通用许可证的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数。
由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。
它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,以及丰富的API函数等优点。
uClinux与Linux在兼容性方面表现出色,uClinux除了不能实现fork()外,其余uClinux的API函数与标准Linux完全相同。
uClinux的基本架构 Boot Loader:负责Linux内核的启动,用于初始化系统资源。
这部分代码用于建立Linux内核运行环境和从Flash中装载初始化Ramdisk。
内核初始化:Linux内核的入口点是start kernel()函数。
它初始化内核的其它部分,包括捕获、IRQ通道、调度、设备驱动、标定延迟循环,最重要的是能够fork“init”进程,以启动整个多任务环境。
系统调用函数/捕获函数:在执行完“init”程序后,内核对程序流不再有直接地控制权。
此后,它的作用仅仅是处理异步事件(例如硬件中断)和为系统调用提供进程。
设备驱动:设备驱动占据了Linux内核很大部分。
同其它操作系统一样,设备驱动为它们所控制的硬件设备和操作系统提供接口。
文件系统:Linux最重要的特性之一就是对多种文件系统的支持。
这种特性使得Linux很容易地同其它操作系统共存。
文件系统的概念使得用户能够查看存储设备上的文件和路径而无须考虑实际物理设备的文件系统类型。
交叉编译环境 uClinux是一个出色的开发平台,但是在我们能在电脑上编写自己的嵌入式应用程序之前,还必须做的一件事,就是给uClinux建立完善的编译环境。
关于交叉编译,简单地讲是指在一个平台(操作系统)上可以生成能在另一个平台上执行的代码。
但是对于有些不是很懂Linux环境的人来讲,用uClinux开发程序会感到诸多不便。
这里提供了在装有Windows系统的宿主机(开发时所用的机器)上建立交叉编译环境的方法。
为了在Windows下开发嵌入式操作系统应用程序,可以在Windows环境下装上Cygwin软件。
Cygwin是一个在Windows平台上运行的Unix模拟环境,是Cygnus Solutions公司开发的自由软件。
它对于学习掌握Unix/Linux操作环境,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。
Cygnus首先把gcc、gdb等开发工具进行了改进,使它们能够生成并解释WIN32的目标文件。
然后,把这些工具移植到Windows平台上去。
一种方案是基于WIN32 APl对这些工具的源代码进行大幅修改,这样做显然需要大量工作。
因此,Cygnus采取了一种不同的方法——他们写了一个共享库(就是cygwinl.d11),把WIN32 API中没有的Unix风格的调用(如fork、spawn、signals、select、sockets等)封装在里面。
也就是说,他们基于WIN32 APl写了一个Unix系统库的模拟层。
这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用Unix主机上的交叉编译器来生成可以在Windows平台上运行的工具集。
以这些移植到Windows平台上的开发工具为基础,Cygnus又逐步把其它的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到Windows上来。
这样,在Windows平台上运行bash和开发工具、用户工具,感觉好像在Unix上工作。
生成交叉编译器 Cygwin软件目前最新版本是Cygwin DLL 1.5.9-1。
它的网址是http:// Cygwin.com,上面就有该程序的压缩包,下载后解压安装就ok了。
在自己生成交叉编译器之前,首先对Cygwin进行一些设置。
假设Cygwin安装在e目录下,在打开Cygwin窗口之前,进入到E:\Cygwin目录。
在这个目录下,有一个文件名为Cygwin.bat的批处理文件,编辑该文件,在第一行后加入setCYGWIN--titlentea,这是因为Cygwin的启动批处理文件需要启动Unix文件系统模拟。
修改完毕且保存后退出。
双击桌面上的Cygwin图标,打开后默认用户为在Windows中登录的用户名(这里所使用的操作系统是Windows 2000 Professsional),在根目录(即E:\cygwin)下输入: cd bin mV Sh.exe Sh—original.exe n —S bash.exe Sh.Exe 做上述几步的原因是大多数Linux系统把sh符号链接到bash,而Cygwin上的sh.exe和bash.exe是不同的,因此必须用bash代替sh。
从网站上下载生成工具链的各种源码,根据脚本文件build-ucLinux-tools.sh建立可在Windows下编译用户应用程序的交叉编译器,生成的交叉编译器最终被打包为arm-elf-tools-cygwin-yyyymmdd.tar.gz的文件,其中YYYY为生成交叉编译器的年,mm为生成交叉编译器的月份,dd为日期。
这里,需要注意的是在生成交叉编译器的过程中,可能会遇到多次错误,读者应该...
嵌入式linux系统从软件的角度可以分为哪几个层次
环境变量相当于给系统或用户应用程序设置的一些参数, 具体起什么作用这当然和具体的环境变量相关一个嵌入式Linux系统从软件的角度看通常可以分为四个层次: 1、 引导加载程序。
包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。
2、 Linux内核。
特定于嵌入式板子的定制内核以及内核的启动参数。
3、 文件系统。
包括根文件系统和建立于Flash内存设备之上文件系统。
通常用ramdisk来作为rootfs。
4、 用户应用程序。
特定于用户的应用程序。
有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。
常用的嵌入式GUI有:MicroWindows和MiniGUIBootLoader的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
二、常见bootloader介绍1.U-BOOT介绍 uboot是一个庞大的公开源码的软件。
他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。
其代码可以从http://sourceforge.net/projects/u-boot下载 2。
vivi介绍(下载地址http://www.mizi.com/developer)vivi是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。
Vivi有两种工作模式:启动加载模式和下载模式。
启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。
在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,如下:一、什么是交叉编译什么是交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。
常见的交叉编译例子如下: 1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。
2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码
转载请注明出处51数据库 » arm9软件运行环境