vxworks工程移植到sylixos应用笔记

author author     2022-08-22     551

关键词:

1.适用范围

该应用笔记适用帮助用户在RealEvo-IDE开发环境中移植Vxworks应用程序,并部署到SylixOS操作系统上运行,使用到的开发工具为RealEvo-IDE集成开发环境。


2.准备工作
2.1 环境准备
在使用之前,须安装有翼辉信息开发的集成开发套件,由于系统上安装的防火墙软件或者杀毒软件,可能会影响到集成开发软件的使用,因此,在使用本套件前请关闭计算机上的windows防火墙以及杀毒软件。
因后续操作需要在模拟器上进行展示,所以在进行后续章节操作前,请完成mini2440模拟器的配置并启动,具体配置步骤请参考图 2 1中《mini2440模拟器配置启动》。
2.2 资源准备
请通过邮件或U盘拷贝方式从翼辉信息获取ide3.0_vxworks_demo.rar压缩包文件。压缩包包含文件如图 2-1所示。

技术分享


图 2 1工程资源文件

解压后的vxworks_prj是基于Tornado2.2的vxworks工程, Vxworks版本为5.5。vxworks_prj的目录结构如图 2-2所示:

技术分享


图2-2 vxworks_prj目录结构

首先,这里只需将图2-2中的“demo.c”源文件拷贝到vxworks_src目录下即可,然后将vxworks_src和vxworks_base两个工程文件保存到指定路径(不包含中文路径)下。如E:workspace路径下,本文档以该路径作为工程存放路径。
3.原理概述
VxWorks也是一款符合 POSIX 标准的实时操作系统(这一点同 SylixOS 完全相同),因此对于POSIX应用程序开发两款操作系统没有太大的区别,基本可以完全兼容( SylixOS对POSIX标准的兼容度要高于VxWorks),另外SylixOS为了使 VxWorks 开发者能够更快地适应 SylixOS 的程序开发,提供了一套VxWorks 兼容接口。
由于对于VxWorks的应用程序来说,任何函数接口都可以作为程序的入口,但是SylixOS应用程序的入口是main(),所以进行VxWorks应用程序移植的时候,需要增加main函数,通过main函数调用的方式运行VxWorks应用程序。
本文档所提供的VxWorks应用程序主要功能是利用二进制信号量实现两个任务的同步。
4.技术实现
4.1 导入base工程
双击技术分享打开RealEvo-IDE软件,选择菜单“File→Import”,弹出界面如图4-1所示:

技术分享


图4-1选择导入工程类型



进入下一步后,弹出界面如图 4-2所示:

技术分享


图 4-2导入vxworks_base工程



点击“Finish”后,vxworks_base工程的就导入完成了。
4.2新建vxworks_app工程并配置
4.2.1新建vxworks_app工程
选择新建工程类型,操作如图 4-3所示:

技术分享


图 4-3选择新建App工程



选择新建工程类型后,弹出设置工程名界面如图4-4所示:

技术分享


图4-4 设置工程名



进入下一步后,配置vxworks_app工程的SylixOS Base,操作如图4-5所示:

技术分享


图4-5 设置SylixOS Base工程



点击“Finish”,vxworks_app工程的创建就完成了。
4.2.2配置vxworks_app工程
选中“vxworks_app”点击右键,弹出选项菜单,操作如图4-6所示:

技术分享


图4-6 进入工程属性设置



  点击“Properities”后,进行设备配置,操作如图4-7所示:

技术分享


图4-7 配置设备IP



点击“Apply”后,需要继续设置app工程所需动态库,操作如图4-8所示:

技术分享


图4-8设置app工程所需动态库



点击“Apply”后,需要继续设置app工程的头文件路径,操作如图4-9所示:

技术分享


图4-9 设置app工程头文件路径



  点击“OK”后,vxworks_app的配置就完成了。
4.3 导入vxworks源文件
4.3.1移除app工程原有源文件

选中 “vxworks_app.c”,点击右键,操作如图4-10所示:

技术分享


图4-10 移除原有源文件



点击“Delete”后,弹出如图4-11所示界面:

技术分享


图4-11 确认删除



点击“OK”,完成原有源文件的删除。


4.3.2 导入提供的vxworks源文件
选中“src”,点击右键,弹出如图4-12所示界面:

技术分享


图4-12 选择导入



  点击“Import”后,弹出如图4-13所示界面:

技术分享


图4-13 选择导入类型



  点击“Next”,弹出如图4-14所示界面:

技术分享


图4-14 选择导入的文件



  点击“确定”,操作如图4-15所示:

技术分享


图4-15 完成vxworks源文件的导入



    点击“Finish”,vxworks源文件的导入就完成了。
4.4 工程编译并上传
4.4.1 增加main入口
导入“vxworks_app.c”后,增加main函数入口,操作如图4-16所示:

技术分享


图4-16 增加main入口函数



4.4.2 工程编译
选中“vxworks _app”工程,点击技术分享 完成工程编译,操作如图4-17所示:

技术分享

图4-17编译vxworks _app工程

4.4.3工程上传
选中“vxworks_app”工程,点击右键选择“SylixOS→Upload(Alt+D)”即可完成  vxworks_app工程的上传。操作如图4-18所示:

技术分享


图4-18上传vxworks _app工程



4.5 模拟器上运行应用程序
进入SylixOS Shell运行已上传演示程序,操作如图 4-19所示

技术分享


图 4-19运行程序

运行后,出现打印结果,说明应用程序已经在mini2440虚拟机上正常运行。

本文出自 “12547908” 博客,请务必保留此出处http://12557908.blog.51cto.com/12547908/1898684

vxworks驱动移植至sylixos总结(代码片段)

本文档描述了将VxWorks中的驱动源码快速移植至SylixOS中的方法,使用时需要结合SylixOS中的VxWorks兼容层实现。1.驱动注册与初始化1.1VxWorks中驱动注册与初始化1.1.1初始化函数VxWorks中大部分函数使用了VxWorks的VxBus结构,对于基于VxBus... 查看详情

sylixos标准工程移植到lite版本

...如ARMM系列处理器)的开发工作,翼辉信息推出了SylixOSLite工程版本。SylixOSLite版本工程属于SylixOS轻量级工程,与标准的SylixOS工程相比裁剪掉部分功能(如GDB调试、虚拟内存管理、动态装载、部分网络功能等)。  由于Sylix... 查看详情

移植libffi到sylixos

...untu14.04本篇仅介绍libffi库的移植过程,包括资源的获取,工程文件的修改以及编译出错处理。移植后的libffi支持ARM、MIPS、PowerPC和x86平台,本文档以x86平台为例进行移植,在完成本文档的操作步骤后,只需要修改libffi工程所依赖... 查看详情

将 Mongoose Web 服务器移植到 VxWorks

