完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在基于VxWorks的嵌入式系统开发过程中,板卡支持包BSP(Board Support Package)的开发是非常重要而又闲难的一个环节。因为不能确定硬件系统是否正常丁作,而后续应用开发都是以此为基础。
|
|
相关推荐
3个回答
|
|
在实际开发中,为了提高开发效率,大多是采用以一个与目标板硬件相似的BSP为模板,并在此基础上修改移植。在这个过程中.除了CPU以外,另一个重要的器件就是装有启动程序的Flash器件。
2 系统介绍 采用高性能PowerPC系列器件PPC440EPx为核心设计的一款符合CPCI标准的嵌入式单板计算机系统。 该系统集成了丰富的外设接口和调试接口,可用于设备控制、设备管理、通信设备中的通信控制、协议处理、路由处理和网关处理等。其主要是面向航空设备和军用车载设备的应用。 在调试阶段,系统的启动是通过执行Boot flash中存储的bootrom映像文件完成的。Boot Flash器件采用ST公司的PSD835,通过EBC总线与PPC440EPx相连。EBC总线是PPC440EPx的并行总线。其可以与8位,16位或32位的外部设备通信,最多可支持6个不同时序要求的设备。其中,片选0分配给Boot Flash。上电时,PowerPC会自动访问BootFlash,进行系统初始化。操作系统是VxWorks,其映像文件放在NAND Flash中。 |
|
|
|
3 软件开发流程
软件系统的开发流程是:首先设计bootrom映像文件,并将其烧写到Flash器件中(该器件称为Boot ROM)。上电后,bootrom程序进行相应初始化后与Host主机通信,将操作系统映像文件下载到嵌入式系统平台的RAM中运行。如果程序不正确或需更新,则重新通过bootrom程序将新的映像文件下载到RAM中。 当所有程序都调试成功,整个系统作为产品发布。此时,则需将操作系统和应用程序映像文件烧写到在大容量的flash器件中(如NAND Flash),系统自动将从Flash中复制到RAM中执行。 4 bootrom设计方案的选择 bootrom应是一个短小精悍的程序,可初始化系统工作和通信接口(通常是串行接口和以太网接口);系统作为产品发布无需bootrom程序;调试 bootrom时,需频繁地将修改后的映像文件烧写到Boot ROM中。实现该Boot ROM电路有多种方案,如表1所示. 方案1是传统设计方案,成本低,可选择的Flash器件多。但在调试bootrom时,更新程序非常不方便。需要焊装Flash器件,很容易导致器件和 PCB板的物理损坏,而且效率非常低;而方案2从逻辑电路上来看,与方案1是一样的。但其由于其使用夹具,器件装卸简单,程序更新比方案1方便。但夹具成本较高,可靠性差,并且一般夹具体积较大,这就增加了PCB的布局、布线难度。上述两种方案,Flash的编程都需从PCB上取下,用编程器烧写。显然,这样的工作效率较低。方案3则采用支持ISP功能的Flash器件来实现Boot ROM,这就使得程序更新变得非常方便,极大提高工作效率。因此,根据嵌入式开发实际情况,为节约成本、提高工作效率,该系统设计选择方案3。考虑到 bootrom映像文件一般较小,选用ST公司的512 KB的Flash器件PSD835。 |
|
|
|
5 PSD835在嵌入式系统中的应用
5.1 硬件电路设计 该系统使用PSD835的主Flash作为Boot ROM。同时,还使用该器件的PLD资源实现一些控制和初始化配置功能。如图1所示,PSD835的存储器通过其CPU接口与PPC440EPx的外部总线接口(EBC)相连。 连接电路比较简单,只需将EBC的片选信号、读信号、地址和数据信号分别与PSD835的对应引脚相连即可。其他引脚被该器件的PLD使用,主要完成串口工作模式、PPC440EPx启动方式、片选信号的设置,以及网络控制信号的产生等功能。 在设计实际硬件电路时,应注意以下几点: (1)因为最终产品要通过NAND Flash启动,因此片选0可通过拨码开关或CPLD分别在PSD835和NAND flash的片选信号之间切换。PPC440EPx有8个bootstrap选项(设置CPU的时钟、启动、寄存器的初始值等),可以使用CPLD进行改变; (2)PPC440EPx的EBC总线无复用地址和数据信号。因此,数据总线与F端口相连。低16位的地址总线与PSD835的ADIO15~AD100相连,高位地址与A端口相连; (3)PPC440EPx的EBC的数据总线的最高位是Data0,地址总线的最高位是Addr2。连接时,注意不要将顺序接反; (4)为了提高编程速度,添加了2个JTAG信号:teRR和TSTAT。 5.2 PSD835的功能和编程设计 PSD835的Flash编程和PLD逻辑功能的实现,需要使用FlashLINK下载线(硬件)和PSDsoft EXPRESS(软件)。FlashLINK其实就是一个JTAG和并口的转换器;PSDsoftEXPRESS是PSD系列器件的设计软件。利用该工具软件定义器件的引脚功能、映射存储器、配置PLD等。所有的定义和配置与程序固件一起生成obj文件。该文件通过FlashLINK下载到PSD器件中。另外,利用该工具软件还可以完成擦除、校验、上载、空白检查等功能。而整个设计过程也非常简单,只需根据其设计流程简单点击鼠标即可完成PSD设计。图2 为PSD设计流程。 根据该系统设计简单描述如下:首先建立一个丁程文件。然后根据实际电路在下拉框中选择厂家和CPU型号,以及将用到的控制信号,再选择使用的PSD器件型号和封装。最后定义CPU和PSD连接的方式(即8位或16位总线模式,复用或非复用总线等等)。 该系统使用AMCC公司的PPC440EPx型CPU,下拉框中无该选项。这时可选择other,控制信号根据EBC总线的定义选择RD和WR。PSD与CPU数据总线为8位,地址和数据无复用,未使用ALE信号。 在设计阶段所做的设置较多,首先,定义电路中所使用的引脚。定义其名字、引脚是CPLD的输入还是输出,或是CPU的I/O;同时还要配置该引脚是组合逻辑还是时序逻辑;定义页寄存器的使用。系统中EBC的地址信号线足够多,因此将页寄存器作为PLD的输入信号;定义PSD器件内部存储器、寄存器的地址映射以及片选信号的逻辑表达式。因为本系统使用512 KB的主Flash存放启动代码,因此,其地址空间被定义在0xFFF80000~0xFFFFFFFF(BSP中定义)。实际电路设计时,为了简化设计,只使用20根地址信号线。因此,将主Flash地址定义在0x80000~0xFFFFF。则片选fs0在0x80000~0x8FFFF,则片选 fs1在0x90000~0x9FFFF。以此类推片选fs2~fs7的地址空间。其他的存储空间可分配在0x00000~0x7FFFF。片选信号的逻辑表达式为将EBC总线片选0取反;定义输出信号以及内部节点信号的逻辑。这实际上就是完成CPLD功能的设计。 附加定义中可设置安全位、用户代码、设置页保护。如果设置安全位,所有编程工具将不能访问PSD的内容。用户代码用于版本管理。对于具有保护功能的页, CPU就只能对其进行读操作(通过JTAG口或编程器改变其内容)。适配是检查器件是否能满足上述的各种配置,同时产生相应的报告文件。启动代码 bootrom.hex文件和上述的各种配置融合为一个.obj文件。设计中需要注意:bootrom映像文件不能太大(不能超过512 KB);主Flash的8个页都要指向同一个映像文件;映像文件的名字bootrom.hex最好改为不是以hex为后缀(如改为bootrom.a),否则会出错。将生成的.obj文件烧写到器件内部。正确完成上述流程就可调试程序。 6 结论 从PSD835的数据手册可知,该器件主要是应用于16位的单片机系统。该系统设计根据嵌入式系统中 BSP开发以及PSD835器件的特点,将该器件灵活运用于基于32位RISC器件PPC440EPx的嵌入式系统中,降低BSP的开发难度,提高工作效率。以此为基础实现的CPCI单板计算机已成功应用于某航载数据采集分析记录仪。 |
|
|
|
只有小组成员才能发言,加入小组>>
785 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2859 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1068浏览 3评论
190浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 01:17 , Processed in 1.753775 second(s), Total 88, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号