在vmware上运行ecos

2023-05-16

目前关于在vmware虚拟机上运行ecos的文章应该是有,我会放到文章最后面的资源链接,所以写这篇文章的目的有两点,一是补充原有文章的不足,在实际操作中遇到的困难。 二是提供其中相关的资源链接,因为ecos大多是资源站点都在境外,下载的速度实在不咋地。
首先搞清楚ecos的系统结构,如图所示,其结构很像Linux的结构,所以在编译方式上也和linux相似,对于有Linux基础人上手就比较容易。主要分为五层,从底层到上层的顺序,分别是平台硬件层、设备抽象层(包含驱动的实现)、内核层(系统层)、标准库或兼容层、应用层。其中Reboot直接对接硬件接口,可以用来启动ECOS系统。
所以编译的顺序同样如上,总共分三步。第一步编译Redboot,包括内核的启动方式,内核加载区域甚至一些串口打印和基本驱动都可以用Redboot实现。第二步编译内核,即ECOS内核,相似于编译Linux内核,在内核中实现了具体的设备驱动,在内核中实现了具体的设备驱动和中断等,以及向量表。最后一步编译应用工程,应用工程实现具体的功能,其绝大多是对系统函数的调用,如果按照linux开发,其设备的抽象层也可以在应用工程中实现,但不属于应用层,可以一起编译,这一点我没有测试。
在这里插入图片描述

  1. 资源下载
    redboot和Ecos都在一个资源包中发布的,所以只需要下载资源包和编译工具即可。目前官方给出的几十个地址都不怎么能用,我怀疑都没人维护这个系统了。我试了下有一个地址可以访问:http://mirror.aarnet.edu.au/pub/sourceware/ecos/releases/ecos-3.0/ http://mirror.aarnet.edu.au/pub/sourceware/ecos/gnutools/i386linux/ecoscentric-gnutools-i386-elf-20081107-sw.i386linux.tar.bz2
    由于我实在VMware,虽然基于64位的系统,但是这个RTOS只能在32位下编译,所以编译工具统一下载i386平台下的GUN开源工具包。

2.编译Redboot
启动图形化配置工具,这个工具默认在/ecos-3.0/tools/bin/configtool,但是我在LinuxDeepin环境下无法启动,应该是操作系统太高,很多人在Ubuntu9.x的环境下是可以的。这里可以使用Ecos-tools独立的工具包,这些我都会打包上传到CSDN中>>>原来的链接是在找不到了!<<<
2.1 Build->Templates选项
Build->Template
2.2 Build->Package
这里增加选中那个选项目的是后面启动时通过Tftp服务加载在宿主机中的应用程序,否则会面临无法加载的尴尬。增加选项后,需要配置tftp的服务器地址。在这里插入图片描述
这里你可以vmware中安装tftp服务器,apt install tftp。。。自行百度,然后看一下宿主机的ip,在回到配置redboot的地方,(记住不要关闭configtool这个配置窗口,像关闭的话可以保存一下,后面再打开你保存的配置文件,否则就要重新配置了。)go on,打开Redboot ROM monitor->build Reboot ROM elf image ->Redboot Networking-> Default ipaddress->default bootp server ,如下图:

在这里插入图片描述
2.3 build->build path
配置编译工具的路径,就是之前下载的gnu开源工具,路径就选在gnutools/i386-elf/bin目录下,其他的目录有问题。
在这里插入图片描述
2.4 build->Library
最后编译成lib库就可以了,一切顺利的话会生成xxx_install 和xxx_build两个目录,在xxx_install 中有reboot.elf,如果配置了build bin image选项,会直接生成bin文件,也可以手动生成, i386-elf-objcopy -O binary boot.elf boot.bin,"i386-elf-objcopy"就在开源工具包下。记得配置全局变量PATH,或者加上长长的目录调用哦

编译中会遇到一些问题,https://blog.csdn.net/easonxiang/article/details/4794297,这篇博客提供了解决措施,其根本在于ecos启用了-Werror选项,警告统一作为错误处理,而程序源码中存在左侧的操作数强制转换问题,这个编译器会报警告,造成无法编译,这个问题在后面的编译内核中也会存在。所以可以改Makefile文件,我是这么操作的,就是去掉上面的选项,或者根据博客中的提示改源码都可以。
在这里插入图片描述
2.5 生成软盘镜像 redboot.flp

dd conv=sync if=redboot.bin of=redboot.flp bs=1440k
后面vmware启动需要这个.flp格式的,就是软盘格式

2.6 启动vmware
新建虚拟机,配置启动方式为软盘启动redboot.flp
建立虚拟机,必须删除ROM和硬盘。
在这里插入图片描述
3. 编译内核
内核编译同上,就是在2.1中将redboot选项换位default即可,跳过2.2,直接走2.3和2.4即可,编译完成,编译后有default_install 和xxx_build两个目录,我们编译应用程序会用到xxxx_install目录

  1. 编译应用程序
    首先搞一个示例出来,从源码中copy一个example,比如twothread.c,
    配置一下PATH,linux中自行百度把,,,i命令如下,一个选项都不能少, -I./之间不要有空格,you Linux编译经验的应该知到。
i386-elf-gcc -I./kernel_install/include/ -L./kernel_install/lib/ -nostdlib -Ttarget.ld twothreads.c 

最后生成a.out文件

  1. 运行程序
    启动redboot,显示如图所示界面,如果没有显示,还配置不出来的话,就面壁去吧。
    在这里插入图片描述
    然后使用命令load a.out,默认会自动从tftp也就是你的服务器目录下去加载这个文件,所以上面i配置的tfp服务器地址一定要准确。接着会显示如下,输入go 运行就可以了。
    在这里插入图片描述
    在这里插入图片描述

  2. 资源链接:
    6.1 https://blog.csdn.net/easonxiang/article/details/5664056
    6.2 https://blog.csdn.net/easonxiang/article/details/4794297
    6.3 http://mirror.aarnet.edu.au/pub/sourceware/ecos/releases/ecos-3.0/
    6.4 http://mirror.aarnet.edu.au/pub/sourceware/ecos/gnutools/i386linux/ecoscentric-gnutools-i386-elf-20081107-sw.i386linux.tar.bz2

