基于BM3803MG与VxWorks的BSP的设计实现
3 向BSP中添加驱动程序
已经编写好的网卡驱动程序加入BSP中需要以下几步:
(1)修改sysLib.c:
使能外部中断0,并设置中断触发方式为边沿触发。
(2)在config.h中添加如下语句:
#define INCLUDE_END
#define INCLUDE_KS8851_END
(3)在configNet.h中添加新的装载函数:
END_TBL_ENTRY endDevTbl [] =
{
.....
#ifdef INCLUDE_KS_8851_END
{0,KS8851_LOAD_FUNC, KS8851_LOAD_STRING,
KS8851_BUFF_LOAN,NULL, FALSE},
#endif
.....
};
通过以上步骤,驱动程序已经添加到BSP中,编译后生成所需要的带有KSZ8851-16mll驱动的VxWorks_rom镜像文件,下载到开发板里,实现开发板与主机间的网络通信。
4 基于ROM的VxWorks镜像下载流程
网卡的驱动程序完成之后,需对驱动程序进行测试,查出驱动程序潜在的缺陷以及验证驱动功能是否完善。测试环境如图5所示。
本文使用BM3803MG专用烧写软件烧写VxWorks_rom镜像的过程如下:(1)把生成VxWorks_rom镜像转换成存储器镜像VxWorks_rom.bin;(2)运行BM3803MG的专用烧写软件,使用Flash映像生成功能,在VxWorks_rom的工程目录下,自动生成flash_content.bin、program_flash_in_ram.exe和program_flash_in_ram.bin。其中,flash_content.bin为待引导VxWorks_rom.bin的flash映像,program_flash_in_ram.exe为烧写flash_content.bin的烧写程序,program_flash_in_ram.bin为此烧写程序的RAM映像;(3)将program_flash_in_ram.bin烧写到Flash中后,即完成了VxWorks_rom镜像下载到目标板的任务。
BSP程序的开发与单纯的应用软件不同,BSP程序在开发过程中会遇到很多硬件的问题,如时序匹配和信号完整性问题等。因此,在开发BSP之前,需尽量熟悉嵌入式系统的硬件以及硬件的初始化、寄存器访问方式以及硬件的时序等,并完成相关的调试工作,为开发BSP打好基础[5]。
本文实现了VxWorks下基于BM3803MG的KSZ8851以太网BSP,满足了空间应用项目的嵌入式控制系统的高可靠、实时数据处理的需求,为空间高可靠控制系统提供了一种解决方案。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)