• 网站首页
  • 科技
  • 医疗服务
  • 网络游戏
  • 自制廉价的Arm9开发平台

    发布时间: 2021-02-16 00:18首页:主页 > 科技 > 阅读()
    本文摘要:1改建系统软件的选择根据Arm9核心的单片机设计,因为其划算的价钱与优良的特性,早就被广泛的应用于各种各样消费性电子设备中。操控Arm9单片机设计的产品研发专业技能早就沦落嵌入式操作系统开发人员的必然选择。但因为目前市面上的Arm9单片机开发板价格昂贵,使许多要想通过自学Arm9开发设计的盆友望而生畏,在其中有一大部分是各种高等院校的学员。 文中诠释了改建ipTIME的IP0422无线路由器,使其沦落VxWorks和Linux的Arm9产品研发服务平台的全过程。

    华体会官网

    1改建系统软件的选择根据Arm9核心的单片机设计,因为其划算的价钱与优良的特性,早就被广泛的应用于各种各样消费性电子设备中。操控Arm9单片机设计的产品研发专业技能早就沦落嵌入式操作系统开发人员的必然选择。但因为目前市面上的Arm9单片机开发板价格昂贵,使许多要想通过自学Arm9开发设计的盆友望而生畏,在其中有一大部分是各种高等院校的学员。

    文中诠释了改建ipTIME的IP0422无线路由器,使其沦落VxWorks和Linux的Arm9产品研发服务平台的全过程。全部全过程简便易行,另外花销在150元之内,是嵌入式操作系统产品研发发烧友不错的随意选择。要动手能力改建Arm9产品研发系统软件,最先要选择一款展开改建的商品。

    如今根据Arm9核心的单片机设计被广泛的应用于家用路由器和手机上之中,因此这两大类商品能够做为大家寻找改建目标的范畴。但因为手机上整体的价钱较高,另外处理速度比较低,电控系统简易,因此不适合做为大家改建的目标。

    而无线路由器正好相反,如今100多元化的无线路由器数不胜数,并且这种无线路由器基础用于单芯片,该芯片除开具有Arm9关键的操控作用外,还具有硬件配置上的路由器优化算法抵制,因此电源电路较为比较简单,有助于改建,因此 便宜的无线路由器便是改建Arm9单片机开发板的合适目标。历经反复比较之后,最终随意选择了ipTIME的IP0422。

    这款无线路由器的价格行情在一百元上下,主芯片为KS8695X,是高宽比一体化的网络通信CPU,具有ARM922T核心。另外该无线路由器还具有2MFlash,8MSDRAM,另外还犹存一个SDRAM焊位,能够便捷的把SDRAM的容积拓展为16M,为大家经营电脑操作系统获得了充裕的室内空间。

    随意选择这款无线路由器的另一个关键缘故时KS8695X芯片获得了健全的产品研发材料,能够便捷的从Micrel企业的FTP上(ftp://)iTunes获得(原文中所涉及到的芯片涉及到材料都从该FTPiTunes)。产品研发材料中还包含了供KS8695XDEMO板经营的Linux电脑操作系统的源码和VxWorks系统的BSP源码包在,尽管KS8695XDEMO与大家展开改建的无线路由器的硬件配置配置各有不同,但要是保证少量重置工作中,以后能够让之上程序流程抵制大家的单片机开发板,大大简化了大家的改建全过程。IP0422无线路由器改建顺利完成的线路板和线路板版本信息如图所示1右图。

    下列将从硬件配置改建与手机软件DEMO重置两层面,详细诠释对IP0422的改建全过程。图1改建顺利完成线路板与线路板版本信息2硬件配置改建2.1串口串口对一个嵌入式操作系统是致关最重要的,根据串口能够与嵌入式操作系统展开互动。

    大家最先展开系统软件的串口改建。如图2右图,电路板上本来就将串口以4星条针的方式引到,估计是为了更好地之后便捷维修而设定的。历经剖析寻找,为了更好地抗干扰性,电路板上将主芯片串口的RX引脚展开了下拉,因此在一般用于中主芯片会对接到一切的輸出数据信号。因此 大家对串口的改建分为二步:1、除去RX引脚上的上拉电阻;2、自身架起一个串口脉冲信号转换电源电路,使串口能够与PC机通讯。

    串口各引脚界定与要除去的电阻器如图2右图。图2串口电源电路串口脉冲信号转换电源电路部门管理单片机设计串口与PC机串口间脉冲信号的转换工作中,使二者能够长期通讯。串口脉冲信号转换电源电路用于至少的是MAXIM企业的商品,在这儿能够用于MAX3232或MAX232,二者相接的电路设计图是完全一致的。

    因为MAX3232是用于3.3V展开供电系统的,因此 能够必需与图中右图的4个引脚展开相接。若用于MAX232芯片,则要将芯片的供电系统引脚与电路板上輸出开关电源9V串连。我用于的是MAX232芯片,9V开关电源端相接如图所示3右图。

    MAX232、MAX3232相接电路原理图如图4右图:图3MAX2329V连接端图4MAX232、MAX3232相接电路原理图因为之上控制模块电源电路非常简单,倘若没现有的串口线路板,能够必需售卖面包板,在上面架起,之后常说的控制模块电源电路也可以用此方式创设,依然过多阐释。将适度的电源电路相接好后,与PC机的串口联接,合上串口专用工具DNW(超级终端还可以),设定串口波特率为38400,数据位为8,奇偶校验为无,中止位为1,硬件配置流控制为0(后边用于的串口设定仅有串口波特率各有不同,别的设定都按此设定)。相接单片机开发板的开关电源后,能够看到无线路由器启动的信息提示,如图所示5右图,表述串口改建成功。

    图5IP0422起动串口键入2.2JTAG控制模块JTAG控制模块是做为单片机开发板必不可少不具有的。我们可以根据JTAG控制模块对板上的程序流程展开比较简单的调节,另外,还能够根据JTAG,将程序流程iTunes到板上的SDRAM中,对板上的Flash展开可读写作业者。对JTAG的改建要比串口艰辛,由于电路板上并没为大家引到该控制模块,大家仅有自身要想方法保证一个引到控制模块。如图所示6右图,图例方向将线路板的电缆护套用水果刀刮去,遮挡住里边的铜泊,将一个2x10的条型针插一面的9个脚电焊焊接在该铜泊上,组成短路故障,这与大家将要用于的wiggle简单JTAG控制模块是完全一致的,另外还能够起着同样全部电源插座的具有。

    条针的2脚与串口控制模块中的3.3V开关电源尾端联接,做为简单JTAG控制模块的开关电源脚。随后将芯片上的与JTAG涉及到的每个引脚引到。如图所示6右图,翠绿色线一端连条针的第5脚,一端连芯片TDI上拉电阻R27的一端;橘色线一端连条针的第7脚,一端连芯片TMS下接电阻器R28的一端;深蓝色线一端连条针的第9脚,一端连芯片TCK上拉电阻R29的一端;一条线一端连条针的第13脚,一端必需与芯片的TDO(113脚)联接。

    在其中白线与芯片的TDO(113脚)联接尾端是焊的难点,因为芯片引脚过密,必需焊很更非常容易造成临接引脚间的短路故障,因此 提议将该引脚翘起(如图所示6右图),随后再作焊,作业者时要十分当心。图6JTAG控制模块与适度连线图7简单JTAG控制模块电路原理图控制模块构造顺利完成后,能够用于wiggle的简单JTAG口与电子计算机的并口联接。Wiggle的电路设计图如图所示7右图。从/网址,iTunesH-JTAG手机软件,展开改装后,起动H-JTAG手机软件,理应能够检验到相接的芯片是ARM922T的核心。

    再作用于H-JTAG顺应AXD调节手机软件对芯片的储存地区,存储器展开载入,如载入长期,表述控制模块改建成功。在用于AXD时,很有可能会经常会出现那样的状况,再作相接PC机并口与板上的JTAG口,再作给路由器板通电,随后起动AXD时很有可能会出错。解决困难的方式是再作给路由器板通电,随后再作将JTAG口夹到PC机的并口上,最终重新启动AXD,能够解决困难之上难题。2.3拓展SDRAM路由器板上的SDRAM仅有8MB,因为Demo板的SDRAM是16MB,为了更好地便捷必需经营Demo板的Linux系统软件,务必为路由器板拓展8MSDRAM。

    板上用于的SDRAM型号规格为IC42S16400-7TG,在销售市场中并许多见,依据查看该型号规格SDRAM的说明书,大家选择两者之间相溶的HY57V641620HG型号规格的SDRAM。因为路由器板上本来就犹存另一片SDRAM的焊方向,拓展比较更非常容易,只务必在焊时注意芯片的1脚的方向,不必将芯片焊反了。SDRAM周边欠缺的元器件也必须焊住,排阻为33欧母,电容器用于0.1uF。因为本来无线路由器中的程序流程不容易检验外场SDRAM的数据信息总宽,展开SDRAM拓展后,本来程序流程将全自动用32位系统数据信息总宽展开访谈。

    因此 在拓展SDRAM后,给路由器板通电如串口键入长期(如图所示5右图),则表述拓展成功。历经之上流程,路由器板的硬件配置改建早就顺利完成,接下去便是要编写,重置手机软件,使路由器板沦落VxWorks与Linux电脑操作系统的产品研发服务平台。3手机软件编写3.1Flash烧录手机软件因为拓展了JTAG控制模块,我们可以自身编写一个程序流程,对板上的Flash展开可读写。

    确立基本原理是在路由器板起动后,根据AXD中的cmd,设定KS8695X中的存储器,将Flash与SDRAM同构到特殊的地区,随后将可读写程序流程iTunes到SDRAM中经营,对板上的Flash展开程序编写。有关这些方面文章内容在网上早就有很多,另外还获得有源码,在这里就依然过多阐释。

    这儿只把关键点讲到一下。因为Arm9芯片具有MMU模块,环境变量的路由器板上的详细程序流程是Linux,环境变量状况下不容易把MMU模块合上,用于数据信息运行内存,因此 我们在AXDCommand对话框中执行运行内存地区配置时,要再作把开了的MMU模块和数据信息运行内存再开,那样对KS8695存储器的配置才不容易精确。对MMU中存储器的设定如下图右图:图8AXD中CP15存储器的设定在Command对话框中输入指令obeyC:cfg.ini(假定自身编写的环境变量cfg.ini在C盘根目录下),SDRAM被同构来到0x00xFFFFFF地区,Flash被同构到了0x28000000x29fffff地区。将Flash烧写程序进到0x0一处运行,将串口串口波特率设定为115200,串口键入如图所示9右图。

    按1键随意选择烧录Flash,从DNW的serialport莱单选中transmit,随后随意选择发送至要封裝的文档就可以对Flash展开可读写了。我的路由器板上用于的Flash芯片型号规格为Spansion企业的S29AL016D70,各有不同型号规格的Flash,磁道产自与生产厂家ID有可能各有不同,可读写协议书也是有很有可能各有不同,要对适度一部分的程序流程保证必需的修改。图9Flash可读写程序流程串口键入3.2VxWorksBSP包到的重置Demo程序流程内置VxWorks的BSP包到。依据Demo板的Datasheet[1]和VxWorks表述文本文档[2]中的表述,大家随意选择与这方面路由器板的配置基本一致的KS8695X创设总体目标展开改建。

    历经比较二者仅次的差别便是在Flash一部分,因此务必调用BSP库中与Flash控制模块的一部分。在其中还包含Flash的复位、可读写逻辑性、程序流程在Flash中的合理布局,系统文件与Flash的控制模块等[3]。

    涉及到的关键文档与搭建的作用如报表1右图:文件夹名称修改表述Ks8695p.h、config.h获得路由器板涉及到存储器设定值flashFsLib.c搭建FAT系统文件控制模块flashDrvLib.c搭建Flash作业者控制模块flashAmdMem.h、flashAmdMem.c确立搭建S29AL016D70的各种各样作业者flashMem.h、flashMem.c获得程序流程在Flash中储存的方向和系统软件纪录起动主要参数的控制模块报表1BSP修改涉及到文档表述将涉及到文档修改好后,依据BSP表述[2]中的方式c语言编译器bootrom,随意选择的c语言编译器总体目标是KS8695X。接下去依据表述中的方式c语言编译器仅限于于互联网iTunes的VxWorks新方式和仅限于于Flash推动的VxWorks新方式,某种意义用于的c语言编译器总体目标是KS8695X。将bootromiTunes到路由器板上,另外设定好FTP网络服务器,设定串口串口波特率为9600,环境变量状况下bootrom根据FTP从互联网上iTunes推动起动VxWorks新方式,起动全过程如图所示10右图。还可以修改bootrom中的起动主要参数,从Flash的FAT系统文件中推动起动VxWorks新方式,起动全过程如图所示11右图。

    历经修改的BSP搭建原来BSP的全部作用,各类作用的用于及基本参数查看BSP表述[2],在这里依然过多阐释。图10互联网推动VxWorks键入图11Flash推动VxWorks键入3.3u-boot和Linux的重置开发包中具备供Demo用于的Linux系统软件,因为Demo板用于的Flash为4M[4],该Linux系统软件中Linux核心再加系统文件有2M多,路由器板上用于的是2M的Flash,并且没拓展的概率,好像没法必需用于。

    历经对Demo板内置的推动程序流程的剖析,寻找Demo板在经营Linux前,推动程序流程将Linux系统软件全部拷到16M的SDRAM中经营。我们的路由板早就拓展为16M的SDRAM,因此 我们可以不将Linux系统软件储存在Flash中,而必需用于互联网,将Linux系统软件iTunes到SDRAM中随后经营。自然,要将Linux必需iTunes到SDRAM中经营,还务必有推动程序流程的帮助。

    u-boot是Arm系统软件中广泛用于的推动程序流程,另外在其中早就有用于KS8695芯片的创设总体目标,总体目标的配置名字是cm4008,因此 大家随意选择在本来的创设总体目标上展开改建,将u-boot重置到我们的路由板上。有关u-boot的重置的文章内容在网上许多 ,重置方式在这里就依然过多阐释,涉及到的关键文档与搭建的作用如报表2右图: 文件夹名称改动表述includeconfigscm4008.hu-boot特殊服务平台的环境变量includeasm-armarch-ks8695platform.h硬件系统的主要参数设置boardcm4008.cu-boot复位设置boardflash.cu-boot中flash的控制模块一部分driversks8695eth.cu-boot中用以KS8695的驱动器报表2Linux改动涉及到文档表述务必需注意的是u-boot中内置的KS8695处理芯片的网络接口驱动器是用以路由器板上的LAN口[5],而不是WLAN口,因此在iTunesLinux系统软件时网络线理应挂在LAN口边。另外,该驱动软件在废黜网络接口时有一个不正确,不容易导致除第一次iTunes文档长期外,此前的iTunes文档都再次出现不正确,务必手动式改动源代码多方面调整。

    将串口波特率设置为115200,起动u-boot。根据设置u-boot系统变量,改动串口波特率为38400,设置路电板的IP地址和PC机端IP程序流程。


    本文关键词:华体会官网,自制,廉价,的,Arm9,开发平台,改建,系统,软件

    本文来源:华体会官网-www.hydro-glo.com

    特别声明:文章内容仅供参考,不造成任何投资建议。投资者据此操作,风险自担。

    网站首页 - 科技 - 医疗服务 - 网络游戏

    本站不良内容举报联系客服QQ:962658676 官方微信:KBVMf962658676 服务热线:KBVMf962658676

    未经本站书面特别授权,请勿转载或建立镜像

    Copyright © 2000-2021 www.hydro-glo.com. 华体会官网科技 版权所有 网站地图 xml地图