嵌入式基本环境搭建
- 嵌入式Linux环境
- win10 + WSL
- git环境安装
- 将远程仓库关联本地
- samba服务器搭建
- samba环境搭建
- samba配置相关
- 问题解决措施
- gcc编译器安装
- 几种常见的 arm的 gcc编译器
- 编译过程出现错误以及解决措施
- ubuntu 静态ip的设置
- 嵌入式Windows环境搭建
- 代码编辑器(IDE)
- tftp服务器
嵌入式Linux环境
一般嵌入式Linux开发需要一台Linux环境的服务器,在此服务器上安装交叉编译器进行编译我们所需要的镜像和应用。常用的开发环境一般在Linux上进行编译,在Windows上进行编辑代码。通过samba进行不同环境间代码共同编辑。Linux环境搭建一般可以由以下几种;
- 一台pc机 + pc安装虚拟机进行搭建开发环境
- 一台pc机 + 安装Linux 版本的服务器
- 一台PC机(win10) + WSL
win10 + WSL
这里介绍win10 + WSL搭配进行开发,因为操作最为便捷。
- 打开控制面板-》程序-》启动或关闭Windows功能里面 红框框的选项打上勾。
- 进入win10自带的store下载ubuntu,开始-》Microsoft store -》搜索ubuntu-》建议安装20.04版本
- 安装完成后在win10开始或者搜索栏搜索ubuntu即可打开命
- 安装完成后可以给自己的root账户设置一个密码,最好对当前的环境进行apt更新最新版本
命令;sudo apt-get update - 通过sudo passwd root 来给root用户设置密码,安装后root是没密码登入不了root用户必须先设置密码才能登入root用户
git环境安装
- wsl方式安装Linux环境默认只带git应用,不需要额外安装git,如需要自行安装
将远程仓库关联本地
- 关联本地也就是能够让github或者gitee能够识别你的机器让你clone
github和gitee操作相同,这里就用gitee举例子
操作步骤
- 创建ssh key
ssh-keygen -t rsa -C “XXX名字” 一路回车 - 查看内容start ~/.ssh/id_rsa.pub 或者cat也行 复制ssk到gitee创建sshkey
- 在你的账户设置里面添加公钥
- 然后就可以尽情的clone你仓库代码到本地了。
samba服务器搭建
- wsl安装后他默认将win这边的盘挂载到/mnt目录下,所以假如需要在Linux环境下查看win这边的文件,在mnt目录下直接访问即可不需要安装其他工具。
- 假如win这边想查看Linux那边其他目录的文件则还是需要安装samba。
samba环境搭建
- 安装samba sudo apt-get install samba samba-common
- 添加用户(下面的AK_VMLinux是我的用户名(linux的登入用户),之后会需要设置samba的密码)。
sudo smbpasswd -a AK_VMLinux
输入samba密码 - 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 - 重启samba服务器
sudo service smbd restart - 在windos访问linux环境的ip输入samba用户和密码,就能看到 /home/ak/myWorkSpace/下的东西了
samba配置相关
- 查看samba状态 /etc/init.d/smbd status
- /etc/samba/smb.conf 配置文件[global] 为全局配置区域属性对全部共享目录生效
- security = user 说明需要用用户密码登入方能访问。
- [AKhome]------共享的目录名字在win这边显示的名字
comment = share folder --------共享的描述
browseable = yes --------可浏览
path = /home/ak/workSpace------------linux这边共享的目录
#security = user
#guest ok =no
public = yes
create mask = 0777 -----------------创建文件的权限
问题解决措施
- 如果在wsl做Linux服务器的情况下,输入ip可能看不到共享的目录,因为windos系统自动已经将. 139和445这两个端口进行监听了,而samba服务要建立这两个端口,所以在samba服务开启前关闭这两个端口,netstat -a|findstr LISTENING 查看win监听了哪些端口。netstat -an | findstr /r “139 445”
- 如何关闭139的网络监听,win左下角搜索栏,搜索设置。一步步最后选择禁用,注意你用哪张网卡就禁用哪张网卡。netstat -a|findstr LISTENING 查看win是否释放139
- 如何关闭445的网络监听,win+r 输入services.msc,将computer browser和server关闭,设置完成后然后重启电脑。
- 如果以上操作教师你梦打开访问共享目录,且查看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升级相关
wsl2虚拟化相关问题
gcc编译器安装
gcc官网gcc--------- gnu software 交叉编译器的下载一般去这下载linaro
上面developer 里面有arm平台编译arm的编译器
选下面linaro的那个链接 这个一般是交叉编译 x86 编译arm
这里有各个版本的交叉编译gcc
交叉编译知识点
值得注意的是交叉意味着你编译和运行的不是一个平台所以目前几乎都是x86变arm
- gcc编译工具链根据平台不同下载arm版本或者aarch64版本
- 我使用的是cotex-a53的核架构为aarch64,去gcc官网或者百度网盘将下载 gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz文件
- 拷贝到wsl服务器的里面去进行安装,cp 到usr/local/bin 目录下解压 取bin文件里面的内容到当前目录下系统就能访问了不需要设置环境变量了
- su root切换root提高权限 xz -d gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
- tar -xvf gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar
- 添加环境变量在~/.bashrc末尾添加环境变量后source使能下。
export PATH=/usr/local/bin/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH
source ~/.bashrc
几种常见的 arm的 gcc编译器
arm-none-eabi:这个是没有操作系统的,不支持那些系统调用等等系列接口
arm-none-linux-eabi:则是使用Glibc,系统对应的是 linux
arm-eabi-gcc: 用于早期的安卓程序编译
arm-none-linux-gnueabi-gcc 用于 gnu下的 linux系统应用程序
armcc: ARM 公司推出的编译工具,可以编译裸机程序(u-boot、kernel),一般和ARM开发工具一起,Keil MDK、ADS、RVDS和DS-5中的编译器都是armcc
————————————————
版权声明:本文为CSDN博主「tcutee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
编译过程出现错误以及解决措施
- 缺少make ---------sudo apt install make
- HOSTCC scripts/basic/fixdep
/bin/sh: 1: cc: not found---------------sudo apt install gcc - 假如出现E: Failed to fetch 网址失败----但是又能ping通ip那么先apt-get update后再apt install gcc
- /bin/sh: 1: python: not found-------------sudo apt-get install python-dev
- 编译发现swig没有,安装 sudo apt-get install swig
- 在编译发现Python.h没找到安装sudo apt-get install python-dev
- 在编译缺少dtc工具 sudo apt-get install device-tree-compiler
- 编译内核可能出现的错误
- /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
ubuntu 静态ip的设置
ubuntu的网络配置信息放在 /etc/network/interfaces 中,
如果配置动态获取ip,则在上述文件中加入以下内容:
auto eth0
iface eth0 inet dhcp
如果配置静态ip,则添加如下内容:
auto eth0
iface eth0 inet static
address 192.168.33.201
netmask 255.255.255.0
gateway 192.168.33.1
重启网卡
ifconfig eth0 down
ifconfig eth0 up
嵌入式Windows环境搭建
代码编辑器(IDE)
可以使用source insight或者vs code 看个人选择
source insight 配置
设置默认保存路径
win+r regedit—》HKEY_CURRENT_USER\Software\Source Dynamics\Source
Insight\4.0\Paths
点击空白-》右键-》新建-》字符串值
名----UserDataDir ,数据为你想要保存的目录路径
tftp服务器