首页 > 其他分享 >eCos需要Synthetic虚拟目标板的理由

eCos需要Synthetic虚拟目标板的理由

时间:2022-11-21 10:03:21浏览次数:72  
标签:Synthetic Synth 目标 硬件 虚拟 eCos Linux


 

eCos提供了Synth虚拟目标板(Synthetic Target),为什么要使用虚拟目标板呢?

 

1. 在没有硬件的条件下学习eCos

eCos是非常优秀的嵌入式操作系统,如果希望学习eCos但是又没有开发板或其它的硬件平台, 那么可以使用Synth虚拟目标板,运行以Synth为目标板的eCos仅需要一台安装Linux系统的PC机, 而不需要开发板或其它特别的硬件电路。如果平常使用的是Windows系统, 那么可以通过在Windows系统下安装Linux虚拟机的方式运行Linux系统。 Synth无疑为学习eCos提供了一条非常廉价和便捷的道路。

 

2. 移植硬件无关代码

硬件无关代码从本质上可以运行在任何平台上,因此在真实硬件上运行还是在Synth虚拟目标板运行并不妨碍硬件无关代码的移植。 例如,eCos官方版本没有提供FTP服务器组件,但是RTEMS提供了FTP服务器组件,希望将RTEMS的FTP服务器组件移植到eCos中,那么就可以在Synth虚拟目标下完成。 或许eCos开发团队在移植硬件无关组件的时候也是这样做的?在Synth虚拟目标板下移植软件显然比在真实的开发板环境中移植软件更便捷, 不需要准备硬件电路板,不需要烧录redboot,不用连接串口,不用每次编译完成通过串口下载程序。

 

3. 软硬件并行开发

随着社会分工地深入,即使是嵌入式系统开发也已经分化成硬件开发小组和软件开发小组, 在开发周期比较紧张的项目中,需要软件和硬件的并行开发。 使用Synth虚拟目标板,即使是在硬件项目还未启动前就可以启动软件项目, 软件开发小组专注于软件功能的实现而不必被恼人的硬件bug困扰, 只需在硬件组提交了完全可用的硬件平台后对eCos系统和应用进行验证。 Synth虚拟目标板的I/O辅助进程使用TCL脚本语言实现,这使得扩展I/O辅助进程非常容易, 通过扩展I/O辅助进程可以使Synth虚拟目标板的功能特性与最终硬件平台的功能特性非常接近, 从理论上讲,eCos应用是与硬件不直接相关的,如果两个平台的功能特性一致, 那么从一个平台移到另一个平台,仅需要更换eCos库然后重新编译代码。

 

4. 使用Linux工具进行自动化测试

将Synth作为目标板的eCos应用是一个普通的Linux程序, 因此凡是可以应用在Linux应用程序测试的工具都可以应用在eCos应用上, 嵌入式软件的测试工具相对比较有限,特别是自动化测试工具, 使用Synth虚拟目标板之后,Linux上的测试工具也是eCos测试工具,这大大扩充了工具包内容。

 

5. 关于Synth虚拟目标板

Synth的作用与Android开发环境提供的手机模拟器相类似。

eCos通过硬件抽象层(HAL)隔离硬件相关代码和硬件无关代码, 与硬件相关的代码仅包含HAL和驱动程序,除此之外的其它eCos组件或者eCos应用都是与硬件无关的, 这种机制不仅让eCos的开发和移植变得简单,而且可以使用软件来仿真eCos的HAL和设备驱动。

eCos的Synth虚拟目标板使用Linux内核提供的系统调用和额外的I/O辅助进程仿真HAL和设备驱动, 选择Synth作为eCos的目标平台(Target),可以将eCos编译成为Linux下的一个普通程序, 然后可以在Linux下运行该程序。

阅读参考资料了解更多关于Synth的内容。

 

6. 参考资料

​《XXXVIII. eCos Synthetic Target》​​​:官方参考手册。
​​​《eCos的Linux Synthetic Target简介》​​​:官方参考手册的部分翻译。
​​《虚拟实验室eCos开发环境的配置 (Linux)》​​:使用基于QEMU的模拟器运行eCos。
​​​VirtualBox​​​:虚拟机软件。
​​​Xubuntu​​:易于使用又节省资源的Linux发行版。


标签:Synthetic,Synth,目标,硬件,虚拟,eCos,Linux
From: https://blog.51cto.com/zoomdy/5872666

相关文章

  • eCos中的同步原语简要
    信号量信号量是最基本的通信原语,可用于线程同步、事件通知、共享数据保护,包括二值信号量和计数信号量,在非嵌入式系统中,信号量还被用于进程间通信。eCos的计数信号量包含了两......
  • eCos仿真目标机(2)――安装
    宿主机软件为了获得仿真目标机的完整功能,用户必须编译安装I/O辅助进程ecosynth以及其它支持文件。没有辅助进程的情况下开发仿真目标机应用也是可以的,但是仅有少量的I/O设备......
  • 为仿真器添加eCos多线程调试支持,GDBServer Extender 0.0.1 使用说明
    可以使用RedBoot或者仿真器调试eCos系统,RedBoot集成的GDBStubs已经支持eCos的多线程调试,使用GDB命令infothreads就可以读取当前的线程状态。但是使用仿真器时,由于仿真器不......
  • eCos系统CPU负载测量
    cpuload组件包提供了一种估算CPU负载的方式。它可以估算最近0.1秒、1秒和10秒内的CPU负载百分比。负载测量API首先,必须在被测目标机上对测量算法进行校准,一旦校准完成后就可......
  • 制作RedBoot启动光盘以及下载调试eCos应用
    不是我对软盘有什么意见,反正都是通过虚拟机启动,无论是软盘还是光盘都只是个镜像文件。问题是我使用的VirtualBox虚拟机不支持RedBoot生成的软盘镜像。用二进制工具查看RedBo......
  • 获取eCos堆栈使用情况
    在嵌入式系统中,堆栈是静态分配的,不会依据堆栈的使用情况自动增加堆栈深度,存在堆栈溢出的风险。一旦发生堆栈溢出,后果很严重,可能会立即导致死机,也可能埋了一颗定时炸弹,在随后......
  • 解决 虚拟机VMWARE AUTHORIZATION SERVICE未能启动的四种方法
    转载声明:https://www.freesion.com/article/6159299205/下面记录的方法可以挨个尝试一下.我先用了方式三,然后用了方式一.仅记录个人学习原由最近装系统装上瘾了,要测......
  • 图文详解在VMware Workstation 16 PRO虚拟机上安装Ubuntu 22.04.5 linux系统
    一、下载Ubuntulinux系统镜像机构下载地址官网地址https://cn.ubuntu.com/download南京大学https://mirrors.nju.edu.cn/ubuntu-releases/20.04.5/山东......
  • Linux设置虚拟内存
    一、虚拟内存介绍背景介绍Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存的......
  • 图文详解在VMware Workstation 16 PRO虚拟机上安装Rocky 8.6 linux系统
    一、安装VMwareWorkstation虚拟机下载VMwareWorkstation16PRO虚拟机https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html,下载后安......