array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 linux20.04下安装嵌入式gcc交叉工具编译链 - 爱码网

linux20.04下安装嵌入式gcc交叉工具编译链

主要内容是从开始安装并解决在安装过程中遇到的问题

开始

版本信息

windows 10 2004
Ubuntu 20.04.01(64位)
vmware 15
嵌入式板子 s5pv210

1.选择交叉编译链版本

选择 arm-2009q3.tar
相对可靠,三星公司通用版本

2.安装步骤

步骤1:打开虚拟机,打开终端(ctrl+shift+t),在/usr/local/下创建/usr/local/arm文件夹
将此压缩包复制到linux共享文件夹:winshare中,我的地址是:E:\study\winshare\s5pv210\tar

步骤2:在linux中进入到/usr/local/arm文件夹中,将共享文件夹中的压缩包复制到当前目录中,代码:cp /mnt/hgfs/winshare/s5pv210/tar/arm-2009q3.tar.bz2 ./注意代码分为三部分,第一部分为复制命令cp,第二部分为要复制的目标文件,第三部分为想要复制到的目标地址(在此为./表示当前地址)

步骤3:将arm-2009q3.tar.bz2解压到当前文件夹tar -jxvf arm -2009q3.tar.bz2在一些列解压命令行结束后,ls查看当前目录下的文件,进入/arm-2009q3/bin文件夹中查看当前文件夹中的文件,其中都是交叉编译链的程序,解压结束就代表安装成功,相当于windows中的绿色软件。真正的应用程序安装在/usr/local/arm/arm-2009q3/bin目录下
linux20.04下安装嵌入式gcc交叉工具编译链
linux20.04下安装嵌入式gcc交叉工具编译链
linux20.04下安装嵌入式gcc交叉工具编译链

步骤4:安装后的测试
到真正的安装程序的目录下(/usr/local/arm/arm-2009q3/bin),去执行其中的程序
执行方法是 ./arm-none-linux-gnueabi-gcc -v,(-v指令显示程序的版本号)出来一堆信息,只要后面已经显示gcc版本号就代表安装成功。
linux20.04下安装嵌入式gcc交叉工具编译链
linux20.04下安装嵌入式gcc交叉工具编译链

3.所遇到的问题

步骤4中执行查看版本号命令不成功
linux20.04下安装嵌入式gcc交叉工具编译链
这是由于所安装的linux版本是64位,而安装的文件是32位不兼容引起,解决办法是执行sudo apt install lib32stdc++6
或者sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
linux20.04下安装嵌入式gcc交叉工具编译链
linux20.04下安装嵌入式gcc交叉工具编译链

输入后为上图信息,又有新的问题,这是由于上次使用apt出现异常,没有正常关闭,线程还在继续,解决办法使用ps 和 grep查找apt的pid,并使用kill杀死掉。执行:ps afx|grep apt,将出来的列表中的进程使用kill结束。
linux20.04下安装嵌入式gcc交叉工具编译链
之后在输入apt命令成功,若出现如下信息
linux20.04下安装嵌入式gcc交叉工具编译链
还需要进一步输入:sudo rm /var/lib/dpkg/lock-frontend 将相应的锁文件删除
linux20.04下安装嵌入式gcc交叉工具编译链
之后重新输入apt可以正确安装
linux20.04下安装嵌入式gcc交叉工具编译链
之后成功安装,显示出版本号

4.总结

其中在64位linux中安装32位软件,需要安装32位的库,使用apt-get中要注意apt是否正在运行,或者异常,需要手动使用命令找见并结束。关于/var/lib/dpkg/lock-frontend - open的详细信息看这篇文章

https://blog.csdn.net/xy_sugar/article/details/84999808

其中涉及dpkg (软件包管理)即 package manager for Debian,看这篇文章。

https://www.jianshu.com/p/2ec0f4b945a2

补充: linux下/bin目录放置一些系统自带的用户使用的应用程序,/sbin目录下存放的是系统自带的系统管理方面的应用程序。
自己装软件一般都放在/usr目录下。可以在/usr/local下创建文件夹,将自己所使用的程序安装进去。

相关文章: