嵌入式开发 centos7 交叉编译环境准备
1. 安装centos7,启动图像化界面。
参考:https://blog.csdn.net/qq_23014435/article/details/74347925
# systemctl get-default //获取当前系统启动模式
更改模式命令:systemctl set-default graphical.target由命令行模式更改为图形界面模式
systemctl set-default multi-user.target由图形界面模式更改为命令行模式
重启机器获得想要的启动界面。
2. centos7 安装samba
参考:https://www.cnblogs.com/hnxxcxg/p/6841778.html
关闭防火墙:systemctl disable firewalld.service
or 添加防火墙规则: firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
关闭selinux: vim /etc/selinux/config 设置:SELINUX=disabled
##############################################################
3.安装arm-linux-gcc
将 压缩包 tar zxvf xxx.tar -C / 解压到根目录下
在 /root/.bashrc 下添加 export PATH=$PATH:/usr/local/arm/x.x.x/bin
source /root/.bashrc
4.安装arm linux gdb server.
解压 tar zxvf xxx.tar.gz
cd arm-gdb-x.x
./buildall
##################################################################
第三步第四步,比较老的方式,新的方式参见:GNU MCU Eclipse
####################################################################
https://gnu-mcu-eclipse.github.io/toolchain/arm/install/
3.介绍一下 xpm package manager
https://www.npmjs.com/package/xpm
xpm is a Node.js CLI application to manage xPacks.
xPacks are general purpose software C/C++ packages, intended to enhance code sharingand reusing during the development of C/C++ libraries and applications, much the same as npm modules do so nicely in the JavaScript ecosystem.
Xpacks类似于 javascript 生态圈的 npm ,旨在提高C/C++ 包管理,代码分享的效率和代码的重用性。
4.如何在linux 系统上安装xpm 包管理工具呢?
首先逃不开的还是要linux系统上安装npm 包管理工具,然后用npm 去安装xpm----OMG!!!。
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-a-centos-7-server
(1) 安装 node.js
这里我们不用源码安装的方式,也不采用预编译的包的方式 而是采用最简单的
###############坑########### EPEL Repository 不是最新版本的 nodejs##########
Install a Package from the EPEL Repository
sudo yum install epel-release
sudo yum install nodejs
###############################坑############################改用 预编译包的形式
下载 LTS 版本的 https://nodejs.org/download/release/latest-dubnium/
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local
检查nodejs 版本
node --version
v10.14.2
(2)安装 xpm 参考: https://www.npmjs.com/package/xpm
$ mkdir -p "${HOME}"/Library/npm
$ npm config set prefix "${HOME}"/Library/npm
$ echo 'export PATH="${HOME}"/Library/npm/bin:${PATH}' >> "${HOME}"/.profile
$ source "${HOME}"/.profile
npm install --global xpm
检查 xpm 版本
xpm --version
0.4.5
(3) 利用xpm 安装交叉工具链
参考:https://gnu-mcu-eclipse.github.io/toolchain/arm/install/
xpm install --global @gnu-mcu-eclipse/arm-none-eabi-gcc
墙内速度比较慢: 参考github主页 https://github.com/gnu-mcu-eclipse/arm-none-eabi-gcc/releases
去github主页下载下来手动安装方法:
GNU/Linux
The GNU/Linux versions of GNU MCU Eclipse ARM Embedded GCC are packed as .tgz archives. Download the latest version named like:
gnu-mcu-eclipse-arm-none-eabi-gcc-7.2.1-1.1-20180401-0515-centos64.tgzgnu-mcu-eclipse-arm-none-eabi-gcc-7.2.1-1.1-20180401-0515-centos32.tgz
As the name implies, the binaries were created on CentOS, but can be executed on most recent GNU/Linux distributions (they were tested on Debian, Ubuntu, Manjaro, SuSE and Fedora). Select the -centos64 file for 64-bit machines and the -centos32 file for 32-bit machines.
To install the toolchain, unpack the archive and copy it to /${HOME}/opt/gnu-mcu-eclipse/arm-none-eabi-gcc/:
$ mkdir -p "${HOME}"/opt
$ cd "${HOME}"/opt
$ tar xf ~/Downloads/gnu-mcu-eclipse-arm-none-eabi-gcc-7.2.1-1.1-20180401-0515-debian64.tgz
$ chmod -R -w "${HOME}"/opt/gnu-mcu-eclipse/arm-none-eabi-gcc/7.2.1-1.1-20180401-0515
测试是否安装成功的方法:
$ "${HOME}"/opt/gnu-mcu-eclipse/arm-none-eabi-gcc/7.2.1-1.1-20180401-0515/bin/arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU MCU Eclipse ARM Embedded GCC, 64-bit)
嵌入式开发 centos7 交叉编译环境准备的更多相关文章
- 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)【转】
转自:http://lib.csdn.net/article/embeddeddevelopment/60172?knId=886 建立ARM交叉编译环境 (arm-none-linux-gnueab ...
- 嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境
操作系统:Ubuntu12.04 AMD64位 交叉编译环境:arm-Linux gcc版本4.4.3 前言: 首先理解一下交叉编译的意思.我们要给嵌入式设备写应用程序,但是又不能在嵌入式设备上完成所 ...
- 构建 ARM Linux 4.7.3 嵌入式开发环境 —— U-BOOT 引导 Kernel
经过若干天的反复测试,搜索.终于成功利用 Qemu 在 u-boot 下引导 ARM Linux 4.7.3 内核.如下详细解释整个构建过程. 准备环境 运行环境:Ubuntu 16.04 需要的虚拟 ...
- zju(1)嵌入式开发环境构建
1. 实验目的 搭建嵌入式开发环境,安装ubntu,编译交叉工具链,安装配置tftp,nfs.用makefile 编译几个文件,在实验台上运行. 2. 实验内容 1) 安装ubuntu12.04 2) ...
- linux交叉环境的搭建以及嵌入式开发概述
嵌入式开发概述 由嵌入式本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别,嵌入式的开发分为系统总体开发,嵌入式硬件开发,嵌入式系统软件开发3大部分 在系统总体开发中,由于嵌入式系统与硬件依 ...
- ubuntu 12.04 下搭接Qt 嵌入式开发环境
1.安装前的准备工作 (1)有ubuntu12.04 的系统镜像(也可以其他linux 如Fedorea9),都是安装好的 (2)虚拟机VMWare 或 VirtualBox ,两者都可以,都是安装好 ...
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
转载:王文松的博客Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解 安装环境 Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 ...
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程
Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4. ...
- 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705 参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...
随机推荐
- spring事物的管理方式
Spring事务配置的五种方式 转载大神总结: https://blog.csdn.net/xuanjiewu/article/details/51604967: 自己总结:这里只总结spring编程 ...
- java——String、StringBuffer、StringBuilder、包装类、单双引号
String: String是一个特殊的类,被定义为final类型,为字符串常量,同样的字符串在常量池中不能重复. 但是由于使用关键字new创建新的字符串,java会在对中分配新的空间,这样即使字符串 ...
- Silverlight 创建 ImageButton
这几天一直在折腾怎么在silverlight 按钮上添加图片,直接向imagebutton那样设置成属性可以直接更改,最后到处查找资料终于搞出一个imagebutton了. <Style x:K ...
- 019 Remove Nth Node From End of List 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点并返回头结点.例如,给定一个链表: 1->2->3->4->5, 并且 n = 2.当删除了倒数第二个节点后链表变成了 1->2 ...
- adb 调系统时间
1.修改前提 获取系统root权限,然后adb shell进入shell界面 adb shell su 2.时区设置 cat /data/property/persist.sys.timezone / ...
- Linux Shell命令系列(4)
16. cat命令 “cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容. 17. cp 命令 “copy”就是复制.它会从一个地方复制一个文件 ...
- xcrun -sdk 选择
在将FFmpeg编译成IOS版的时候,接触到编译脚本的一段(删减了部分): for ARCH in $ARCHS do if [ "$ARCH" = "i386" ...
- js 独立命名空间,私有成员和静态成员
独立的命名空间 1可以避免全局变量污染. 全局变量污染不是 说 被全局变量污染,而是说不会污染全局变量. 2实现私有成员. 在js中函数 就可以满足独立的命名空间的两点需求. 如: ...
- 如何添加/移除CSS类
在网页设计中,我们常常要使用Javascript来改变页面元素的样式.其中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们通常是通过处理HTML Dom的clas ...
- Java并发(三):实例引出并发应用场景
前两篇介绍了一些Java并发的基础知识,博主正巧遇到一种需求:查询数据库,根据查询结果集修改数据库记录,但整个流程是做成了一个schedule的,并且查询比较耗时,并且需要每两分钟执行一次,cpu经常 ...