目录
RealEvo-IDE 是 SylixOS 专用的集成开发环境,RealEvo-IDE 使 SylixOS 应用程序、BSP、驱动程序、共享库的开发简单高效。RealEvo-IDE 的 GCC 工具链是在标准 GCC 的基础上,加入了 SylixOS 相关元素与更加高效的库文件形成的符合 SylixOS 要求的编译工具。交叉编译环境下并不使用 RealEvo-IDE 工程管理,但需要 RealEvo-IDE 中的编译工具链。
MSYS(Minimal GNU(POSIX)system on Windows)是一种在 Windows 操作系统上运行类似于 Unix 操作系统的环境的软件工具。它旨在为开发者提供在 Windows 平台上进行软件开发时更接近 Unix/Linux 环境的体验。
MSYS 提供了一组工具、库和 Shell,使开发者能够在 Windows 上使用类似于 Linux/Unix 的命令行工具和开发环境。它还包括了类似于 GNU 工具(例如 bash、make、grep 等)的软件,这些工具通常在 Unix/Linux 系统上使用。
MSYS 最初是为了让开发者在 Windows 上更轻松地移植和编译开源项目而创建的,特别是那些原本在 Unix/Linux 环境下开发的项目。它为开发者提供了一种在 Windows 上进行跨平台开发的方式。
在 MSYS 的基础上,还有一个叫做 MSYS2 的项目,它进一步扩展了 MSYS 的功能。MSYS2 是一个完整的软件分发平台,旨在为 Windows 用户提供一个现代化的开发环境,使用户能够轻松地使用类似于 Unix/Linux 的工具和库进行开发。它不仅提供了类似于 MSYS 的环境,还包括了一个软件包管理器(pacman),用于安装、更新和管理各种开发工具、库和应用程序。
MSYS 和 MSYS2 主要区别和关系:
继承关系: MSYS2 可以看作是对 MSYS 的继承,因为它保留了 MSYS 的一些核心概念和工具,同时在此基础上添加了更多的功能和更新的软件包。
软件包管理器: MSYS2 引入了一个名为 pacman 的软件包管理器,用于从 MSYS2 软件源中下载和安装软件包。这使得安装和管理开发工具和库变得更加便捷。
软件包更新和维护: MSYS2 通过不断维护和更新软件包,提供了更现代和稳定的软件环境。相比之下,MSYS 的软件包更新可能相对有限。
完整性和功能: MSYS2 提供了更丰富和现代化的工具和库,使开发者能够更好地进行跨平台开发和应用程序构建。
用户体验: MSYS2 更注重用户体验,并提供了更多的文档和支持,以帮助开发者使用它的功能。
MinGW 介绍
MinGW(Minimalist GNU for Windows)是一个开源的基于 GNU 的编译器套件,可用于编译 Windows 下的 C 和 C++ 程序。它是一个独立的技术,并不依赖于 Microsoft Windows SDK,也不受 VC++ 的影响,支持多种编译器。MinGW 本质上就是一个用于在 Windows 上进行 C/C++ 开发的工具包。
MinGW 的主要特点包括:
轻量级: MinGW 旨在提供一个精简的开发环境,使开发者能够轻松地使用 GNU 工具,而无需太多的依赖和复杂性。
GNU 工具链: MinGW 包含了 GNU 工具链,包括 gcc 编译器、ld 链接器等,这些工具通常在 Unix/Linux 系统上使用。这使得开发者可以在 Windows 上使用相似的工具进行编程。
原生 Windows 应用程序: 使用 MinGW,开发者可以编写和编译原生的 Windows 应用程序,而无需依赖于大型的开发环境,如 Visual Studio。
命令行开发: MinGW 主要面向命令行开发,使开发者能够在命令行中使用 GNU 工具来编写、编译和构建应用程序。
兼容性: MinGW 生成的应用程序可以直接在 Windows 上运行,不需要额外的运行时库。
开源: MinGW 是一个开源项目,有一个活跃的社区支持,提供了丰富的文档和资源。
MinGW 是一个在 Windows 上提供类 Unix 开发体验的工具,它使开发者能够使用 GNU 工具链来创建原生的 Windows 应用程序。
2 RealEvo-IDE安装
安装教程参考SylixOS 实时操作系统-翼辉信息 (acoinfo.com)
安装 RealEvo-IDE 前您需要先获取安装包和注册码,获取方式如下:申请?体验版 RealEvo-IDEopen in new window。申请网站:SylixOS 集成开发套件-翼辉信息 (acoinfo.com)。
图 1?IDE界面
进入 RealEvo-IDE 安装引导窗口后,连续单击 下一步 至组件选择对话框
在组件选择对话框中,选择所有可选编译器。单击?安装,等待 RealEvo-IDE 自动安装完成即可
安装完成后将弹出 IDE 注册界面,在注册界面顶部编辑框输入授权序列号(序列号跟随光盘或通过邮件获取),单击 Generate Register Code 进入硬盘和网卡选择对话框。
在硬盘和网卡选择对话框中选择需要绑定的硬盘和网卡,单击 OK 生成注册码。
3 MSYS2环境搭建
参考SylixOS 实时操作系统-翼辉信息 (acoinfo.com)
通过Index of /distrib/x86_64/ (msys2.org)下载 msys2 最新版本。打开网站找到最新时间戳的 exe 文件,下载并安装。
根据自己的系统选一个最新版本的msys2安装包。
打开 msys2 安装目录,找到 msys2.ini 文件。
打开?msys2.ini?文件,修改?MSYS2_PATH_TYPE=inherit,如图所示,把注释打开并保存文件。
双击目录下的?msys2.exe,启动 msys2 程序。在?$?的后面输入?echo $PATH?命令,查看环境变量是否生效。如果出现类似下图所示,则说明环境变量配置完成。
Msys2的具体搭建步骤参考SylixOS 实时操作系统-翼辉信息 (acoinfo.com)
按照教程一步步来即可。
安装好 MSYS2 后,可以直接在 MSYS2 终端使用?pacman -S autoconf automake libtool?命令完成 Autotools 系列工具的安装。
参考SylixOS 实时操作系统-翼辉信息 (acoinfo.com)
Cmake下载的时候选较新的版本即可。下载地址:Download CMake
我选的这个版本。
安装 MSYS2
MinGW
RealEvo-IDE(仅需要 IDE 生成编译 Base 工程的参数信息)
在任意文件下创建helloworld文件夹,并在文件夹中创建helloworld.c文件,文件内容如下
#include<stdio.h>int?main(int?argc,?char**?argv){ ????printf("Hello SylixOS!\n"); ????return?(0);} |
打开 msys2 终端,进入 HelloWorld 源码目录,参考 Base 工程编译参数和过程,对 HelloWorld.c 文件进行编译生成 HelloWorld.o 文件,然后进行连接,最终生成 HelloWorld 可执行文件。部署 HelloWorld 文件到 Zyzq7000 平台即可运行测试。
进入helloworld文件夹后,直接编译会报错,提示没有arm-sylixos-eabi-gcc,实际上我们在编译base工程的时候已经使用了gcc,解决办法,通过everything查找arm-sylixos-eabi-gcc可执行程序,进入其目录。
在arm-sylixos-eabi-gcc所在目录下执行以下命令
arm-sylixos-eabi-gcc.exe -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=auto -mno-unaligned-access -fno-strict-aliasing \ -O2 -g1 -gdwarf-2 -Wall -fmessage-length=0 -fsigned-char -fno-short-enums ??-fPIC -DSYLIXOS \ -I"C:\Users\Administrator\workspace\0117\xiaoming\libsylixos\SylixOS" \ -I"C:\Users\Administrator\workspace\0117\xiaoming\libsylixos\SylixOS\include" \ -I"C:\Users\Administrator\workspace\0117\xiaoming\libsylixos\SylixOS\include\network" \ -c helloworld.c -o helloworld.o |
红框框部分的文字从IDE中找出公共的部分
-I表示base文件生成的include文件所在的地址,查找方式如下:
生成的helloworld.o文件
在arm-sylixos-eabi-gcc所在目录下执行以下命令
./arm-sylixos-eabi-gcc.exe -mcpu=cortex-a9 ?-nostdlib -Wl,-shared -fPIC -shared D:\\000\\helloworld.o -L"C:\Users\Administrator\workspace\0117\xiaoming\libsylixos\Release" \ -L"C:\Users\Administrator\workspace\0117\xiaoming\libsylixos\Release" \ -L"C:\Users\Administrator\workspace\0117\xiaoming\libcextern\Release" \ ?-lcextern -lvpmpdm -lm -lgcc -o D:\\000\\helloworld |
这从base工程的这里找到
这是第1.2.2编译的.o工程文件的位置
路径查找与1.2.2一致
生成的工程文件存放位置。
生成的helloworld工程文件
将可执行文件放在通用验证平台上,并运行