[Linux]嵌入式 Arm-aarch64 开发环境搭建

本文提供了一套全面的Ubuntu20.04系统优化方案,包括更换阿里源加速更新,安装核心开发工具,配置exvim增强编辑器功能,安装Chrome及搜狗拼音输入法提升用户体验,设置ZSH shell个性化环境,安装串口工具便于设备调试,以及移除不必要的预装软件以节省系统资源。

0 , 首先换源,要不然前面的过程会很浪费时间,推荐阿里源, Ubuntu Mate 18.04

可以参考我的另一篇文章。
[Linux]Ubuntu 20.04换阿里源

1, 基本工具

sudo apt-get install gcc gcc-aarch64-linux-gnu \
vim git build-essential kernel-package fakeroot bison flex \
automake autoconf libtool make \
libncurses5-dev libncursesw5-dev \
device-tree-compiler zlib1g-dev libssl-dev

2,exvim

git clone https://github.com/exvim/main
cd main/
sh unix/install.sh
sh unix/replace-my-vim.sh
sudo apt-get install ctags id-utils cscope silversearcher-ag

在下面目录里,把默认的ex工程样式改为nerdtree样式:
~/.vim/bundle/ex-vimentry/autoload/vimentry.vim
在这里插入图片描述

3,chrome sogou拼音

4,zsh+oh-my-zsh

sudo apt-get install -y zsh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s $(which zsh)

5,串口工具

sudo apt-get install minicom ckermit
vim ~/.kermrc

填入以下内容

set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5

6,删除自带软件

sudo apt-get autoremove libreoffice-common
sudo apt-get autoremove totem rhythmbox empathy brasero simple-scan aisleriot cheese transmission-common	
<think> 我们正在回答用户关于g++-aarch64-linux-gnu和gcc-aarch64-linux-gnu的介绍问题。根据用户要求,我们需要清晰解释这两个工具链组件的含义、区别以及用途。 用户在上一次的问题中涉及安装指定版本的交叉编译工具链,现在转而询问这两个工具的具体介绍。 注意:用户提供的引用[1]仅作为环境搭建问题的参考,当前问题聚焦于工具链介绍。 回答结构: 1. 分别介绍gcc-aarch64-linux-gnu和g++-aarch64-linux-gnu是什么,以及它们在交叉编译中的作用。 2. 解释两者的区别与联系。 3. 简要说明在什么情况下会使用它们。 注意事项: - 使用中文回答 - 行内数学表达式(如果需要)使用$...$格式(本题可能不需要数学表达式) - 独立公式单独成段(本题可能不需要) - 生成相关问题 - 在引用段落末尾添加引用标识(本题暂无直接引用,但需注意用户提供的引用仅供参考) 生成回答: </think> ### g++-aarch64-linux-gnu 与 gcc-aarch64-linux-gnu 介绍 #### 1. **gcc-aarch64-linux-gnu** - **定义**:GNU 交叉编译器套件,用于将 C 语言源代码编译成可在 **ARM64/AArch64 架构** Linux 系统上运行的机器码。 - **核心功能**: - 支持 ARMv8 及以上指令集架构(ISA) - 生成针对 Linux 内核与 glibc 库优化的二进制文件 - 含预处理器、编译器、汇编器、链接器等工具链组件 - **典型应用场景**: - 嵌入式开发(如树莓派、NVIDIA Jetson) - 移动设备应用编译(Android ARM64 平台) - 云服务器(AWS Graviton、阿里云倚天实例) - **输出文件类型**:可执行文件(ELF 格式)、静态库(.a)、动态库(.so) #### 2. **g++-aarch64-linux-gnu** - **定义**:GNU 交叉编译器套件,专用于编译 **C++ 语言** 到 ARM64 Linux 平台的工具。 - **与 gcc-aarch64-linux-gnu 的关系**: - 共享相同的后端工具链(汇编器、链接器等) - 额外集成 C++ 标准库(libstdc++)和 C++ 运行时支持 - 支持 C++11/14/17/20 等语言标准 - **关键特性**: - 完整支持 C++ 模板、异常处理、RTTI 等特性 - ARM64 优化的 STL 实现 - 提供 `aarch64-linux-gnu-g++` 入口命令 #### 3. **工具链组成对比** | 组件 | gcc-aarch64-linux-gnu | g++-aarch64-linux-gnu | |---------------------|-----------------------------|-----------------------------| | **前端语言** | C | C++ | | **核心命令** | `aarch64-linux-gnu-gcc` | `aarch64-linux-gnu-g++` | | **标准库** | glibc (C库) | glibc + libstdc++ (C++库) | | **头文件路径** | `/usr/aarch64-linux-gnu/include` | 同左 + C++ 标准头文件 | #### 4. **典型编译示例** ```bash # C程序交叉编译 aarch64-linux-gnu-gcc -o hello_arm hello.c # C++程序交叉编译 aarch64-linux-gnu-g++ -std=c++11 -o demo_arm demo.cpp ``` #### 5. **版本管理建议** 安装特定版本时需明确软件命名规则(参考您提供的引用[^1]): ```bash # 安装gcc-5的ARM64交叉编译套件 sudo apt-get install gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山猫Show

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值