0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为MindSDK搭建armgcc编译环境

灵动MM32MCU 来源:灵动MM32MCU 作者:灵动MM32MCU 2023-04-13 14:48 次阅读

引言

Keil或者IAR为嵌入式开发者提供了非常方便的可视化开发环境,但Keil或者IAR是商业软件,需要购买并注册License才能正常使用(Arm提供的社区版License可以供用户免费使用1年)。另外,仍有用户希望使用命令行的方式编译微控制器工程,这些用户可能来自于Linux用户,也可能是某些定制工具开发包的用户,或者搭建自动化持续集成平台的系统维护工程师。此时,搭建开源的armgcc工具集,也是微控制器开发者常用的编译工具解决方案。命令行方式使用的工具,在Linux操作系统中较为常用,但在Windows操作系统中,可以基于MSYS2作为模拟命令行工作环境的虚拟终端,配合armgcc工具集,搭建微控制器开发环境。

本文讲述基于Windows操作系统,搭建 armgcc 编译环境,并支持编译MindSDK样例工程。

安装 MSYS2 环境

MSYS2 是一系列软件工具和软件库,可用于在Windows操作系统上模拟类似于Linux操作系统的命令行运行环境,并且可以使用部分Linux操作系统的部分命令,用以方便地构建、安装和运行本地的应用程序。

在 MSYS2 的官网上,可下载当前最新的安装包。如图1所示。

e20c2516-d9c6-11ed-bfe3-dac502259ad0.png

图1 在MSYS2官网下载MSYS2安装包

如图1所示,下载 msys-x86_64-20220904.exe 安装文件后,即可启动安装过程。安装完成后,启动 MSYS2 程序,可以看到MSYS2的命令行交互终端界面,如图2所示。

e22de8ae-d9c6-11ed-bfe3-dac502259ad0.png

图2 运行MSYS的终端界面

安装完之后,可在 MSYS2 环境的终端下,试用Linux下的文件夹查看命令ls和显示工作目录命令pwd,确认 MSYS2 环境可以正常工作。

MindMotion@DESKTOP-MCR7G5AMSYS~
$ls
MindMotion@DESKTOP-MCR7G5AMSYS~
$pwd
/home/MindMotion


在 MSYS2 环境中安装工具

这里使用 make 作为基本的构建系统工具,但为了便于用户编写构建工程文件 makefile ,选用 cmake 作为创建 makefile 文件的工具。MSYS2 环境中的的包管理器已经提供了可用的 make 和 cmake 工具,可用于安装。

在 MSYS2 环境中安装 make 工具

使用 pacman -Ss 命令,在 MSYS2 中查找可用的 make 工具的安装包:

MindMotion@DESKTOP-MCR7G5AMSYS~
$pacman-Ssmake
...
msys/make4.3-3(base-devel)
GNUmakeutilitytomaintaingroupsofprograms
...

使用 pacman -S 命令,在 MSYS2 环境中安装 make 工具:

MindMotion@DESKTOP-MCR7G5AMSYS~
$pacman-Smsys/make
resolvingdependencies...
lookingforconflictingpackages...

Packages(1)make-4.3-3

TotalDownloadSize:0.46MiB
TotalInstalledSize:1.48MiB

