32位Arm嵌入式开发Ubuntu环境设置

news2024/10/6 8:18:58

32位Arm嵌入式开发Ubuntu环境设置

  今天在调试一块32位ARM A7开发板时老是不成功,我装的是Ubuntu22.04版,在终端下运行工具链里的gdb程序居然报了一大堆错误,缺这个缺那个,按照提示装了一遍,再运行发现需要Python2.7环境,好吧再装Python2.7,装了之后运行显示各种环境不匹配。没办法高版本的Ubuntu好像是放弃了Python2,做了很大调整,只好装回Ubuntu低版本了,我装回了18.04版本,一年没装环境都有些生疏了,踩了几个坑,这里记录一下安装配置过程,避免下次再踩。

文章目录

  • 32位Arm嵌入式开发Ubuntu环境设置
    • 1.安装VMWare虚拟机Ubuntu18.04
    • 2.设置root用户密码
    • 3.更新系统软件
    • 4.安装文本编辑器
    • 5.安装虚拟机工具VMWare Tools
    • 6.设置共享目录
    • 7.安装各种开发工具和依赖软件

1.安装VMWare虚拟机Ubuntu18.04

这个就不再赘述了,网上有很多教程。
注意:安装完毕重启后,系统会弹出对话框问你要不要升级到高版本Ubuntu20.04,选择不升级!

2.设置root用户密码

安装完Ubuntu后,第一件事就是修改root的密码。

sudo passwd root

3.更新系统软件

将ubuntu内的软件更新一遍,按顺序运行下面两个命令:

sudo apt-get update
sudo apt-get upgrade

4.安装文本编辑器

安装终端下的文本编辑器VIM和图形界面下的文本编辑器gedit。

sudo apt-get install vim
sudo apt-get install gedit

5.安装虚拟机工具VMWare Tools

注意:不要安装VMWare自己的VMTools工具,不好用,安装开源的VMTools工具

sudo apt-get install open-vm-tools-desktop

安装VMTools后,一个是虚拟机屏幕可以根据窗口大小自动调整了,第二个是可以和宿主机Windows之间互相拷贝复制文件了。

6.设置共享目录

如果不安装VMTools,ubuntu虚拟机想和宿主机之间拷贝文件可以设置共享目录。
在VMWare中选中Ubuntu虚拟机,点击右键选择“设置”,在设置界面中选择“选项”,如下图:
在这里插入图片描述
选择“共享文件夹”,如下图设置:
在这里插入图片描述
点击“添加”,将宿主机某个目录作为共享目录添加进去即可。
在这里插入图片描述
在这里插入图片描述
点击“完成”。重新启动Ubuntu虚拟机。可以在“/mnt/hgfs”目录下看到共享目录,这样就可以互相拷贝文件了。

7.安装各种开发工具和依赖软件

这一步要安装gcc、gdb、make、32位程序运行库等等一大溜。我从开发板的配套软件中发现了一个脚本挺好用,直接执行此脚本以上软件就都装上了。install_tools.sh脚本如下:

# /bin/sh
sudo apt-get install nfs-kernel-server -y
sudo apt-get install samba -y
sudo apt-get install ssh -y
sudo apt-get install gcc -y
sudo apt-get install autoconf -y
sudo apt-get install patch -y
sudo apt-get install wget -y
sudo apt-get install texinfo -y
sudo apt-get install zlib1g-dev -y
sudo apt-get install dos2unix -y
sudo apt-get install git -y
sudo apt-get install gnupg -y
sudo apt-get install flex -y
sudo apt-get install bison -y
sudo apt-get install gperf -y
sudo apt-get install build-essential -y
sudo apt-get install zip -y
sudo apt-get install curl -y
sudo apt-get install libc6-dev -y
sudo apt-get install libncurses5-dev:i386 -y
sudo apt-get install x11proto-core-dev -y
sudo apt-get install libx11-dev:i386 -y
sudo apt-get install libreadline6-dev:i386 -y
sudo apt-get install libgl1-mesa-glx:i386 -y
sudo apt-get install libgl1-mesa-dev -y
sudo apt-get install g++-multilib -y
sudo apt-get install tofrodos -y
sudo apt-get install python-markdown -y
sudo apt-get install libxml2-utils -y
sudo apt-get install xsltproc -y
sudo apt-get install zlib1g-dev:i386 -y
sudo apt-get install gawk -y
sudo apt-get install libssl-dev -y
sudo apt-get install u-boot-tools:i386 -y
sudo apt-get install cmake -y
echo "deb http://us.archive.ubuntu.com/ubuntu trusty main universe" | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt-get install mingw32 -y
sudo dpkg-reconfigure dash
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

