通常嵌入式软件在host上开发,编译可执行文件,并将代码下载到target上执行。
但是上层业务软件,事实上并不强依赖于嵌入式平台,而弱耦合的底层资源代码,可以通过上下层解耦,规划API接口,并根据逻辑进行打桩。从而确保业务逻辑,高层软件可以在x86机器上与底层软件同时并行编码和调试。
本文就是为了解决模拟跨板高层软件部署,x86平台模拟多板,多框的硬件架构,提供单板插拔模拟,单BBU框和多BBU框的上电、下电模拟。主要针对通信领域多框,多板,多CPU,多OS的硬件架构。
模拟平台支持特性
- 支持多框和单框启动
- 支持多板和单板启动
- 支持多框和单框停止
- 支持多板和单板停止
- 支持多框和单框重启
- 支持多板和单板重启
- 支持板,框,模拟配置检查
- 支持板,框,模拟环境状态查询
模拟平台支持命令
- copy: 用于模拟工程应用软件和配置数据的复制拷贝。
- 注:由于每个模拟BBU框单板情况复杂,每个板应用程序部署情况不同,用户需要根据自己情况编辑各自模拟环境中的copy.sh脚本,后面将会详细介绍如何修改。
- clean: 用于模拟工程清理,将不需要的文件删除。
- 注:每个单板应用程序启动需要的配置文件不同,目录结构和固化数据文件也有差异,用户需要根据需要修改clean.sh脚本,后面将会详细描述如何修改。
- start: 用于单板,BBU框,模拟环境的启动。
- vstart: 用于单板,BBU框,模拟环境的启动,并支持应用程序输出的打印消息。
- stop: 用于单板,BBU框,模拟环境的停止。
- reset: 用于单板,BBU框,模拟环境的重启。
- vreset: 用于单板,BBU框,模拟环境的重启,并支持应用程序输出的打印消息。
- check: 用于单板,BBU框,模拟环境配置文件检查。
- status: 用于单板,BBU框,模拟环境的当前启动停止查询。
如何建立个人的模拟环境
为方便起见,这里使用一个hellowworld来模拟各个单板的应用程序。
实例: simu_demo(simu_demo模拟环境将会配置两个BBU框分别命名为sbrk_01和sbrk_02)
- sbrk_01框有两块单板,分别命名为brd_01_02_bbi和brd_01_06_mpt
- brd_01_02_bbi单板有应用程序 simu_demo_sbrk01_bbi_app1和simu_demo_sbrk01_bbi_app2
- brd_01_06_mpt单板有应用程序 simu_demo_sbrk01_mpt_app1和simu_demo_sbrk01_mpt_app2
- sbrk_02框也有两块单板,分别命名为brd_02_03_bbi和brd_02_06_mpt
- brd_02_03_bbi单板有应用程序 simu_demo_sbrk02_bbi_app1和simu_demo_sbrk02_bbi_app2
- brd_02_06_mpt单板有应用程序 simu_demo_sbrk02_mpt_app1和simu_demo_sbrk02_mpt_app2
建立模拟工程目录结构
首先,在模拟平台目录下建立如下两个BBU框的目录:sbrk_01和sbrk_02
注:BBU框目录命名规则:命名采用“sbrk_框号_其他信息
然后,在各个BBU框目录下建立如下四块单板的目录:
- brd_01_02_bbi: BBU框1,2号槽位,bbi板
- brd_01_06_mpt: BBU框1,6号槽位,mpt板
- brd_02_03_bbi: BBU框2,3号槽位,bbi板
- brd_02_06_mpt: BBU框2,6号槽位,mpt板
注:单板目录命名规则: 命名采用“brd_框号_槽号_板类型_其他信息
最后,在x86模拟平台目录下,建立自己的模拟环境目录simu_demo
注1:模拟环境目录命名规则:命名采用“simu_其他信息
注2:模拟程序命名规则:命名采用“模拟环境-单板名称-应用程序名称
配置单板
这里介绍一块brd_slot06_mpt单板:
1)配置文件中,XML标识符是simu定义的,不允许修改。
2)每块单板可以启动多个模拟应用程序,simu将根据前后顺序依次启动。
3)用户根据需求,配置一个或者多个模拟应用程序。
4)brd_slot06_mpt有两个应用程序,分别为 simu_demo_sbrk01_mpt_app1 和 simu_demo_sbrk01_mpt_app2
如下所示配置simu_config.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<BoardConfig>
<Program>./simu_demo_sbrk01_mpt_app1 brd_slot06_mpt</Program>
<Program>./simu_demo_sbrk01_mpt_app2 brd_slot06_mpt</Program>
</BoardConfig>
配置BBU框
这里介绍一块sbrk_02 BBU框的单板配置情况:
1)配置文件中,XML标识符是simu定义的,不允许修改。
2)每个BBU框有多块单板,simu将根据前后顺序依次启动。
3)用户根据需求,在一个BBU框里配置一块或者多块单板。
4)sbrk_02有两块单板,分别为 brd_02_03_bbi和 brd_02_06_mpt
如下所示配置simu_config.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SubrackConfig>
<Board>brd_slot06_mpt</Board>
<Board>brd_slot01_bbi</Board>
</SubrackConfig>
配置模拟环境
这里介绍simu_demo模拟环境配置情况:
1)配置文件中,XML标识符是simu定义的,不允许修改。
2)模拟环境将会有多个BBU框,simu将根据前后顺序依次启动。
3)用户根据需求,在模拟配置一个或者多个BBU框。
4)simu_demo有两块BBU框,分别为 sbrk_01和 sbrk_02,
如下所示配置simu_config.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<EnvConfig>
<Subrack>sbrk01</Subrack>
<Subrack>sbrk02</Subrack>
</EnvConfig>
注:每位开发人员都可以根据自己需要或者配置需要定义一个模拟环境。
配置copy.sh和clean.sh
在模拟环境目录simu_demo需要建立两个用户自定义脚本来复制(copy.sh)、清理(clean.sh) 模拟软件和相关配置文件。
在simu_demo简单应用中,仅仅只做一个helloworld应用程序的复制和清理,其配置文件已经包含在单板和框目录中了,所以简化了copy和clean处理。
注1:如果有需要可以将配置文件,应用程序,固化数据等都保存在模拟环境中,在模拟环境复制的时候,调用copy.sh复制相关应用程序和配置文件到指定单板和BBU框目录。
注2:模拟工程根目录下的copy.sh和clean.sh不允许修改和删除,为simu程序使用。
如何使用个人模拟环境
上面配置了simu_demo模拟环境,接下来就是如何使用这个x86模拟工程模拟单板,BBU框的插拔,启动等操作了。
更新模拟环境
检查模拟环境配置参数
启动,重启和停止模拟环境
启动,重启和停止BBU框
启动,重启和停止单板
查询模拟环境状态
查询BBU框状态
清理模拟环境
x86模拟软件,能够模拟多板,多框的嵌入式系统高层软件多板通信的场景。当然,前提是高层部署依赖的底层通信IPC协议需要适配支持上层业务软件。
参考资料:
【1】x86模拟平台软件下载
今天的文章跨板是什么意思_虚拟机模拟arm架构分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/66695.html