亚洲彩票_亚洲彩票手机版_亚洲彩票首页

0798-153229513

在线客服| 微信关注
当前位置: 首页 > 客户案例

亚洲彩票手机版:自制廉价的Arm9开发平台


1.基于Arm9核的单片机改造系统的选择由于其价格低廉、性能良好,已广泛应用于各种消费电子产品中。掌握Arm9单片机的研发技能,一直是嵌入式系统开发人员的迫切要求。但是由于市面上的Arm9开发板价格较高,很多想自学Arm9开发技术的朋友并不看好,大部分都是各大高校的学生。

本文阐述了将ipTIME的IP0422路由器改造成VxWorks和Linux的Arm9 R&D平台的过程。整个过程简单易行,花费在150元以内,对于嵌入式系统R&D发烧友来说是一个不错的自由选择。要重建Arm9 R&D系统,首先要选择要重建的产品。现在基于Arm9内核的单片机在家庭路由器和手机中应用广泛,所以这两种产品都可以作为我们寻找重构对象的范围。

但是由于价格高,集成度低,电路系统简单,手机不适合我们改造。路由器正好相反。现在100元以上的路由器比比皆是,这些路由器基本都是单芯片使用。

亚洲彩票

该芯片不仅具有Arm9内核的控制功能,还具有硬件路由算法对立,因此电路非常简单,易于改造,因此便宜的路由器是改造Arm9开发板的合适对象。经过反复对比,我终于自由选择了ipTIME的IP0422。