6.5 ecos-tools:https://download.csdn.net/download/u013521188/12303397
6.6 GNU:https://download.csdn.net/download/u013521188/12303393
6.7 ECOS源码:https://download.csdn.net/download/u013521188/12303389

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在vmware上运行ecos 的相关文章

  • vmware workstation14连网

    记录一下手残的过程 1 选择NAT形式的连接 2 在桌面的右上角有个圆圈 右击这个图标 会显示一个有线连接 默认是关闭的 3 所以设置成连接状态 4 右击有线连接 进行网络配置 5 所有都配置成自动获取
  • VMware虚拟机下的CentOS7网络配置

    一 虚拟机设置 VMware界面最上面 选择虚拟机 gt 设置 将网络连接改为桥接模式 如下图所示 二 查看主机DNS地址 win R 输入cmd 启动命令行界面 输入ipconfig all 查看主机DNS服务器地址 如下图所示 三 修改
  • Linux怎么使用U盘

    方案一 Linux不像Windows一样 接上新硬件后可以自动识别 在Linux下无法自动识别新硬件的 需要手动去识别 USB移动存储设备通常被识别为sda1 具体可以通过fdisk l命令查询 在使用U盘前 我们先要为外挂点新建一个子目录
  • Vmware安装vmware-tools后,仍无法上网

    步骤总结 保证vmware tools安装完成 参考下文步骤一 上一步骤如遇到问题 重启vmware的操作系统 步骤总结 1 保证vmware tools安装完成 2 参考下文 步骤一 VMware Workstation虚拟机不能联网的解
  • VMware无法连接网络

    运行VMware之后 使用 ip addr 指令查看ip地址的时候发现没有ip地址 打开任务管理器 gt 服务 找到 VMnetDHCP 和 VMware NAT Service 右击运行 配置完之后重启网络
  • VMware安装流畅系统Chrome OS以及国产系统FedyOS(基于Chrome OS的二次开发)

    一 序言 VMware 版本 15 5 6 物理机型号 芯片类型不限制 不向之前发布的vmware安装Mac OS篇 想看的点击这 二 链接资源 Chrome OS CloudReady Home v83 x64 点击进入 提取码 yyds
  • 安装vmware tools时,kernel版本不匹配问题的解决方法

    安装vmware tools 的时候 提示找不到C header files 此种情况下 按以下步骤操作 1 内核安装完毕后 需要用这个命令确定内核 C header 的安装目录 ls d usr src kernels uname r i
  • vmware fusion个人版

    个人免费版虚拟机 不要访问中文网站 以下链接都是英文网站 如果之前将该网站的国家设置成中国 请将其设置回美国后再打开链接 首先注册VMware Fusion Player 账号 并激活 https my vmware com web vmw
  • VMware 14 安装win7x64

    所需工具 VMware17 windows镜像 windows镜像在脚本之家下载的 1 新建虚拟机 文件 gt 新建虚拟机 gt 下一步 2 选择 稍候安装操作系统 下一步 3 选择操作系统和版本 下一步 4 设置虚拟机名称和存放位置 选择
  • 【Linux扩容】Vmware虚拟机内的Linux扩容

    1 虚拟机设置 Vmware 虚拟机 设置 硬盘 扩展 40 64G 2 Linux磁盘扩展 有图形化桌面 GParted 分区上右键 扩展 保存 无图形化桌面 找一个有图形化桌面的Linux live镜像 CD载入 或者LinuxToGo
  • 在VMware中给win10/win7虚拟机配置静态IP地址(保姆级教学,全是干货)

    1 点击VMware菜单栏的编辑 进入虚拟网络编辑器 2 点击更改设置 3 选择NAT模式 取消勾选 使用本地DHCP服务将IP地址分配给虚拟机 然后点击NAT设置 查看并记住网关IP 然后关闭NAT设置窗口 回到虚拟编辑器页面 点击确定
  • 在虚拟机共享目录中安装 npm 模块和 grunt 问题

    我正在尝试构建一个开发环境 但 npm 给我带来了问题 这是我的场景 我有一台运行 Windows 和 VMWare Player 的开发计算机 我有一个 Ubuntu Server VM 无 UI 配置了 Apache PHP NodeJ
  • Kinect / Primesense (Xtion) ROS Ubuntu 通过虚拟机 (VMware)

    由于我花了相当长的时间才弄清楚如何让 Xtion Primesense 在 VMware 上工作 所以我想在这里与大家分享 使用 Kinect 时 即使 VMware 已成功连接该设备 我也无法让 ROS 查看该设备 roslaunch o
  • VMware vFabric 服务器超时

    因此 我下载了 Spring Tool Suite 当我想启动 VMware vFabric tc Server 时 我收到以下消息 服务器 VMware vFabric tc Server Developer Edition v2 6 无
  • 主机名未解析为本地 IP 地址

    我正在 vmware Fusion 中运行 Windows 8 虚拟机 它在运行 OSX 10 10 Yosemite 的 Mac 内运行 VM 的计算机名称为 Proud 当我从内部 ping 虚拟机时 即ping a 192 168 0
  • 通过 USB 记忆棒携带和操作整个开发盒。可行的?

    最近我一直在考虑投资一个有价值的 USB 笔式驱动器 类似于 并在虚拟机上安装操作系统并开始在其上进行开发 我的想法是 我希望能够携带我的开 发箱 成为一名Windows 发行版用于 Net 开发和Linux发行版像 RoR Perl 之类
  • 是否有可能在不更改 HOST 上的内容的情况下从 GUEST 工作站获取 VMWARE HOST 计算机名称? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 假设我有 VMWARE 工作站 来宾 Windows 并由 Windows 托管 有没有可能的方法来接收托管计算机的主机名 并且无需更改主
  • 使用 REST API 通过 PHP 连接到 VCenter 身份验证错误

    我按照官方 vSphere 站点中的说明从服务器和答案中获取信息这里的另一个用户 https stackoverflow com a 49324757 12013253 据我了解 首先我必须获取会话id cis id 但结果我得到 null
  • 将我的本地地址重定向到我的虚拟机

    我正在做一个学术项目 没什么专业的 想知道我是否可以设置一个规则 允许我将我的本地 IP 地址重定向到我的虚拟机地址 虚拟机是一个 HTTP 服务器 所以我需要检查我的从同一网络上的其他计算机上访问网站 在其他计算机中 我将写入我的服务器计
  • 用于访问 VMware vSphere PowerCLI 的 C# 代码 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有 C 代码通过 PowerCLI 或其他方式访问 vSphere API 的示例 对于测试自动化