】将MongooseWeb服务器移植到VxWorks【英文标题】:PortingMongooseWebServertoVxWorks【发布时间】:2013-05-2412:16:55【问题描述】:我需要在我的VxWorks应用程序中使用Web服务器来显示支持RPC(例如JSON-RPC)的网页。我认为MongooseWebServer(https://c... 查看详情

sylixos下基于zynq-7000加载fpga程序

...系统启动后进行FPGA程序的在线加载。2、使用方法介绍2.1工程所在目录devcfg驱动模块及应用程序位于本地git仓库中,暂不提供源码,如有需要可自行移植。2.2使用方法2.2.1部署驱 查看详情

sylixos音频驱动移植

...70平台音频驱动的方法总结,以此提供一些SylixOS音频驱动移植方法的参考。2.原理概述2.1 Codec编解码芯片  声音信号分为模拟信号和数字信号,Codec编解码芯片主要功能就是实现模拟信号与数字信号的互相转换。 &nb... 查看详情

《20170906-构建之法:现代软件工程-阅读笔记》

...件和病毒软件。           软件=程序+软件工程          2.软件的特点:复杂性,抽象性,不可见性,易变性,服从性,非连续性,可移植,昂贵的。          3.软件工程是系统的,有序的... 查看详情

《20170911-构建之法:现代软件工程-阅读笔记》

...件分为系统软件,应用软件和恶意软件。软件=程序+软件工程2.软件工程是系统的,有序的,可量化的方法应用到软件的开发,运营,和维护上的过程。3.软件的特点:复杂性,不可见性,易变性,服从性,非连续性,可移植,昂... 查看详情

sylixos普通定时器精度分析

...,本文档介绍普通定时器的精度问题,适用于SylixOS开发工程师,使用者应具备SylixOS基础知识以及基本编程能力。2.实现原理   SylixOS下在应用层创建定时器时系统会申请定时器控制块,在启动定时器时将定时器控制块... 查看详情

cubemx移植野火ili9341触摸画板笔记

...前言本次移植使用CubeMX和Keil5,大致流程为用CubeMX生成一个工程文件不配置任何外设,其后将野火《STM32HAL库开发实战指南》教程中第29个案例触摸画板的相关bsp取出,移植到刚用CubeMX创建的工程中。前期准备CubeMX配置1.配... 查看详情

freertos学习笔记1—freertos移植(代码片段)

1. 新建完整的可以点亮LED灯的工程2.添加FreeRTOS源码2.1.将FreeRTOS的源码拷贝到新建工程的FreeRTOS的文件加下 2.2.Protable文件下只保留Keil、MemMang、RVDS三个文件夹,其余的全部删除2.3.在keil工程新建FreeRTOS_CORE、FreeRTOS_PORTABLE两个... 查看详情

freertos学习笔记1—freertos移植(代码片段)

1. 新建完整的可以点亮LED灯的工程2.添加FreeRTOS源码2.1.将FreeRTOS的源码拷贝到新建工程的FreeRTOS的文件加下 2.2.Protable文件下只保留Keil、MemMang、RVDS三个文件夹,其余的全部删除2.3.在keil工程新建FreeRTOS_CORE、FreeRTOS_PORTABLE两个... 查看详情

sylixos基于nuc970平台的sd驱动移植

...文档为实现Nuc970平台的SD驱动总结,提供一些SylixOSSD驱动移植方法的参考。2.原理概述2.1 控制器类型  SD控制器有两种类型,分为SD标准控制器(SDHCI)和SD非标准控制器。  SylixOSBase代码中实现了SDHCI的驱动,但Nuc970... 查看详情

移植eigen库到sylixos下及使用方法

1.开发环境宿主机:Windows7 集成开发环境:Real-EvoIDE3.5.3 虚拟机:Ubuntu 目标机:x862.Eigen简介Eigen是一个提供了线性代数、矩阵、向量操作等运算的C++库,其中包含了很多算法。Eigen的License是MPL2,支持多平台。 Eigen... 查看详情

sylixos异常调试的手段(代码片段)

1适用范围本文档适用于希望了解当前SylixOS的调试手段的工程师。2cdump系统/应用异常调试手段2.1cdump简介cdump是SylixOS系统下的shell命令,用于系统/应用崩溃的信息记录。cdump可以将内核保存在堆中的异常信息显示出来并清空内核... 查看详情

docker学习笔记

...是一个开源应用容器引擎,可以将应用打包到容器中,并移植到任何流行的Linux机器上。Docker是一个开源应用容器引擎,是为开发者和系统管理员设计的,用来发布和运行分布式应用程序的一个开放性平台,开发者可以将应用及... 查看详情

sylixos下移植glib时clock_gettime函数分析

1.问题分析   移植glib中间件时,运行测试用例出现异常错误,定位问题为g_clock_gettime函数获取的时间和系统API获取的时间不一致导致。   glib中间件中g_get_monotonic_time函数原型如程序清单1.1所示。程序清单1.1... 查看详情

sylixos下移植glib时clock_gettime函数分析

1.问题分析   移植glib中间件时,运行测试用例出现异常错误,定位问题为g_clock_gettime函数获取的时间和系统API获取的时间不一致导致。   glib中间件中g_get_monotonic_time函数原型如程序清单1.1所示。程序清单1.1... 查看详情