CN1252593C - 板级支持包的仿真方法 - Google Patents
板级支持包的仿真方法 Download PDFInfo
- Publication number
- CN1252593C CN1252593C CN 01132224 CN01132224A CN1252593C CN 1252593 C CN1252593 C CN 1252593C CN 01132224 CN01132224 CN 01132224 CN 01132224 A CN01132224 A CN 01132224A CN 1252593 C CN1252593 C CN 1252593C
- Authority
- CN
- China
- Prior art keywords
- board
- main
- support package
- standby
- plate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种板级支持包的仿真方法,其步骤包括:1.按上层应用程序和板级支持包设计仿真对象;2.在操作***中增设对TCP/IP链路状态监测,且将其变化以消息形式通知仿真对象;3.生成存储主备标志信息的配置文件;4.在调试用机上将仿真对象加入原有单板项目中,并生成单板应用程序;5.将生成的应用程序下载到目标用机上运行;6.通讯应用程序通过仿真模块从启动文件获得主备标志值并进入主备主控板、主备交换板和ATM用户接口卡各自的电启动流程;7.在***工作状态下操作:a.作拔掉主备主控板之间的网线测试;b.模拟热拔单板;c.模拟热插单板。本发明方法可在PC机环境下进行,方法简单,开发成本低。
Description
技术领域
本发明涉及一种BSP(Board Specific Package,板级支持包)仿真,属于网络接入服务器领域,具体地说,涉及一种PC(Personal Computer)机环境下模拟BSP部分功能以便进行上层通讯程序调试的方法。
背景技术
按照中华人民共和国***颁布的《网络接入服务器(NAS)测试规范》,对接入服务器在***运行(包括上电启动)时,需要通过BSP实时检测到硬件离散信号的变化(比如:板槽位号、板热插拔、主备倒换),并依据***运行状态通过BSP对硬件进行一定的操作(如:设置主用设备无效)。通常在***开发中,首先BSP程序在单板上调试通过,然后才能在此基础上进行上层通讯应用程序(包括支撑操作***、协议栈、承载、业务控制、网管)在单板上的调试。但在大型***开发当中,硬件和软件的开发工作量、技术难度都较大,开发周期也较长,因此,开发进度的可控性风险也比较大。显然,这种硬件与软件之间阶梯式的进度控制方式不利于上层软件与硬件及BSP开发的重叠开发,尤其在BSP及硬件开发因各种因素出现意外时,将耽误整个***的研发进度,造成软件开发与硬件开发的脱节,成为整个***开发的瓶颈。
目前有一些仿真工具套件,包括仿真板、BDM\JTAG以及与开发工具(如:Tornado)集成的仿真调试软件,可以对单板硬件及BSP进行测试并对上层应用程序的调试提供一定程度的支持。但是,目前这些仿真工具存在下列缺点:
1、对硬件和BSP存在一定的依赖性,实际上是用仿真单板替代实际单板达到测试目的,目标仿真板上一般都需要运行BSP程序;2、整套仿真工具的使用比较复杂,要求上层软件开发人员必须非常熟悉仿真板、BDM\JTAG以及与开发工具集成的仿真调试软件的使用方法;3、仿真工具一般的使用环境为一台HOST调试机对应一台仿真器,目的在于对单板硬件、Firmware及BSP本身单板级的调试(这些调试内容实际上只应由硬件人员完成,不应当制约上层软件开发人员进行并行开发),却无法提供一套简单、可行和有效的***级的纯软件调试支撑平台供上层软件开发调试使用。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种完全不依赖于单板硬件及BSP的仿真方法,以模拟BSP部分功能,并为上层软件的调试提供一种调试平台,将需要在单板上所需要的调试移植到PC机环境下进行,真正实现硬件与软件的并行开发。
本发明所述的BSP仿真方法,包括以下步骤:
1、依据上层应用程序与实际BSP的接口功能,设计BSP仿真对象;
2、在操作***中增加对TCP/IP链路状态的监测,并将链路的变化以消息形式通知到BSP仿真对象;
3、生成两个配置文件,用来存储主备标志信息,在一个文件中写入0,表示主用设备标志;在另一文件中写入1,表示备用设备标志;
4、在调试用的PC机(即HOST调试机)上分别将BSP仿真对象加入原有单板项目中并生成包含仿真对象的单板应用程序;
5、分别将生成的应用程序从调试PC机下载到目标PC机上并运行;
6、通讯应用程序将通过仿真模块从启动文件获得主备标志值并分别进入主用主控板(P CPB)、备用主控板(B CPB)、主用交换板(P SPB)、备用交换板(B SPB)和ATM用户接口卡各自的上电启动流程;
7、在***工作状态,进行以下操作:
拔掉P CPB与B CPB之间的网线(模拟倒换按钮引起倒换),以调试***的主备倒换控制逻辑;
拔掉除主用主控板目标PC机外,其它目标PC机与HUB集线器之间的网线(模拟热拔单板),以调试***的热拔单板控制逻辑;
恢复除主用主控板目标PC机外其它目标PC机与HUB之间的网线(模拟热插单板),以调试***的热插单板控制逻辑。
所说的步骤1中的BSP仿真对象,具体实现了以下具体的功能:1)、提供主备竞争标志;2)、提供单板硬件属性信息,如槽位号,硬件版本信息,端口信息;3)、提供单板热插拔离散信号;4)、提供主备倒换离散信号。实际应用中,BSP是通过接受硬件离散信号的高底电平或中断,并按照一定的规则转化为寄存器值,再通过函数接口供上层软件调用,以读取或设置该积存器的值。在仿真方法中是设置一组相应的全局变量(包含结构变量)来模拟单板寄存器值并借助一定的机制(如:主备间消息应答、文件***存取、SOCKET链路状态)来模拟实际离散信号的变化。采用UML(Unified ModelingLanguage,标准建模语言)设计工具进行设计。
所说的步骤2中主备倒换离散信号变化模拟,通过主备间消息应答机制来模拟,即备用板定期向主用板发送查询消息,主用板收到查询消息随即发送应答消息,备用板收到有效应答则表示主用设备在正常工作状态;否则表示主用设备已无效。
所说的步骤3中主备竞争标志值的获得,实际的BSP是检测硬件逻辑未实行主备竞争从而产生互斥的高底电平并转化为标志值供上层软件调用;BSP仿真方法通过读取文件***所预先写定的主备标志值。单板热插拔离散信号模拟,利用各模拟PC间的TCP/IP链路状态来模拟,即:链路由通到断则表示板被拔掉;链路由无到有则表示板插上。
采用本发明所述方法,与现有技术相比,通过使用本发明中的BSP仿真方法在PC机环境下能够模拟实际BSP在单板上的部分功能,为上层软件的调试提供了一个可行的方法。方法简单,实现起来很方便,彻底摆脱了上层软件开发调试对硬件、BSP及专用测试设备的依赖。降低了开发成本。
附图说明
本发明的附图简单说明如下:
图1是本发明的BSP仿真对象的流程图。
图2是应用本发明BSP仿真平台调试结构示意图。
具体实施方式
下面结合图1和图2,给出本发明的实施例,通过实施例对本发明作进一步详细描述:
请参阅图1所示,它是BSP仿真对象的流程图,在本发明中对BSP仿真的所有功能都是在该对象中实现的,首先执行步骤10,***上电启动,进入步骤11,BSP对象在启动时通过读取配置文件并获得主备标志值,依据该值决定下面的流程:执行步骤12,查询是否为主用设备?若是主用设备,便执行步骤13、14等待线卡与主控板间以太链路的状态变化改变线卡热插拔标志,链路由连接到断开表示某单板被拔掉了,链路由断开到恢复连接表示某单板***上了;同时,随时接受备用设备发送过来的查询消息并即时给予应答;若是备用设备,则执行步骤15,设置一定时器,执行步骤16,查询定时器是否超时?若未超时,便执行步骤17,周期性地向主用设备发送查询消息并接受应答,再返回执行步骤16,如果定时器超时仍然没有收到应答消息,则执行步骤18,表示主用设备无效,就修改主备标志值,执行步骤13转入主用设备逻辑。
请参阅图2,它是应用BSP仿真平台调试结构图,说明了使用本方法建立上层通讯软件***调试的基本结构,包括开发调试机与目标机的对应,主用设备和备用设备的连接和调试以太网连接。
在基于BSP仿真方法在PC机环境下对上层软件进行测试时,调试的基本构架为P CPB(Primary Control Process Board,主用主控板)+B CPB(BackupControl Process Board,备用主控板)+P SPB(Primary Switch Process Board,主用交换板)+B SPB(Backup Switch Process Board,备用交换板)+ATM(Asychronous Transfer Mode,此专指异步传输模式的用户接口卡)。
实施例1:在BSP仿真平台PC机环境下***联调
基本配置需求,调试机(HOST)和目标机(TARGET)都是PC机,HOST和TARGET间用单独的局域网通信。
依据如下步骤基于使用BSP仿真方法进行代码级调试。
主备竞争标志值测试过程:
1.设置本地file_flagP中主备标志值为0。
2.BSP仿真运行并处于主用状态(进入ST_P_WORK状态)。
3.设置本地file_flagB中主备标志值为1。
4.BSP仿真运行并处于备用状态(进入ST_B_WORK状态)。
主备倒换离散信号变化测试过程
测试过程及结果:
1.设置本地file_flagB中主备标志值为1。
2.BSP仿真运行并处于备用状态。
3.向P CPB发EV_CC_CPB_SWITCH_REQ事件并进入延时,超时但收不到响应,m_ucPInvalid由1变0。
单板插拔离散信号变化测试
测试过程及结果:
1.设置本地file_flagP中主备标志值为0。
2.BSP仿真运行并处于主用状态。
3.手工触发EV_SC_LINK_READY消息,参数为:ev_ucSlot=2,ev_ucType=1。对应的标记值变化,m_arrBoardONorOFF[2]由2变0。
4.手工触发EV_SC_LINK_BREAK消息,参数为:ev_ucSlot=2,ev_ucType=1。对应的标记值变化,m_arrBoardONorOFF[2]由0变1。
通过使用可以了解本发明中的BSP仿真方法,在PC机环境下能够模拟实际BSP在单板上的部分功能,可以在此平台上进行对上层软件与硬件离散信号有关的控制逻辑测试,并且,可以尽早发现硬件及BSP设计中的各种问题,为上层软件的调试提供了一个可行的方法。而且,该BSP仿真方法平台的可移植性良好,对于相关系列产品的研发也具有一定的指导意义,并可消除软件调试对硬件开发的必然依赖,这种瓶颈资源的释放不但大大减小了产品研发的风险,同时极大地降低了开发成本。
Claims (7)
1、一种板级支持包的仿真方法,其步骤包括:
1)、依据上层应用程序与实际板级支持包的接口功能,设计板级支持包仿真对象;
2)、在操作***中增加对TCP/IP链路状态的监测,并将链路的变化以消息形式通知板级支持包的仿真对象;
3)、生成两个配置文件,用来存储主备标志信息,在一个文件中写入0,表示主用设备标志;在另一个文件中写入1,表示备用设备标志;
4)、在调试用的PC机上,分别将板级支持包的仿真对象加入原有单板项目中,并生成包含仿真对象的单板应用程序;
5)、分别将生成的应用程序从上述的调试PC上下载到目标PC机上并运行;
6)、通讯应用程序将通过仿真模块从启动文件获得主备标志值并分别进入主用主控板、备用主控板、主用交换板、备用交换板和ATM用户接口卡各自的上电启动流程;
7)、在***工作状态,进行以下操作:
a.断开主用控板与备用主控板之间的网线,以调试***的主备倒换控制逻辑;
b.断开除主用主控板的目标PC机之外的其它的目标PC机与集线器HUB之间的网线,模拟热拔单板,以调试***的热拔单板控制逻辑;
c.连接除主用主控板的目标PC机之外的其它的目标PC机与集线器HUB之间的网线,模拟热插单板,以调试***的热插单板控制逻辑。
2、根据权利要求1所述的板级支持包的仿真方法,其特征在于,所说的支持包仿真对象包括:1)、提供主备竞争标志;2)、提供单板硬件属性信息;3)、提供单板热插拔离散信号;4)、提供主备倒换离散信号。
3、根据权利要求2所述的板级支持包的仿真方法,其特征在于,所说的单板硬件属性信息,包括槽位号、硬件版本信息和端口信息。
4、根据权利要求2所述的板级支持包的仿真方法,其特征在于,主备倒换离散信号变化模拟,通过主备间消息应答机制来模拟,备用板定期向主用板发送查询消息,主用板收到查询消息随即发送应答消息,备用板收到有效应答则表示主用设备在正常工作状态;否则表示主用设备已无效。
5、根据权利要求2所述的板级支持包的仿真方法,其特征在于,实际的板级支持包是由检测硬件逻辑来实行主备竞争而产生互斥的高底电平,该高低电平转化成提供上层软件调试的主备竞争标志。
6、根据权利要求2所述的板级支持包的仿真方法,其特征在于,板级支持包仿真方法通过读取文件***所预先写定的主备竞争标志值来提供主备竞争标志。
7、根据权利要求2所述的板级支持包的仿真方法,其特征在于,单板热插拔离散信号模拟,系利用各模拟PC机间的TCP/IP链路状态来模拟,链路由通到断则表示板被拔掉;链路由无到有则表示板插上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 01132224 CN1252593C (zh) | 2001-11-16 | 2001-11-16 | 板级支持包的仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 01132224 CN1252593C (zh) | 2001-11-16 | 2001-11-16 | 板级支持包的仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1420434A CN1420434A (zh) | 2003-05-28 |
CN1252593C true CN1252593C (zh) | 2006-04-19 |
Family
ID=4671262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 01132224 Expired - Fee Related CN1252593C (zh) | 2001-11-16 | 2001-11-16 | 板级支持包的仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1252593C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100346607C (zh) * | 2003-09-02 | 2007-10-31 | 华为技术有限公司 | 在支持接口热插拔的***上进行接口备份的方法 |
CN100362811C (zh) * | 2005-08-12 | 2008-01-16 | 上海华为技术有限公司 | 一种获取配置信息的方法 |
CN100382452C (zh) * | 2005-11-15 | 2008-04-16 | 中兴通讯股份有限公司 | 一种实现主备倒换的装置和方法 |
CN100373351C (zh) * | 2006-04-13 | 2008-03-05 | 电子科技大学 | 一种高速事务级软硬件协同仿真方法 |
CN105071952A (zh) * | 2015-07-10 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 一种设置双主板olt设备主备关系的方法及设备 |
CN111338753B (zh) * | 2020-02-17 | 2021-09-03 | 东风电子科技股份有限公司 | 基于计算机实现电子控制单元硬件仿真的*** |
CN112416582B (zh) * | 2020-11-17 | 2024-03-15 | 努比亚技术有限公司 | 一种bsp***自适应方法、客户端、服务器及存储介质 |
-
2001
- 2001-11-16 CN CN 01132224 patent/CN1252593C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1420434A (zh) | 2003-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112580295B (zh) | 多核SoC芯片的自动化验证方法、***及装置 | |
JP4456420B2 (ja) | ネットワークベースの階層エミュレーションシステム | |
CN105224459B (zh) | 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法 | |
US20100313185A1 (en) | Access to test-ready virtual environments | |
CN102508753A (zh) | Ip核验证*** | |
CN1252593C (zh) | 板级支持包的仿真方法 | |
CN1991784A (zh) | 利用HDL扩展串口的SoC***在线调试方法 | |
CN102801818A (zh) | 基于ZigBee技术的传感器通用接口采集*** | |
Ramon | Intel Galileo and Intel Galileo Gen 2: API Features and Arduino Projects for Linux Programmers | |
CN108762765A (zh) | 基于contiki***的开发板程序编译下载方法 | |
CN1797366A (zh) | 计算机平台测试方法及*** | |
CN103955423A (zh) | 一种国产jvm的测试评估方法 | |
Porter et al. | Towards model-based integration of tools and techniques for embedded control system design, verification, and implementation | |
WO2013032054A1 (ko) | 온라인 게임 서버-테스트 통합 장치 | |
CN109144491B (zh) | 单片机开发平台 | |
CN113536717B (zh) | 一种基于增量编译的电路仿真方法 | |
Weatherly et al. | Efficient process interaction simulation in Java: Implementing co-routines within a single Java thread | |
CN1848093A (zh) | 基本输入输出***中高级配置和电源接口模块的调试方法 | |
Wen et al. | s2db: a novel simulation-based debugger for sensor network applications | |
CN1731317A (zh) | 兼容标准计算机键盘的仪器键盘控制装置 | |
CN102446113B (zh) | 底层消息接口模拟方法及模拟装置 | |
CN102043643B (zh) | 安装中断事件处理程序的方法 | |
Viarheichyk | Embedded Programming with Modern C++ Cookbook: Practical recipes to help you build robust and secure embedded applications on Linux | |
Jin et al. | A scalable parallel debugging library with pluggable communication protocols | |
CN101615209B (zh) | 基于内存监视的处理器验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
ASS | Succession or assignment of patent right |
Owner name: SHENZHENG CITY ZTE CO., LTD. Free format text: FORMER OWNER: SHENZHENG CITY ZTE CO., LTD. SHANGHAI SECOND INSTITUTE Effective date: 20030724 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20030724 Applicant after: Zhongxing Communication Co., Ltd., Shenzhen City Applicant before: Shanghai Inst. of No.2, Zhongxing Communication Co., Ltd., Shenzhen City |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060419 Termination date: 20191116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |