♧新版本的Ubuntu所使用的vmware工具更改为 “open-vm-tools”,安装该工具方便之后的操作。

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

首先安装基本工具:

 sudo apt install net-toolssudo apt-get install gccsudo apt-get install vimsudo apt-get install makesudo apt-get install make-guile

安装Git工具:sudo apt install git

安装vim
1)安装
“sudo apt-get install vim”

2)配置vim
“sudo vi /etc/vim/vimrc.local”

set nu                           “显示行号”
set tabstop=4                    “制表符宽度”
set cindent                      “C/C++语言的自动缩进方式”
set shiftwidth=4                 “C/C++语言的自动缩进宽度”

配置arm开发环境。
更换ubuntu的更新源,要不升级更新太慢(推荐阿里云的源。)。
1)“sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup”
2)“sudo gedit /etc/apt/sources.list”
3)选择合适的源,把/etc/apt/sources.list里面的东西全部替换了
4)刷新列表“sudo apt-get update”
5)基本命令及环境的安装

安装命令tree
“sudo apt-get install tree”安装patch命令
“sudo apt-get install patch”安装基本的开发环境
“sudo apt-get install build-essential”安装语法,词法分析器
“sudo apt-get install bison flex”安装C函数库的man手册
“sudo apt-get install manpages-dev”安装nfs服务
”sudo apt-get install nfs-kernel-server”

6)安装串口工具minicom
1、安装
“sudo apt-get install minicom”
2、配置
“sudo minicom -s”
主要是设置串口信息,按enter进入,将串口设备设置为/dev/ttyUSB0,设置波特率为115200,关流控,如下所示:

7)配置交叉编译链;
1、准备好交叉编译链的文件;
2、在 /usr/local的目录下新建一个文件夹 arm ;
3、修改环境变量;
修改/etc/profile文件,此文件对所有用户适用

sudo gedit /etc/profile

在最后加上export PATH=$PATH:/usr/local/arm/你的编译链的bin目录所在路径
保存,退出,然后刷新环境变量使其生效:

source /etc/profile

4、保存,退出,然后重启系统;
5、检查是否安装成功;

编译、安装DNW下载工具。
1)安装所依赖的库:sudo apt-get install libusb-dev
2)编译:gcc -o dnw2 dnw2.c -lusb (以下为dnw2.c代码)

/* dnw2 linux main file. This depends on libusb.** Author:   Fox <hulifox008@163.com>* License:   GPL**/#include <stdio.h>
#include <usb.h>
#include <errno.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>#define        QQ2440_SECBULK_IDVENDOR     0x5345
#define     QQ2440_SECBULK_IDPRODUCT    0x1234struct usb_dev_handle * open_port()
{struct usb_bus *busses, *bus;usb_init();usb_find_busses();usb_find_devices();busses = usb_get_busses();for(bus=busses;bus;bus=bus->next){struct usb_device *dev;for(dev=bus->devices;dev;dev=dev->next){if( QQ2440_SECBULK_IDVENDOR==dev->descriptor.idVendor&&  QQ2440_SECBULK_IDPRODUCT==dev->descriptor.idProduct){printf("Target usb device found!\n");struct usb_dev_handle *hdev = usb_open(dev);if(!hdev) {perror("Cannot open device");   }else{if(0!=usb_claim_interface(hdev, 0)){perror("Cannot claim interface");usb_close(hdev);hdev = NULL;}}return hdev;}}}printf("Target usb device not found!\n");return NULL;
}void usage()
{printf("Usage: dnw2 <file>\n\n");
}unsigned char* prepare_write_buf(char *filename, unsigned int *len)
{unsigned char *write_buf = NULL;struct stat fs;int fd = open(filename, O_RDONLY);if(-1==fd){perror("Cannot open file");return NULL;}if(-1==fstat(fd, &fs)){perror("Cannot get file size");goto error;}write_buf = (unsigned char*)malloc(fs.st_size+10);if(NULL==write_buf){perror("malloc failed");goto error;}if(fs.st_size != read(fd, write_buf+8, fs.st_size)){perror("Reading file failed");goto error;}printf("Filename : %s\n", filename);printf("Filesize : %d bytes\n", fs.st_size);*((u_int32_t*)write_buf) = 0x30000000;      //download address*((u_int32_t*)write_buf+1) = fs.st_size + 10;  //download size;*len = fs.st_size + 10;return write_buf;error:if(fd!=-1) close(fd);if(NULL!=write_buf) free(write_buf);fs.st_size = 0;return NULL;}int main(int argc, char *argv[])
{if(2!=argc){usage();return 1;}struct usb_dev_handle *hdev = open_port();if(!hdev){return 1;}unsigned int len = 0;unsigned char* write_buf = prepare_write_buf(argv[1], &len);if(NULL==write_buf) return 1;unsigned int remain = len;unsigned int towrite;printf("Writing data ...\n");while(remain){towrite = remain>512 ? 512 : remain; if(towrite != usb_bulk_write(hdev, 0x03, write_buf+(len-remain), towrite, 3000)){perror("usb_bulk_write failed");break;}remain-=towrite;printf("\r%d%\t %d bytes     ", (len-remain)*100/len, len-remain);fflush(stdout);}if(0==remain) printf("Done!\n");return 0;
}

3)复制生成的dnw2到bin目录方便调用:sudo cp dnw2 /usr/local/bin
tip:赋值之后给权限 777 方便使用。

安装Wine工具,-to:安装 source insight 3.5
☆相关依赖文件:
sudo apt-get install gcc-multilib g+±multilib
sudo apt-get install xserver-xorg-dev:i386 libfreetype6-dev:i386
sudo apt-get install flex
sudo apt-get install bison
1)进入官网下载wine压缩包:https://www.winehq.org/
2)将下载好的wine压缩包解压后,进入该文件目录;
3)输入./configure进行配置;
4)配置完成后输入make进行编译;
5)执行make install进行安装。
6)安装完以后输入winecfg进入配置界面。

安装输入法:Sogou输入法。
1)安装Fcitx输入法框架

sudo apt install fcitx

2)进入搜狗输入法官网下载linux版本的搜狗输入法安装包;
3)安装

sudo dpkg -i  安装包名

4)若出现错误安装失败,执行以下命令再重新安装。

sudo apt-get install -f

5)安装好之后进入系统设置将“Keyboard input method system:”切换为fcitx。

6)重启系统之后就可以进行输入法的切换了。

安装sublime test3编辑器。(注:下载好的*. tar.bz2压缩包解压之后就可以使用。)
1)去官网下编辑器:http://www.sublimetext.com/
2)导入License文件
打开Sublime菜单 -> help -> enter License (文件自行百度);
3)以前版本的sublime text需要汉化包进行汉化,更新后的可以通过localiza中文插件进行汉化。

4)使sublime text3可以输入中文。
1、保存下面的代码到文件sublime_imfix.c(位于~目录)

#include <gtk/gtkimcontext.h>
void gtk_im_context_set_client_window (GtkIMContext *context,GdkWindow    *window)
{
GtkIMContextClass *klass;
g_return_if_fail (GTK_IS_IM_CONTEXT (context));
klass = GTK_IM_CONTEXT_GET_CLASS (context);
if (klass->set_client_window)klass->set_client_window (context, window);
g_object_set_data(G_OBJECT(context),"window",window);
if(!GDK_IS_WINDOW (window))return;
int width = gdk_window_get_width(window);
int height = gdk_window_get_height(window);
if(width != 0 && height !=0)gtk_im_context_focus_in(context);
}

2、将上一步的代码编译成共享库libsublime-imfix.so,命令
cd ~
gcc -shared -o libsublime-imfix.so sublime_imfix.c pkg-config --libs --cflags gtk+-2.0 -fPIC (需要安装依赖文件)

3、然后将libsublime-imfix.so拷贝到sublime_text所在文件夹
4、修改文件/usr/bin/sublime_text的内容(具体视个人安装路径变动)

     sudo gedit /usr/bin/sublime_text将#!/bin/shexec /opt/sublime_text/sublime_text "$@"修改为#!/bin/shLD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec     /opt/sublime_text/sublime_text "$@"

此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入(注:此处修改时候要给权限 777“” sublime_text才可以执行)。
5、 为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容(没有的话新建即可,具体视个人安装路径变动)。
注意:
修改时请注意双引号"",否则会导致不能打开带有空格文件名的文件。
此处仅修改了/usr/share/applications/sublime-text.desktop,但可以正常使用了。
opt/sublime_text/目录下的sublime-text.desktop可以修改,也可不修改。(注意:后来出现了问题还是要修改这里)。

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text 3
GenericName=Text Editor
Comment=Sophisticated text editor for code,markup and prose
Exec=bash -c "LD_PRELOAD=/home/lin/App/sublime_text_3/libsublime-imfix.so exec /home/lin/App/sublime_text_3/sublime_text %F"
Terminal=false
MimeType=text/plain;
Icon=/home/lin/App/sublime_text_3/Icon/256x256/sublime-text.png
Categories=TextEdior;Development;Utility;
StartupNotify=ture
Actions=Window;Document;X-Desktop-File-Install-Version=0.22[Desktop Action Window]
Name=New Window
Exec=bash -c "LD_PRELOAD=/home/lin/App/sublime_text_3/libsublime-imfix.so exec /home/lin/App/sublime_text_3/sublime_text -n"
OnlyShowIn=Unity[Desktop Action Document]
Name=New Window
Exec=bash -c "LD_PRELOAD=/home/lin/App/sublime_text_3/libsublime-imfix.so exec /home/lin/App/sublime_text_3/sublime_text --command new_file"OnlyShowIn=Unity

♒以上就可以从零构建出来一个嵌入式arm在ubuntu 18.04的开发环境。

美化:
美化的话附上之前写的关于Ubuntu18.04美化的帖子工参考:https://blog.csdn.net/qq_33475105/article/details/81240488

基于Ubuntu 18.04打造嵌入式arm开发环境相关推荐

  1. ubuntu 16.04配置嵌入式linux开发环境出现Unable to locate package lib32bz2-1.0

    问题描述:Ubuntu16 64位安装android studio的32位库 sudo apt-get install lib32bz2-1.0失败 虚拟机上运行ubuntu 16.04 环境 ,打开 ...

  2. 基于 Ubuntu 18.04 的 STM32F407 开发

    基于 Ubuntu 18.04 的 STM32F407 开发 作者:解琛 时间:2020 年 8 月 2 日 基于 Ubuntu 18.04 的 STM32F407 开发 一.编译一个最小工程 1.1 ...

  3. x-lite for linux,Linux Lite 4.6正式发布:现基于Ubuntu 18.04.3 LTS

    原标题:Linux Lite 4.6正式发布:现基于Ubuntu 18.04.3 LTS 创建者Jerry Bezencon于今天正式宣布Linux Lite 4.6系统版本更新,和上个版本4.4相隔 ...

  4. 基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置

    基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDA+Cudnn+ROS+anaconda+ubuntu装机必备 笔记本双系统安装 U盘启动项安装ubuntu18.04.1 ...

  5. linux操作系统老旧电脑,适用于旧PC的Linux操作系统LXLE 18.04.3发布,基于Ubuntu 18.04.3 LTS...

    原标题:适用于旧PC的Linux操作系统LXLE 18.04.3发布,基于Ubuntu 18.04.3 LTS LXLE团队宣布了LXLE 18.04.3的最终版本,这是他们基于Ubuntu的计算机操 ...

  6. Ubuntu20.04下 嵌入式 Qt 开发环境的搭建(适用于Tiny6410)

    Ubuntu 下 Tiny6410 嵌入式 Qt 开发环境的搭建 目录导航 Ubuntu 下 Tiny6410 嵌入式 Qt 开发环境的搭建 前言 1.安装前的准备工作 2.安装交叉编译器 3.安装t ...

  7. 嵌入式LINUX搭建arm环境,手把手教你嵌入式ARM开发环境搭建

    原标题:手把手教你嵌入式ARM开发环境搭建 1. 安装,配置,启动FTP服务 · 安装FTP: sudo apt-get install vsftpd · 修改vsftpd的配置文件/etc/vsft ...

  8. Ubuntu 16.04下配置openWRT开发环境

    Ubuntu 16.04下配置openWRT开发环境 1.配置openwrt开发环境,本实验室在ubuntu16.04系统下测试 在编译之前我们先要搭建环境,ubuntu下OpenWrt编译环境需要安 ...

  9. [TI TDA4 J721E]PROCESSOR-SDK-J721E RTOS Linux 开发环境搭建 基于 ubuntu 18.04

              首先感谢阅读,如果您也对TDA4相关的开发感兴趣,我们这边有个学习交流微信群,可以入群和大家一起交流学习. 资历较浅,水平有限,如遇错误,请大家多指正! 保持开源精神,共同分享.进 ...

  10. 基于 Ubuntu 18.04 Jlink + Vim + Cmake + Makefile 调试 STM32

    Ubuntu 18.04 Jlink + Vim + Cmake + Makefile 调试 STM32 作者:解琛 时间:2020 年 8 月 3 日 Ubuntu 18.04 Jlink + Vi ...

最新文章

  1. web大屏展示用到的组件_基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化
  2. 苹果mp3软件_神技能!!!音视频制作软件
  3. Docker制作dotnet core控制台程序镜像
  4. 源码安装mysql_CentOS 7中源码安装MySQL 5.7.16 (亲测成功)
  5. python编程制作_一种Python编程创作平台的制作方法
  6. springboot ServletContextListener接口
  7. 使用JAVASCRIPT实现弹出框,过一段时间自动消失
  8. Windows Print Spooler服务最新漏洞CVE-2021-34527详解
  9. 加密货币被爆重大安全漏洞,价值 50 亿美元!
  10. android最优化启动画面,Android启动页黑屏及最优解决方案
  11. linux服务器选择u盘启动,【服务器运维】linux怎样以u盘启动
  12. macbook 终端命令怎么使用_Mac终端怎么打开?带你全面了解在macOS中使用终端命令行...
  13. 福昕编辑器打开pdf自动打印
  14. Spotfire 连接mysql数据库
  15. 【PS】抠图,魔棒工具、橡皮擦工具
  16. [完美解决] kali打不开Google Chrome 双击谷歌浏览器图标无反应
  17. 《符文冲突》unity塔防类游戏试做,经验源码分享-1
  18. 怎么把链接生成二维码?怎样制作一个链接二维码?
  19. Matlab 指定分辨率保存图片
  20. dom4j解析XML实例

热门文章

  1. 论文特色自我评价内容结构
  2. [BZOJ4200][NOI2015]小园丁与老司机
  3. 20162327WJH使用队列:模拟票务站台代码分析
  4. linux root邮箱地址,Linux中自动送给root的mail可以发给互联网上的emai? 爱问知识人...
  5. 秋招之前实习面经汇总
  6. 关于三极管集电极电压1V以上后伏安特性曲线不右移
  7. None of the following candidates is applicable because of a receiver type mismatch
  8. k8s搭建v1.18.3高可用集群时添加master节点报错:failure loading certificate for CA: couldn‘t load the certificate fil
  9. 12V转5V降压芯片,12V转3.3V稳压芯片电路图
  10. C#(四十二)之线程同步、互锁