嵌入式开发基本环境搭建---ubuntu

嵌入式Linux环境

一般嵌入式Linux开发需要一台Linux环境的服务器,在此服务器上安装交叉编译器进行编译我们所需要的镜像和应用。常用的开发环境一般在Linux上进行编译,在Windows上进行编辑代码。通过samba进行不同环境间代码共同编辑。Linux环境搭建一般可以由以下几种;

  1. 一台pc机 + pc安装虚拟机进行搭建开发环境
  2. 一台pc机 + 安装Linux 版本的服务器
  3. 一台PC机(win10) + WSL

win10 + WSL

这里介绍win10 + WSL搭配进行开发,因为操作最为便捷。

  1. 打开控制面板-》程序-》启动或关闭Windows功能里面 红框框的选项打上勾。在这里插入图片描述
  2. 进入win10自带的store下载ubuntu,开始-》Microsoft store -》搜索ubuntu-》建议安装20.04版本wsl下载
  3. 安装完成后在win10开始或者搜索栏搜索ubuntu即可打开命在这里插入图片描述
  4. 安装完成后可以给自己的root账户设置一个密码,最好对当前的环境进行apt更新最新版本
    命令;sudo apt-get update

git环境安装

  1. wsl方式安装Linux环境默认只带git应用,不需要额外安装git,如需要自行安装

    将远程仓库关联本地

    关联本地也就是能够让github或者gitee能够识别你的机器让你clone
    github和gitee操作相同,这里就用gitee举例子
    操作步骤
    1. 创建ssh key
      ssh-keygen -t rsa -C “XXX名字” 一路回车
    2. 查看内容start ~/.ssh/id_rsa.pub 或者cat也行 复制ssk到gitee创建sshkey
    3. 在你的账户设置里面添加公钥在这里插入图片描述
    4. 然后就可以尽情的clone你仓库代码到本地了。

samba服务器搭建

  1. wsl安装后他默认将win这边的盘挂载到/mnt目录下,所以假如需要在Linux环境下查看win这边的文件,在mnt目录下直接访问即可不需要安装其他工具。
  2. 假如win这边想查看Linux那边其他目录的文件则还是需要安装samba。

samba环境搭建

  1. 安装samba sudo apt-get install samba samba-common
  2. 添加用户(下面的AK_VMLinux是我的用户名(linux的登入用户),之后会需要设置samba的密码)。
    sudo smbpasswd -a AK_VMLinux
    输入samba密码
  3. sudo vim /etc/samba/smb.conf
    #ak seting
    [AKhome]
    comment = share folder
    browseable = yes
    path = /home/ak/myWorkSpace/ 共享的目录
    #security = user
    #guest ok =no
    public = yes
    create mask = 0777
    directory mask = 0777
    #valid users = ak
    force user = ak
    force group = ak
    #guest account =nobody_samba
    writable = yes
    #ak seting
  4. 重启samba服务器
    sudo service smbd restart
  5. 在windos访问linux环境的ip输入samba用户和密码,就能看到 /home/ak/myWorkSpace/下的东西了

samba配置相关

  1. 查看samba状态 /etc/init.d/smbd status
  2. /etc/samba/smb.conf 配置文件[global] 为全局配置区域属性对全部共享目录生效
  3. security = user 说明需要用用户密码登入方能访问。
  4. [AKhome]------共享的目录名字在win这边显示的名字
    comment = share folder --------共享的描述
    browseable = yes --------可浏览
    path = /home/ak/workSpace------------linux这边共享的目录
    #security = user
    #guest ok =no
    public = yes
    create mask = 0777 -----------------创建文件的权限

问题解决措施

  1. 如果在wsl做Linux服务器的情况下,输入ip可能看不到共享的目录,因为windos系统自动已经将. 139和445这两个端口进行监听了,而samba服务要建立这两个端口,所以在samba服务开启前关闭这两个端口,netstat -a|findstr LISTENING 查看win监听了哪些端口。netstat -an | findstr /r “139 445”
  2. 如何关闭139的网络监听,win左下角搜索栏,搜索设置。一步步最后选择禁用,注意你用哪张网卡就禁用哪张网卡。netstat -a|findstr LISTENING 查看win是否释放139在这里插入图片描述
  3. 如何关闭445的网络监听,win+r 输入services.msc,将computer browser和server关闭,设置完成后然后重启电脑。在这里插入图片描述
  4. 在这里插入图片描述
    如果以上操作教师你梦打开访问共享目录,且查看samba服务一直开不起来,linux samba日子也报错 smbXsrv_version_global_init: failed to open[/run/samba/smbXsrv_version_global.tdb],那么很有可能你的wsl版本是1版本,有些功能不支持,因此需要升级wsl的版本,注意进cmd右键选择管理员方式打开
    命令:在cmd中敲wsl --set-version Ubuntu-20.04 2 2就是2版本,2前面是你下载的那个ubuntu的版本
    wsl2升级相关https://blog.csdn.net/littlehaes/article/details/104879476
    wsl2虚拟化相关问题https://blog.csdn.net/KindSuper_liu/article/details/112316734

gcc编译器安装

  1. gcc编译工具链根据平台不同下载arm版本或者aarch64版本
  2. 我使用的是cotex-a53的核架构为aarch64,去gcc官网或者百度网盘将下载 gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz文件
  3. 拷贝到wsl服务器的里面去进行安装,cp 到usr/local/bin 目录下解压 取bin文件里面的内容到当前目录下系统就能访问了不需要设置环境变量了
  4. su root切换root提高权限 xz -d gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
  5. tar -xvf gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar
  6. 添加环境变量在~/.bashrc末尾添加环境变量后source使能下。
    export PATH=/usr/local/bin/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH
    source ~/.bashrc

编译过程出现错误以及解决措施

  1. 缺少make ---------sudo apt install make
  2. HOSTCC scripts/basic/fixdep
    /bin/sh: 1: cc: not found---------------sudo apt install gcc
  3. 假如出现E: Failed to fetch 网址失败----但是又能ping通ip那么先apt-get update后再apt install gcc
  4. /bin/sh: 1: python: not found-------------sudo apt-get install python-dev
  5. 编译发现swig没有,安装 sudo apt-get install swig
  6. 在编译发现Python.h没找到安装sudo apt-get install python-dev
  7. 在编译缺少dtc工具 sudo apt-get install device-tree-compiler
  8. 编译内核可能出现的错误
  9. /bin/sh: 1: bison: not found,,安装 sudo apt-get install bison
    /bin/sh: 1: flex: not found sudo apt-get install flex
    fatal error: openssl/bio.h: 没有那个文件或目录 sudo apt-get install libssl-dev

嵌入式Windows环境搭建

代码编辑器(IDE)

可以使用source insight或者vs code 看个人选择
source insight 配置

设置默认保存路径
win+r regedit—》HKEY_CURRENT_USER\Software\Source Dynamics\Source
Insight\4.0\Paths
点击空白-》右键-》新建-》字符串值
名----UserDataDir ,数据为你想要保存的目录路径

tftp服务器

Guess you like

Origin blog.csdn.net/weixin_41884251/article/details/113796895