微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于BM3803MG与VxWorks的BSP的设计实现

基于BM3803MG与VxWorks的BSP的设计实现

时间:08-12 来源:3721RD 点击:

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,满足了空间应用项目的嵌入式控制系统的高可靠、实时数据处理的需求,为空间高可靠控制系统提供了一种解决方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top