麒麟OS怎么安装各种嵌入式开发工具

云伟大大_8458

云伟大大_8458

2026-06-23

962人浏览

原创

在麒麟os上搭建嵌入式开发环境需按目标芯片选型匹配工具链:arm平台推荐apt安装arm-linux-gnueabihf或手动部署linaro gcc;risc-v需源码编译riscv-gnu-toolchain;调试烧录依赖openocd与j-link驱动;vs code需配置cortex-debug等插件并指向对应gdb路径。

麒麟os怎么安装各种嵌入式开发工具

您需要在麒麟OS上搭建嵌入式开发环境,但系统默认未预装交叉编译工具链、调试器或烧录工具,不同芯片平台(如ARM Cortex-A/M系列、RISC-V)要求的工具链架构、版本和依赖各不相同,必须按目标芯片选型匹配安装方式。

安装ARM交叉编译工具链(适用于Cortex-A/M系列)

银河麒麟V10桌面版与服务器版均支持ARM64原生运行,但嵌入式开发需的是针对目标板(如STM32、i.MX6、RK3399)的交叉编译器,而非本机gcc。

方法一:APT源安装预编译arm-linux-gnueabihf工具链(推荐x86_64主机开发ARM目标)

1、更新软件源并安装核心工具链包:【sudo apt update && sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf】

2、验证是否可用:arm-linux-gnueabihf-gcc --version。若提示“command not found”,说明当前源未启用multiverse组件,需先执行sudo add-apt-repository multiverse再更新。

3、安装配套库头文件(否则编译u-boot或Linux内核会报missing ):sudo apt install libc6-dev-armhf-cross

方法二:手动下载Linaro GCC工具链(适用于需指定版本或ARM64目标板)

1、访问Linaro官网下载页(https://www.linaro.org/downloads/),选择对应年份的

2、解压至/opt/toolchains:sudo tar -Jxf gcc-linaro-*.tar.xz -C /opt/toolchains/

3、添加路径到用户环境:echo 'export PATH=/opt/toolchains/gcc-linaro-*/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

注意:此路径下生成的aarch64-linux-gnu-gcc必须能调用,否则后续make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-将失败。

安装RISC-V交叉编译工具链(适配平头哥、芯来等国产RISC-V芯片)

麒麟OS对RISC-V支持正在增强,但官方源暂未收录riscv64-elf-gcc,必须通过源码编译或第三方镜像安装。

第一步:安装基础构建依赖

sudo apt install build-essential git python3-pip gawk bison flex texinfo libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev libexpat1-dev

第二步:克隆并编译riscv-gnu-toolchain(推荐使用riscv-tools仓库维护的稳定分支)

1、克隆仓库:git clone --recursive https://github.com/riscv/riscv-gnu-toolchain.git ~/riscv-toolchain

2、进入目录并配置:cd ~/riscv-toolchain && ./configure --prefix=/opt/riscv --with-arch=rv64imac --with-abi=lp64

3、开始编译(耗时约40分钟,建议加-j$(nproc)加速):make -j$(nproc)

4、安装到目标路径:sudo make install

5、写入环境变量:echo 'export RISCV=/opt/riscv' >> ~/.bashrc && echo 'export PATH=$RISCV/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

这一步完成后,riscv64-unknown-elf-gcc应可直接调用;若提示libisl.so.23缺失,需执行sudo apt install libisl23。

安装OpenOCD调试与烧录工具

OpenOCD是连接JTAG/SWD调试器(如ST-Link、J-Link、DAPLink)与目标芯片的核心服务,麒麟OS需确保其支持对应调试器固件协议。

方法一:APT安装稳定版(适用于ST-Link V2/V3及常见CMSIS-DAP设备)

MarsCode
MarsCode

MarsCode 是一款带有 AI 编程助手和云开发环境的 AI IDE 工具。

下载

sudo apt install openocd

验证:openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg → 若输出“Info : STLINK V2J37M25”即成功识别。

方法二:从源码编译最新版(解决国产调试器兼容问题,如全志DAPLink或安谋科技JTAG)

1、安装编译依赖:sudo apt install autoconf automake libtool pkg-config libusb-1.0-0-dev libftdi1-dev libhidapi-dev

2、下载源码并编译:【git clone https://git.code.sf.net/p/openocd/code openocd && cd openocd && ./bootstrap && ./configure --enable-stlink --enable-jlink --enable-cmsis-dap --prefix=/usr/local】

3、执行编译安装:make -j$(nproc) && sudo make install

4、更新动态库缓存:sudo ldconfig

安装J-Link驱动与命令行工具

SEGGER J-Link调试器在麒麟OS上需专用驱动支持,官方提供ARM64/x86_64双架构安装包,不可混用。

1、访问SEGGER官网下载页(https://www.segger.com/downloads/jlink/),选择“J-Link Software and Documentation Pack”对应架构版本(如JLink_Linux_V798_x86_64.deb 或 JLink_Linux_V798_arm64.deb)

2、安装deb包:sudo dpkg -i JLink_Linux_*.deb

3、若提示依赖缺失,立即修复:sudo apt --fix-broken install

4、验证设备识别:JLinkExe → 输入“connect” → 选择接口(SWD/JTAG)→ 输入目标芯片型号(如nRF52840)→ 成功后显示“Connected to target.”

注意:首次运行JLinkExe时,系统可能弹出USB权限提示,需将当前用户加入plugdev组:sudo usermod -aG plugdev $USER,然后重新登录终端生效。

配置VS Code嵌入式开发插件环境

VS Code是麒麟OS上最主流的嵌入式IDE前端,需搭配C/C++、Cortex-Debug、PlatformIO等插件协同工作。

第一步:确认VS Code已安装且为最新版

若尚未安装,请先执行APT安装流程(见知识库“麒麟OS怎么安装VSCode”章节),确保code命令可调用。

第二步:安装必要插件

1、启动VS Code,在扩展市场搜索并安装:【Cortex-Debug】【C/C++】【PlatformIO IDE】

2、重启VS Code,打开一个含CMakeLists.txt的嵌入式项目目录

3、按Ctrl+Shift+P打开命令面板,输入“Cortex-Debug: Configure” → 自动生成launch.json,其中miDebuggerPath字段必须指向已安装的arm-none-eabi-gdb路径(如/usr/bin/arm-none-eabi-gdb)

4、PlatformIO初始化时,若提示“Python not found”,需确保系统已安装Python 3.10+并执行pip3 install platformio

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2068

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

939

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

367

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

307

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

346

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

560

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1389

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1177

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1305

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Lua 5.3 中文开发手册
Lua 5.3 中文开发手册

共0课时 | 0人学习

linux嵌入式开发+驱动开发视频教程
linux嵌入式开发+驱动开发视频教程

共39课时 | 9.3万人学习