随机推荐

  • 问题解决: SSR 的 1080 端口被占用

    问题解决 xff1a SSR 的 1080 端口被占用 在我的博客 故障解决 xff1a 端口已被占用 1080 中已经讨论了一些方法 xff0c 但也不是每次都能成功 对于 SSR xff0c 我们完全可以换一种思路 xff1a 既然 1
  • USB开发简述

    由于工作需要 xff0c 接触了USB xff0c 经过这两三周的学习 xff0c 我只想说一句 xff0c 我们USB说简单也简单 xff0c 说复杂也有那么多知识 xff01 这怎么说呢 xff1f 简单 xff1a 无非就那几个结构体
  • 基于PX4六旋翼无人机百米悬停定点降落

  • 手把手教你实现ROS Melodic+Realsense D435i

    硬件配置 xff1a HP ProDesk 480 G6 MT 系统内存 xff1a 8G 处理器 xff1a Intel i7 8700 CPU 操作系统 xff1a Ubuntu 18 04 相机配置 xff1a Intel Reals
  • pixhawk调试过程中QGC报错显示问题及解决方案汇总

    1 室内环境下解锁无人机 xff0c 报错 xff1a Not arming geofence RTL requiers valid home 解决 xff1a 去掉安全设置里面的地理围栏 xff0c 否则只能在有GPS的环境下解锁
  • pixhawk4连接PX4 Flow光流传感器调试过程记录

    主控型号 Pixhawk4 光流型号 PX4 FLow V1 3 地面站 QGroundControl 1 拔掉PX4 Flow连接Pixhawk4的连接线 用USB连接PX4 Flow 打开QGC地面站 烧写固件 烧写完成后就可以在QGC
  • 使用Xshell连接Ubuntu主机失败

    1 问题 在将一台Ubuntu系统的电脑作为服务器 xff0c 使用Xshell连接时 xff0c 发生如下错误 此时使用ping工具检查是否能够ping通 说明能够连接上 xff0c 但是不能使用Xshell进行远程操作 2 解决方法 首
  • P900数传参数配置

    端口定义 xff1a xff08 从左往右 xff09 GND RX TX 5V 调试软件 xff1a X CTU 启动调试 xff1a 按住数传板上SW2 xff0c 同时按住SW1 xff0c 然后松开SW2 xff0c 再松开SW1
  • 利用ROS实现PX4 offboard板外控制

    基于ROS Melodic xff0c 以px4开发者手册实例程序为例 xff0c 实现gazebo下无人机起飞两米悬停 xff0c 具体操作分为三步 xff1a 1 创建工作空间 xff0c 建立offboard包 2 构建mavros
  • Jetson TX2开发板配置Intel T265环境的必要解决方式

    在Jetson TX2配置T265相关依赖时会发生错误 xff0c 因此需要提前对相关参数进行设置 xff0c 主要要将网络设置里面的相关参数改成下图的配置 xff1a
  • pixhawk日志ulg格式转matlab数据csv格式

    1 windows下打开Anconda Prompt xff0c 执行pip install pyulog安装pyulog包 2 在日志文件所在文件夹下执行ulog2csv 文件名 ulg即可生成相关的csv文件
  • 悲催的秋招之路

    个人情况 双非工科硕 民办本 专科起点 基础不行 专业知识不扎实 无技术无论文无项目 投递记录 企业名称 投递时间 岗位1 岗位2 岗位3 岗位4 国电南自 2021 5 19 嵌入式软件研发工程师 民生银行 2021 5 26 金融科技方
  • Matlab读取EXCEL文本中的数据并绘制二维三维曲线图脚本

    Matlab读取EXCEL文本中的数据并绘制二维三维曲线图需要将EXCEL保存为CSV格式 xff0c 然后取数据成矩阵进行处理 转CSV的方式 xff1a pixhawk日志ulg格式转matlab数据csv格式 1 导入文件 span
  • 零基础教会你用github创建个人博客网站

    1 创建账号 进入github网站 xff0c 在网站首页右上角进行用户注册 2 填写相关信息 按照提示填写相关信息完成用户注册 3 搭建个人博客库 进入个人主页 xff0c 在右上角选择 43 好 xff0c 进入 new reposit
  • SV2-4G移动终端使用配置与使用

    一 硬件连接 1接位置天线 xff0c 2接方向天线 xff0c 3接4G天线 xff0c 4接GPS配置专用线 xff0c 5接4G配置专用线 二 运行状态识别 1处为指示灯 xff08 运行 SIM卡 网络 电源 xff09 xff0c
  • yapi插件开发及安装的一些备注

    yapi官方文档有些缺失 xff0c 这里做一下补充 xff0c 官方文档地址 xff1a https hellosean1025 github io yapi documents redev html 插件开发需要调试 xff0c 这个需
  • VSCode修改编辑器(代码窗口)背景色

    VSCode 的背景色是放在主题里面定义的 xff0c 所以在vscode的设置中无法修改到编辑器也就是代码窗口的背景色 xff0c 对应想要自定义编辑器背景的同志们来说 xff0c 可以通过修改主题文件来实现 xff0c 操作起来也并不复
  • ros下tcp通信的过程

    ros框架下的tcp通信的过程 博主在编写一个需要通过wifi传输两个整数和一个状态的问题中 xff0c 通过构建ros xff08 Ubuntu16 04 框架下的tcp c 43 43 通信过程解决了问题 一 ros串口通信的实现 首先
  • Ecos操作系統查看进程信息

    由于最近公司用到了ecos操作系统 xff0c 所以简单的了解了一下这个RTOS xff0c 其相关的社区资源较少 xff0c 国内基本不用 xff0c 这里结合手册整理了一部分的内容 本文章主要两部分 xff0c 一是建立基本的测试进程
  • 在vmware上运行ecos

    目前关于在vmware虚拟机上运行ecos的文章应该是有 xff0c 我会放到文章最后面的资源链接 xff0c 所以写这篇文章的目的有两点 xff0c 一是补充原有文章的不足 xff0c 在实际操作中遇到的困难 二是提供其中相关的资源链接