专栏首页嵌入式iot嵌入式Linux上便捷开发环境搭建

嵌入式Linux上便捷开发环境搭建

1.本文说明2.基本工具3.基本思想4.操作流程4.1 第一步ubuntu上安装tfp4.2 Windows上VS Code的操作5. 测试与使用6.总结

1.本文说明

嵌入式Linux开发往往都会面临一个问题,就是查看代码与编写代码在Windows操作系统上比较方便,同时相关的工具也比较的齐全,用起来也比较的顺手。但是往往嵌入式的编译却需要在宿主机上进行,这样就会带来很多不方便。开发效率也比较低,下面分享一下我是如何搭建嵌入式开发环境的。

2.基本工具

1.虚拟机工具VMware Workstation 12 Player

在虚拟机上运行一个Ubuntu16.04作为宿主机,该工具使用免费版本即可,无需破解。

2.SSH远程连接工具MobaXterm

之前采用xshell,由于MobaXterm直接集成了sftp,所以不需要xftp。这个工具作为连接宿主机的工具是极好不过的。

3.串口调试工具xshell

xshell的强大之处在于可以同时开几个终端,而且稳定可靠,连接开发板,打印出来的信息看起来很整洁。

4.代码编辑工具Visual Studio Code

强大的文字编辑工具,浏览内核代码,写程序,效果就不用介绍了。

5.vscode插件ftp-sync

有了这个工具,在Windows上编辑的代码就能够及时的同步到Linux平台下。

3.基本思想

之前采用过nfs同步文件,Windows上直接挂在nfs目录。发现代码量大了之后会导致电脑卡顿或者有时会出现蓝屏的问题,所以采用ftp直接传文件,修改一个传一个这样效率又很低,所以看到了vscode上有个ftp-sync插件,只需要两端的文件结构一样,vscode保存文件后就可以自动上传修改的代码,使用起来十分的方便。下面详细介绍一下使用方法。

4.操作流程

4.1 第一步ubuntu上安装tfp

查看是否已经安装

vsftpd -v

没有安装,提示信息如下

输入sudo apt-get install vsftpd进行安装

接着修改配置文件

sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.bat
sudo vim /etc/vsftpd.conf

其中vsftpd.con的文件内容如下所示

# 禁止匿名用户登录
anonymous_enable=NO
# 允许系统用户登录
local_enable=YES
# 启用可以修改文件的 FTP 命令
write_enable=YES
# 本地用户创建文件的 umask 值
local_umask=022
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能
xferlog_enable=YES
# 使用标准的20端口来连接ftp
connect_from_port_20=YES
# 使用标准日志格式
xferlog_std_format=YES
# 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
# 指定限制的用户文件
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
local_root=/home/bigmagic/code
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=vsftpd
# ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
# 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO
# 定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/allowed_users
# ftp服务器将使用tcp_wrappers作为主机访问控制模式
tcp_wrappers=YES
# 连接ftp服务费使用的端口
listen_port=21
allow_writeable_chroot=YES

其中需要自己修改的是local_root=/home/xxx,注意可以访问的目录的权限

然后添加ftp服务可以访问的用户

sudo vim /etc/vsftpd/allowed_users
sudo vim /etc/vsftpd/vsftpd.chroot_list

新增用户或者自己创建用户,里面一行代表一个用户

启动并验证

sudo service vsftpd start
sudo service vsftpd stauts

看到以下信息表示启动成功

bigmagic@ubuntu:~$ /etc/init.d/vsftpd status
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2019-02-17 23:16:08 CST; 9min ago
 Main PID: 2042 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─2042 /usr/sbin/vsftpd /etc/vsftpd.conf

2月 17 23:16:08 ubuntu systemd[1]: Starting vsftpd FTP server...
2月 17 23:16:08 ubuntu systemd[1]: Started vsftpd FTP server.
2月 17 23:25:11 ubuntu systemd[1]: Started vsftpd FTP server.
bigmagic@ubuntu:~$

在Windows的浏览器上访问,IP地址取决于宿主机的IP地址。

ftp:192.168.1.8

如果浏览器窗口可以正常的看到ubuntu上的文件表示启动成功

4.2 Windows上VS Code的操作

Windows操作系统作为主要开发系统,利用VS Code进行代码编写,搜索扩展功能的tfp-sync插件

安装完成后可以按照下面的步骤进行操作

新建一个工作目录,并用VS Code打开

快捷键Ctrl+Shift+P,输入Ftp-sync:Init回车用于初始化目录

5. 测试与使用

环境搭建完成,可以进行测试工作。首先要保证两点:

1.打开的目录用Ftp-sync:Init初始化过,会生成一个ftp-sync.json文件

2.宿主机指定的目录中需要和remotePath指定的目录一致,比如设置的remote目录为/.,那么宿主机配置的ftp的目录为/home/bigmagic/code,所以在/home/bigmagic/code目录下是同步的。

3.文件夹的权限,如果不确定,可以设置为777权限

chmod -R  code/

Windows上创建一个文件

然后在vscode上选择右键同步即可

也可以在ubuntu上创建,远程拉取文件下来。

并且有最大的好处是在Windows上保存代码后,会自动上传。

6.总结

环境搭建是提高嵌入式开发效率的很好的手段,所以在做开发之前,先用好工具,再有了好工具之后也会提高开发的效率和开发的水平,节省时间。

本文分享自微信公众号 - 嵌入式IoT(Embeded_IoT),作者:bigmagic

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • STM32的RAM的分配与占用

    本文主要针对如何合理的使用STM32的RAM角度入手,对STM32的RAM进行分配与计算。目的是降低RAM的使用率,将RAM的使用情况都弄清楚,从而合理的规划及...

    bigmagic
  • 在qemu上搭建开发aarch64 rtos环境

    随着芯片技术的发展,嵌入式已经不再是传统的单片机开发模式,需要一些硬件操作的板子,现在qemu这种模拟硬件的手段非常好,通过直接在电脑上仿真后,然后再移植到真实...

    bigmagic
  • 在window上搭建树莓派4b的RT-Thread开发环境

    因为前面树莓派rtt开发环境都是在Ubuntu上进行环境搭建,但是大部分人都是采用Ubuntu进行环境搭建。所以这里我也讲述一下树莓派4的RTT在windows...

    bigmagic
  • Linux云服务器下搭建FTP服务器

    FTP工作模式简介FTP工作会启动两个通道:控制通道和数据通道。控制通道一般由客户端发起,数据连接分两种:port(主动)和pasv(被动)。PORT模式:在客...

    吴奇
  • Linux 搭建 vsftpd 服务器 原

    用户2836074
  • centos搭建ftp服务器

    vsftpd 是一款在Linux发行版中最受推崇的FTP服务器程序,它是一个基于GPL协议的开源程序。vsftpd代表very secure FTP daemo...

    尾尾部落
  • vsftpd搭建自己的ftp服务器

    虽然说现在已经有各种网盘服务,但是图方便的话最好还是有自己的ftp服务器,今天就介绍下在centos下安装vsftpd搭建ftp服务器。 首先更新下系统,可以使...

    用户1188347
  • vsftp +mysql 配置详细过程

    本文章由网友:苶然(QQ网名)供稿,在此特别感谢他 需要安装包 db4-* vsftpd- mysql-server mysql-devel pam...

    苦咖啡
  • 利用ABAP调试模式修改SE16里数据库表的内容

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • ftp服务器的搭建

    http://blog.sina.com.cn/s/blog_459ced7a0101ou76.html

    河马科技

扫码关注云+社区

领取腾讯云代金券