::Proceedwithinstallation?[Y/n]Y
::Retrievingpackages...
make-4.3-3-x86_64466.2KiB538KiB/s00:01[###############################]100%
(1/1)checkingkeysinkeyring[###############################]100%
(1/1)checkingpackageintegrity[###############################]100%
(1/1)loadingpackagefiles[###############################]100%
(1/1)checkingforfileconflicts[###############################]100%
(1/1)checkingavailablediskspace[###############################]100%
::Processingpackagechanges...
(1/1)installingmake[###############################]100%
::Runningpost-transactionhooks...
(1/1)Updatingtheinfodirectoryfile...

运行命令查看版本号,可以确认 make 工具已经安装完成,可以正常使用。

MindMotion@DESKTOP-MCR7G5AMSYS~
$make--version
GNUMake4.3
Builtforx86_64-pc-msys
Copyright(C)1988-2020FreeSoftwareFoundation,Inc.
LicenseGPLv3+:GNUGPLversion3orlater
Thisisfreesoftware:youarefreetochangeandredistributeit.
ThereisNOWARRANTY,totheextentpermittedbylaw.

在 MSYS2 中安装 CMake 工具

使用 pacman -Ss 命令,在 MSYS2 环境中查找 cmake 工具的安装包。

MindMotion@DESKTOP-MCR7G5AMSYS~
$pacman-Sscmake
...
msys/cmake3.21.0-1
Across-platformopen-sourcemakesystem
...

使用 pacman -S 命令,在 MSYS2 环境中安装 cmake 工具

MindMotion@DESKTOP-MCR7G5AMSYS~
$pacman-Smsys/cmake
resolvingdependencies...
lookingforconflictingpackages...

Packages(6)jsoncpp-1.9.5-1libarchive-3.6.1-2librhash-1.4.2-1libuv-1.42.0-1pkgconf-1.8.0-1
cmake-3.23.2-1

TotalDownloadSize:7.80MiB
TotalInstalledSize:41.22MiB

::Proceedwithinstallation?[Y/n]Y
::Retrievingpackages...
jsoncpp-1.9.5-1-any101.2KiB116KiB/s00:01[###############################]100%
libuv-1.42.0-1-x86_64113.1KiB79.1KiB/s00:01[###############################]100%
pkgconf-1.8.0-1-x86_6458.4KiB83.0KiB/s00:01[###############################]100%
librhash-1.4.2-1-x86_64116.5KiB47.8KiB/s00:02[###############################]100%
libarchive-3.6.1-2-x86_641138.4KiB353KiB/s00:03[###############################]100%
cmake-3.23.2-1-x86_646.3MiB1738KiB/s00:04[###############################]100%
Total(6/6)7.8MiB1965KiB/s00:04[###############################]100%
(6/6)checkingkeysinkeyring[###############################]100%
(6/6)checkingpackageintegrity[###############################]100%
(6/6)loadingpackagefiles[###############################]100%
(6/6)checkingforfileconflicts[###############################]100%
(6/6)checkingavailablediskspace[###############################]100%
::Processingpackagechanges...
(1/6)installingjsoncpp[###############################]100%
JsonCppheadersandbuildlibrariesarenowinjsoncpp-devel.
(2/6)installinglibarchive[###############################]100%
(3/6)installinglibrhash[###############################]100%
(4/6)installinglibuv[###############################]100%
(5/6)installingpkgconf[###############################]100%
(6/6)installingcmake[###############################]100%

尝试查看版本号,可以确认 CMake 工具已经安装完成并可正常使用。

MindMotion@DESKTOP-MCR7G5AMSYS~
$cmake--version
cmakeversion3.23.2

CMakesuitemaintainedandsupportedbyKitware(kitware.com/cmake).

在 MSYS2 环境中安装 armgcc 工具集

MSYS2 的包管理器中也包含了 armgcc 的工具集,可以使用pacman搜索 arm-none-eabi-gcc ,找到对应的软件包。

MindMotion@DESKTOP-MCR7G5AMSYS~
$pacman-Ssarm-none-eabi-gcc
mingw32/mingw-w64-i686-arm-none-eabi-gcc10.1.0-2(mingw-w64-i686-arm-none-eabi-toolchain)
GNUToolsforARMEmbeddedProcessors-GCC(mingw-w64)
mingw64/mingw-w64-x86_64-arm-none-eabi-gcc10.1.0-2(mingw-w64-x86_64-arm-none-eabi-toolchain)
GNUToolsforARMEmbeddedProcessors-GCC(mingw-w64)
e2545bf6-d9c6-11ed-bfe3-dac502259ad0.png

图3 在SYS2环境中使用pacman检索 armgcc 工具集

但实际上, armgcc 工具集也提供了Windows操作系统下的可执行文件,因此,这里推荐的做法是,直接下载并解压Windows操作系统的 armgcc 工具集的压缩包,然后在 MSYS2 中引用。这个过程展现了另一种在 MSYS2 环境中集成工具软件的方法,但更重要的是,在Windows操作系统中安装的 armgcc 工具集,同时还可以被其它可用的集成开发环境引用,例如VS Code,这样可以避免重复安装同一个软件包,确保在同一台开发主机上编译器行为的一致性。

在Arm的官网上,可下载Windows操作系统版本对应的armgcc编译器工具包。如图4所示。

e26e414c-d9c6-11ed-bfe3-dac502259ad0.png

图4 在MSYS2官网下载MSYS2安装包

如图4所示页面中,下载 gcc-arm-none-eabi-10.3-2021.10-win32.zip 文件,解压至Windows文件系统的目录中,例如 C:gcc-arm-none-eabi-xxxx 目录。然后,在MSYS2的安装目录下的etc目录下,例如 C:/msys64/etc ,在其中profile文件末尾处添加对gcc-arm-none-eabi工具集的引用路径。

另外,可在MSYS2运行环境中创建`armgcc`_DIR`环境变量,后续编译MindSDK的`armgcc`工程时,将会使用`armgcc`_DIR`环境变量检索`armgcc`编译工具集的路径。

...
echo"###################################################################"
echo"##"
echo"##"
echo"#CAUTION#"
echo"##"
echo"#ThisisfirststartofMSYS2.#"
echo"#YouMUSTrestartshelltoapplynecessaryactions.#"
echo"##"
echo"##"
echo"###################################################################"
echo
echo
fi
unsetMAYBE_FIRST_START
exportPATH="/c/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH"
export`armgcc`_DIR="/c/gcc-arm-none-eabi-10.3-2021.10"

保存更改过的文件后,使用 source 命令,激活对 profile 文件的更新,让更新的内容在 MSYS2 环境中生效。

MindMotion@DESKTOP-MCR7G5AMSYS~
$source/etc/profile

可查看 PATH 变量的最新值,若添加成功,则可观察到已包含 arm-gcc-none-eabi 的引用路径。

MindMotion@DESKTOP-MCR7G5AMSYS~
$echo$PATH
/c/gcc-arm-none-eabi-10.3-2021.10/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl

可试着查看 arm-gcc-none-eabi 工具的版本号,验证 armgcc 可在 MSYS2 中被正常调用。

MindMotion@DESKTOP-MCR7G5AMSYS~
$arm-none-eabi-gcc--version
arm-none-eabi-gcc.exe(GNUArmEmbeddedToolchain10.3-2021.10)10.3.120210824(release)
Copyright(C)2020FreeSoftwareFoundation,Inc.
Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNO
warranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.

至此,基于Windows操作系统,在MSYS2环境中安装armgcc工具链完成。

编译MindSDK样例工程

用户可以在MindSDK的网站上下载适用于 armgcc 工具链创建的工程,即可在 MSYS2 环境中执行编译创建可执行文件。这里以 plus-f5270 开发板上的 hello_world 工程为例。

MindMotion@PF2LD92HMSYS/d/_git_repos/mm32-mcu-sdk/boards/plus-f5270/demo_apps/basic/hello_world/build/armgcc
$ls
CMakeLists.txtarmgcc.cmakebuild.shclean.sh

MindMotion@PF2LD92HMSYS/d/_git_repos/mm32-mcu-sdk/boards/plus-f5270/demo_apps/basic/hello_world/build/armgcc
$./build.sh
--TOOLCHAIN_DIR:/usr/gcc-arm-none-eabi-10-2020-q4-major
--BUILD_TYPE:debug
--TOOLCHAIN_DIR:/usr/gcc-arm-none-eabi-10-2020-q4-major
--BUILD_TYPE:debug
--TheCcompileridentificationisGNU10.2.1
--TheCXXcompileridentificationisGNU10.2.1
--DetectingCcompilerABIinfo
--DetectingCcompilerABIinfo-done
--CheckforworkingCcompiler:/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc-skipped
--DetectingCcompilefeatures
--DetectingCcompilefeatures-done
--DetectingCXXcompilerABIinfo
--DetectingCXXcompilerABIinfo-done
--CheckforworkingCXXcompiler:/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-g++-skipped
--DetectingCXXcompilefeatures
--DetectingCXXcompilefeatures-done
--TheASMcompileridentificationisGNU
--Foundassembler:/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc
--Configuringdone
--Generatingdone
--Buildfileshavebeenwrittento:/d/_git_repos/mm32-mcu-sdk/boards/plus-f5270/demo_apps/basic/hello_world/build/armgcc
Scanningdependenciesoftargetmy_project.elf
[2%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/applications/demo_apps/basic/hello_world/main.c.obj
[5%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/boards/plus-f5270/demo_apps/basic/hello_world/board_init.c.obj
[8%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/boards/plus-f5270/demo_apps/basic/hello_world/clock_init.c.obj
[11%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/boards/plus-f5270/demo_apps/basic/hello_world/pin_init.c.obj
[14%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/devices/MM32F5277E/drivers/hal_power.c.obj
[17%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/devices/MM32F5277E/drivers/hal_pwr.c.obj
[20%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/devices/MM32F5277E/drivers/hal_rcc.c.obj
[23%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/devices/MM32F5277E/drivers/hal_syscfg.c.obj
[26%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/adc_1/hal_adc.c.obj
[29%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/comp_1/hal_comp.c.obj
[32%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/cordic_0/hal_cordic.c.obj
[35%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/crc_0/hal_crc.c.obj
[38%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/dac_1/hal_dac.c.obj
[41%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/dma_1/hal_dma.c.obj
[44%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/exti_0/hal_exti.c.obj
[47%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/flexcan_0/hal_flexcan.c.obj
[50%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/fsmc_0/hal_fsmc.c.obj
[52%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/gpio_0/hal_gpio.c.obj
[55%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/i2c_0/hal_i2c.c.obj
[58%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/i2s_0/hal_i2s.c.obj
[61%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/iwdg_0/hal_iwdg.c.obj
[64%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/lptim_0/hal_lptim.c.obj
[67%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/lpuart_0/hal_lpuart.c.obj
[70%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/mds_0/hal_mds.c.obj
[73%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/rtc_0/hal_rtc.c.obj
[76%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/qspi_0/hal_qspi.c.obj
[79%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/spi_0/hal_spi.c.obj
[82%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/tim_1/hal_tim.c.obj
[85%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/uart_0/hal_uart.c.obj
[88%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/usb_0/hal_usb.c.obj
[91%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/drivers/wwdg_0/hal_wwdg.c.obj
[94%]BuildingCobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/devices/MM32F5277E/system_mm32f5277e.c.obj
[97%]BuildingASMobjectCMakeFiles/my_project.elf.dir/d/_git_repos/mm32-mcu-sdk/devices/MM32F5277E/armgcc/startup_mm32f5277e.S.obj
[100%]LinkingCexecutabledebug/my_project.elf
[100%]Builttargetmy_project.elf

编译成功,创建了 my_project.elf 文件。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7489

    浏览量

    151047
  • Linux操作系统

    关注

    0

    文章

    54

    浏览量

    11029
  • gcc编译器
    +关注

    关注

    0

    文章

    78

    浏览量

    3361
  • vscode
    +关注

    关注

    1

    文章

    154

    浏览量

    7668
  • MM32
    +关注

    关注

    1

    文章

    106

    浏览量

    744

原文标题:灵动微课堂 (第251讲)|为MindSDK搭建armgcc编译环境(Windows版)

文章出处:【微信号:MindMotion-MMCU,微信公众号:灵动MM32MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【MM32F5270】Keil开发环境搭建

    本文是对MM32F5270相关的灵动官网资料和社区现有几篇环境搭建帖的整理和总结。详细且完整的记录了——如何从零搭建MM32F5270 Keil开发环境以及如何
    的头像 发表于 11-06 16:14 2618次阅读
    【MM32F5270】Keil开发<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译

    build_all.sh和clean_all.sh两个脚本添加运行权限,然后设置编译环境变量 export ARMGCC_DIR=\"/mnt/MyNAS/walker/.bin/tools/gcc-arm-none-eabi
    发表于 09-20 23:19

    SemiDrive X9 AI 开发环境搭建

    SemiDrivex9AI开发环境搭建分开发机端,开发板端。主要的工具是SDNN,它是一个基于开源编译器框架TVM的端到端的AI编译器框架,Semidrive对TVM
    的头像 发表于 08-03 08:27 325次阅读
    SemiDrive X9 AI 开发<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    RISC-V编译环境搭建

    以上按位数分可以编译为32位和64位两种,另外就是都可以编译为elf版本和linux版本。
    的头像 发表于 07-17 11:31 1262次阅读
    RISC-V<b class='flag-5'>编译</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    PyTorch深度学习开发环境搭建指南

    PyTorch作为一种流行的深度学习框架,其开发环境搭建对于深度学习研究者和开发者来说至关重要。在Windows操作系统上搭建PyTorch环境,需要综合考虑多个方面,包括软件安装、
    的头像 发表于 07-16 18:29 831次阅读

    ESP IDF编译环境突然崩溃是什么原因引起的?

    我在开发ESP32的过程中,遇到编译问题。Cmake 无法解析我新添加的component。 这个问题是我刚刚遇到的,在这之前一直可以正常编译。不知是什么原因可能导致的编译环境问题呢?
    发表于 06-21 07:31

    VSCODE搭建的IDF编译环境,如何配置调试串口的波特率呢?

    VSCODE搭建的IDF编译环境,如何配置调试串口的波特率呢? 可以支持console命令交互吗?
    发表于 06-18 06:17

    搭建esp32-C3编译环境报错的原因?

    搭建esp32-C3编译环境报错 按照入门说明esp-idf编译配置ok 但esp32-AT安装环境时报错 请帮忙看看 esp-idf 版
    发表于 06-13 06:13

    Purple Pi OH又开外挂!带你搭建编译环境编译Android 11固件

    01介绍今天的文章主题是分享与探讨关于PurplePiOH开发板Android开发之搭建编译环境编译Android固件。如果你是刚开始接触嵌入式Linux开发,也许你会非常疑惑?为什
    的头像 发表于 05-22 08:32 1062次阅读
    Purple Pi OH又开外挂!带你<b class='flag-5'>搭建</b><b class='flag-5'>编译</b><b class='flag-5'>环境</b>及<b class='flag-5'>编译</b>Android 11固件

    鸿蒙OpenHarmony【搭建Ubuntu环境

    支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译
    的头像 发表于 04-19 16:53 1247次阅读
    鸿蒙OpenHarmony【<b class='flag-5'>搭建</b>Ubuntu<b class='flag-5'>环境</b>】

    鸿蒙OpenHarmony【搭建Windows环境

    支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译
    的头像 发表于 04-19 15:42 573次阅读
    鸿蒙OpenHarmony【<b class='flag-5'>搭建</b>Windows<b class='flag-5'>环境</b>】

    TLT507-Android开发环境搭建

    TLT507-Android开发环境搭建
    的头像 发表于 01-26 17:03 567次阅读
    TLT507-Android开发<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    使用VeriStand搭建MIL测试环境

    MIL(Model In The Loop)模型在环仿真测试用于在实际系统搭建完成之前进行模型测试,使用VeriStand搭建MIL测试环境,可以在不需要硬件资源的情况下测试控制模型。
    的头像 发表于 01-05 10:42 4208次阅读
    使用VeriStand<b class='flag-5'>搭建</b>MIL测试<b class='flag-5'>环境</b>

    java环境搭建及配置教程

    Java是一种广泛使用的编程语言,用于开发各种应用程序。在开始学习和使用Java之前,您需要搭建和配置Java开发环境。本教程将提供详细的Java环境搭建及配置指南。 下载Java
    的头像 发表于 12-06 15:50 750次阅读

    php运行环境搭建方法

    搭建PHP运行环境是开发PHP应用程序的基础,本文将详尽、详实、细致地介绍从零开始搭建PHP运行环境的方法,包括选择操作系统、安装Web服务器、安装PHP以及配置相关组件等。 首先,选
    的头像 发表于 12-04 14:56 1213次阅读