这款路由器的市场价格在100元左右,它的主芯片是KS8695X,是一款高度集成的以ARM922T为核心的网络通信处理器。同时路由器还有2MFlash,8MSDRAM,还有一个SDRAM焊接位,可以方便的将SDRAM的容量扩展到16M,从而为我们操作操作系统获得足够的空间。自由选择这款路由器的另一个主要原因是KS8695X芯片获得了完善的研发数据,可以方便地从Micrel公司的FTP (FTP 3360//) iTunes(本文中所有与芯片相关的数据均来自这款FTP 3360//) iTunes)获得。研发资料还包括了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扩展电源,需要扩展连接上图右图的四个管脚。如果是MAX232芯片,芯片的电源引脚要和电路板上的输出电源5V串联。

我用的是MAX232芯片,5V电源端子的连接如图3右图所示。 MAX232与MAX3232的连接示意图如图4,右图:图3,3MAX2325V的连接端子,图4,MAX232与MAX3232的连接示意图。因为上面的模块电路比较简单,如果没有现成的串口电路板,就要卖面包板,在上面架设。

后面描述的模块电路也可以通过这种方法来构造,因此仍然详细描述。连接适当的电路后,将它们连接到电脑的串行端口,关闭串行端口工具DNW(也可以使用超级终端),将波特率设置为38400,数据位设置为8,奇偶校验设置为否,暂停位设置为1,硬件流量控制设置为0(只有波特率随后的串行端口设置而不同,其他设置根据此进行设置)。接通开发板电源后,可以看到路由器启动时的提示信息,如图5右图所示,说明串口重建成功。

图5IP0422启动串口输入2.2JTAG模块。JTAG模块作为开发板是不可或缺的。我们可以通过JTAG模块非常简单地调试板上的程序,同时可以通过JTAG把程序iTunes放到板上的SDRAM中,擦除板上的Flash。

JTAG的改造比串口更难,因为电路板上没有给我们的领导模块,我们只要想办法实现一个领导模块就可以了。如图6右图所示,用小刀刮掉电路板的绝缘层,将里面的铜箔盖住,在铜箔上焊接一个2x10的条形插针一侧的9个插针,形成短路,这与我们即将使用的wiggle粗制JTAG模块完全一致,也可以起到和整个插座一样的作用。该引脚的两个引脚与串口模块中的3.3V电源端子相连,作为粗JTAG模块的电源引脚。

然后,芯片上与JTAG相关的所有引脚都被引导至。如图6右图所示,绿线的一端与引脚的第五引脚相连,另一端与芯片TDI的上拉电阻R27的一端相连;橙色导线的一端与引脚的第七引脚相连,另一端与芯片TMS的一端相连,芯片TMS的一端与电阻R28相连。

蓝线的一端与引脚的第九引脚相连,另一端与芯片TCK上拉电阻R29的一端相连。白线的一端与引脚13相连,另一端必须与芯片的TDO(引脚113)相连。其中,白线和芯片的TDO(引脚113)之间的连接端是焊接问题。

由于芯片引脚过于密集,更容易将必要的焊接作为相邻引脚之间的短路。因此,建议将销钉向上倾斜(如图6右图所示),然后焊接,操作人员要非常小心。图6JTAG模块和正确连接。

图7原油JTAG模块示意图。模块结构完成后,可用于连接wiggle的粗JTAG端口和计算机的并行端口。

Wiggle的示意电路图如图7右图所示。来自/网站,ITU H-JTAG软件,安装后,启动H-JTAG软件,应该可以检测到连接的芯片是ARM922T的核心。然后,它用于JTAG读取芯片的存储区域和寄存器,以响应AXD调试软件。

如果读取时间较长,解释模块重建成功。在AXD使用时,这种现象可能经常发生。将电脑的并行端口与板上的JTAG端口连接时,打开路由板,然后启动AXD,可能会报告错误。解决问题的方法是重新给路由板上电,然后把JTAG端口卡在PC的并口上,最后启动AXD,可以解决以上问题。

亚洲彩票首页

2.3扩展SDRAM路由板上的SDRAM只有8MB。由于演示板上的软件随机存取存储器为16MB,为了便于演示板上Linux系统的必要操作,有必要为路由板扩展8MB的软件随机存取存储器。

板上用的SDRAM是IC42S16400-7TG,这在市场上并不少见。根据该软件随机存取存储器的规格,我们选择与之兼容的HY57V641620HG软件随机存取存储器。由于走线板上还有一个SDRAM焊接位置,所以更容易扩展。焊接时只注意芯片的一个引脚的方向,不要倒装焊接芯片。

SDRAM周围缺失的器件也应该焊接,排除33欧姆,电容0.1uF。因为路由器中的原始程序不会检测到数据w 3软件编写3.1Flash编写软件由于JTAG模块被扩展,我们可以自己编写一个程序来擦除板上的Flash。显式的原理是在启动路由板后,通过AXD的命令行设置KS8695X中的寄存器,Flash和SDRAM同构到一个特定的区域,然后在SDRAM中运行擦除程序iTunes对板上的Flash进行编程。

网上有很多这方面的文章,源代码也有,在这里重复一下。这里只说要点。

Arm9芯片有MMU单元,配置文件的路由板上的完整程序是Linux,对于配置文件中的数据内存,不会关闭MMU单元。因此,当我们在AXDCommand窗口中继续执行内存区域分配时,需要重新打开打开的MMU单元和数据内存,这样KS8695寄存器的分配就不会准确。

MMU中的寄存器设置如下图和右图所示:图8AXD CP15寄存器设置。在命令窗口中键入Command obeyC:\cfg.ini(假设自己写的配置文件cfg.ini在c盘根目录下)。SDRAM同构于0x00xFFFFFF区域,Flash同构于0x28000000x29fffff区域。

在0x0运行Flash烧录程序,设置串口波特率为115200,串口输入如图9右图所示。按键1自由选择刻录Flash,从DNW的串口菜单中选择传输,然后自由选择发送到要打包的文件,Flash就可以扩展和擦除了。

我的走线板用的Flash芯片型号是Spansion公司的S29AL016D70。有不同的闪存型号,生产的扇区可能与制造商标识不同,擦除协议也可能不同。有必要对程序的适当部分进行必要的修改。

图9 9闪存擦除器3.2再现演示程序的串行端口输入,带有3.2VxWorksBSP包。根据Demo板的数据表[1]和VxWorks说明文件[2]中的说明,我们可以自由选择与该布线板基本相同的KS8695X施工目标。

经过比较,两者的区别在Flash部分,所以需要重写BSP包和Flash模块之间的部分。还包括Flash初始化、擦除逻辑、Flash中的程序布局、文件系统和Flash模块等。

涉及的主要文件和构建的功能见表1,右图:文件名变更说明Ks8695p.h,config.h获取路由表涉及寄存器设置值FlashFsLib.c构建FAT文件系统模块flashDrvLib.c构建flash操作模块flashAmdMem.h,FlashAmdMem.c显式构建flashMem.h和flashMem.c,这两个是S29AL016D70的各种操作符,获取存储在flash中的程序的方向和系统记录启动参数的模块表。1BSP修改涉及文件解释。

文件修改后,按照BSP解释[2]中编译器bootrom的方法,自由选择的编译器目标是KS8695X。然后按照解释中的方法,编译器仅限于网络iTunes的新VxWorks形式和Flash主导的新VxWorks形式。

某种程度上,编译器的目标是KS8695X。将bootromiTunes发送到路由板,同时设置FTP服务器,将串口波特率设置为9600。在配置文件的情况下,bootrom会引导从网络上的iTunes通过FTP启动新的VxWorks表单,启动过程如图10右图所示。也可以在bootrom中更改启动参数,在Flash的FAT文件系统中引导VxWorks的启动。

启动过程如图11的右图所示。修改后的BSP构建了原始BSP的所有功能。各功能的使用和参数设置请参考BSP解释[2],这里会详细介绍。

图10网络引线VxWorks输入图11Flash引线VxWorks输入3.3u-boot和Linux复制开发包有Linux系统用于Demo,因为Demo板用的Flash是4M[4],这个Linux系统中有不止2M Linux内核加文件系统,路由板上用的是2M Flash,没有扩展的可能,所以好像没必要用。分析Demo板的引导程序后发现,在运行Linux之前,引导程序将整个Linux系统复制到16M SDRAM中进行操作。我们的路由板已经扩展到16M SDRAM了,可以在网络中使用Linux系统,而不用存储在Flash中,把Linux系统iTunes放入SDRAM中,然后进行操作。

当然,如果你想在SDRAM中运行Linux必备的iTunes,还必须有一个领先程序的帮助。U-boot是Arm系统中广泛使用的领先程序,对于KS8695芯片已经有了构建目标。目标的设备名称是cm4008,因此我们可以自由选择重建原始构造目标,并在我们的布线板上复制u-boot。

亚洲彩票

网上有很多关于u-boot复制的文章,复制方法这里还是有描述的。涉及到的主要文件和建立的功能见表2,右图:文件名更改说明包括\ configs \ cm4008。

Hu-boot特定平台配置文件包括\asm-arm\arch-ks8695\平台参数设置. h硬件平台板\cm4008.cu-boot初始化设置板\flash-boot模块部分驱动\ ks 8695 eth . Cu-boot中ks8695的驱动表2。Linux的变化涉及文件解释。特别要注意的是,u-boot中的KS8695芯片的网络端口驱动是用于路由板上的LAN端口,而不是WLAN端口,所以在iTunesLinux系统中,网线要挂在LAN端口上。

同时,驱动程序在退位网口时出现错误,除了第一个iTunes文件长时间不出现错误外,不会导致之前的iTunes文件再次出现错误,需要手动更改源文件进行纠正。将串口波特率设置为115200,开始u-boot。通过设置u-boot环境变量,将串口波特率改为38400,设置电路板的IP地址和PC的IP程序。

本文来源:亚洲彩票手机版-www.dsybellclub.com

客户案例Customer case
  • 亚洲彩票手机版:自制廉价的Arm9开发平台
  • 北京的卢深视科技有限公司参评“OFweek2019‘维科杯’人工智能核心技术奖”
  • 亚洲彩票:诈欺猎物160万+,同盾科技、猛犸等诈欺猎人们的反击战