在Ubuntu中建立sh脚本文件并用gedit打开,将上面内容拷贝进去。

touch install_tools.sh

做好文件后还要更改执行权限:

chmod 777 install_tools.sh

开始安装:

./install_tools.sh

安装过程中如果弹出下面窗口,选择“NO”即可。
在这里插入图片描述
这样整个嵌入式开发环境就安装完毕了,你可以再安装自己的SDK或工具链等。
安装过后可以测试一下,我是安装了我开发板的工具链后执行gcc看看是否成功:

./arm-linux-gnueabihf-gcc -v

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1900425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NSK发布新版在线计算工具

July 01, 2024 NSK Ltd. Corporate Communications Department NSK Ltd. announced today that it has improved the engineering tools available on its website. The new engineering tools — NSK Online Catalog, Technical Calculations, and 2D/3D CAD Data — which …

STM32第十五课:LCD屏幕及应用

文章目录 需求一、LCD显示屏二、全屏图片三、数据显示1.显示欢迎词2.显示温湿度3.显示当前时间 四、需求实现代码 需求 1.在LCD屏上显示一张全屏图片。 2.在LCD屏上显示当前时间,温度,湿度。 一、LCD显示屏 液晶显示器,简称 LCD(Liquid Cry…

分析Profiler Timeline中的算子序列,通过寻找频繁项集的办法,得到TOPK可融合的算子序列

分析Profiler Timeline中的算子序列,通过寻找频繁项集的办法,得到TOPK可融合的算子序列 1.相关链接2.代码【仅分析带通信算子的Pattern】3.在实际工程中发现 [all_gather, matrix_mm_out]频率最高4.[Ascend MC2](https://gitee.com/ascend/MindSpeed/blob/master/docs/features…

路径规划之基于二次规划的路径平滑Matlab代码

参考: 自动驾驶决策规划算法第二章第二节(上) 参考线模块_哔哩哔哩_bilibili 自动驾驶决策规划算法第二章第二节(下) 参考线代码实践_哔哩哔哩_bilibili QP函数,二次规划的逻辑 function [smooth_path_x,smooth_path_y] QP(path_x, path_y, w_cost_s…

docker也能提权??内网学习第6天 rsync未授权访问覆盖 sudo(cve-2021-3156)漏洞提权 polkit漏洞利用

现在我们来说说liunx提权的操作:前面我们说了环境变量,定时任务来进行提权的操作 rsync未授权访问覆盖 我们先来说说什么是rsync rsync是数据备份工具,默认是开启的873端口 我们在进行远程连接的时候,如果它没有让我们输入账号…

从海上长城到数字防线:视频技术在海域边防现代化中的创新应用

随着全球化和科技发展的加速,海域安全问题日益凸显其重要性。海域边防作为国家安全的第一道防线,其监控和管理面临着诸多挑战。近年来,视频技术的快速发展为海域边防场景提供了新的解决方案,其高效、实时、远程的监控特点极大地提…

【优化论】基本概念与细节

优化论(Optimization Theory)是数学和计算机科学中一个重要的分支,旨在寻找给定问题的最优解。这个领域的应用非常广泛,从经济学、工程学到机器学习、金融等各个领域都有其踪迹。我们可以通过一系列直观的比喻来理解优化论的基本概…

数据库之SQL(二)

目录 一、简述SQL中如何将“行”转换为“列” 二、简述SQL注入 三、如何将一张表的部分数据更新到另一张表 四、WHERE和HAVING的区别 一、简述SQL中如何将“行”转换为“列” 我们以MySQL数据库为例,来说明行转列的实现方式。 首先,假设我们有一张分…

2024亚太杯中文赛数学建模B题完整论文讲解(含每一问python代码+结果+可视化图)

大家好呀,从发布赛题一直到现在,总算完成了2024 年第十四届 APMCM 亚太地区大学生数学建模竞赛B题洪水灾害的数据分析与预测完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人…

【JavaWeb程序设计】JSP编程II

目录 一、输入并运行下面的import_test.jsp页面 1.1 代码运行结果 1.2 修改编码之后的运行结果 二、errorPage属性和isErrorPage属性的使用 2.1 下面的hello.jsp页面执行时将抛出一个异常,它指定了错误处理页面为errorHandler.jsp。 2.1.2 运行截图 2.2 下面…

罗剑锋的C++实战笔记学习(一):const、智能指针、lambda表达式

1、const 1)、常量 const一般的用法就是修饰变量、引用、指针,修饰之后它们就变成了常量,需要注意的是const并未区分出编译期常量和运行期常量,并且const只保证了运行时不直接被修改 一般的情况,const放在左边&…

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台

目录 ComfyUI的特性介绍 开始安装 做点准备工作 在Conda虚拟环境中进行 依赖项的安装 运行 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益,如有不足之处&…

2024年江苏省研究生数学建模竞赛B题人造革性能优化设计研究论文和代码

经过不懈的努力, 2024年江苏省研究生数学建模竞赛B题人造革性能优化设计研究论文和代码已完成,代码为C题全部问题的代码,论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解(问题1模型的建立和求解、问题2模…

适用于 Windows的 5 个最佳 PDF 转 Word 转换器

PDF 文件是共享文档的首选格式,但是,此类文件存在限制,使其难以修改或编辑。因此,您可能会发现自己正在寻找一种将 PDF 文件转换为 Word 或其他可编辑格式的方法。 有许多不同的 PDF 转换器,每个转换器的功能略有不同…

KDTree 简单原理与实现

介绍 K-D树是一种二叉树的数据结构,其中每个节点代表一个k维点,可用于组织K维空间中的点,其中K通常是一个非常大的数字。二叉树结构允许对多维空间中的点进行非常有效的搜索,包括最近邻搜索和范围搜索,树中的每个非叶…

嵌入式系统中状态机实现详解

嵌入式开发中系统经常处于某种状态,如何处理呢?接下来分析一下,状态机的实现无非就是 3 个要素:状态、事件、响应。转换成具体的行为就 3 句话。 发生了什么事? 现在系统处在什么状态? 在这样的状态下发生了这样的事,系统要干什么? 用 C 语言实现状态机主要有 3 种方法…

机器学习——岭回归

1、岭回归与线性回归的区别 岭回归(Ridge Regression)和线性回归(Linear Regression)都是用于回归分析的统计方法,但它们在处理方式和应用场景上有一些关键的区别: a)基本概念 线性回归:目标是…

帕金森病患者在选择运动疗法时应该注意哪些事项?

帕金森病患者在选择运动疗法时,应该遵循以下几点注意事项: 个性化运动处方:根据患者的病情、年龄、健康状况、以往运动能力等因素,制定个体化的运动处方。 避免运动负荷过大:运动时间不宜过长,注意控制心率…

【优化论】约束优化算法

约束优化算法是一类专门处理目标函数在存在约束条件下求解最优解的方法。为了更好地理解约束优化算法,我们需要了解一些核心概念和基本方法。 约束优化的核心概念 可行域(Feasible Region): 比喻:想象你在一个园艺场…

量化机器人:金融市场的智能助手

引言 想象一下,在繁忙的金融市场中,有一位不知疲倦、冷静客观的“超级交易员”,它能够迅速分析海量数据,精准捕捉交易机会,并自动完成买卖操作。这位“超级交易员”不是人类,而是我们今天要聊的主角——量…