嵌入式开发基本环境搭建---ubuntu
嵌入式基本环境搭建
- 嵌入式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
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你仓库代码到本地了。
- 创建ssh key
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升级相关https://blog.csdn.net/littlehaes/article/details/104879476
wsl2虚拟化相关问题https://blog.csdn.net/KindSuper_liu/article/details/112316734
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版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/young471479588/article/details/124974618
编译过程出现错误以及解决措施
- 缺少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服务器
嵌入式开发基本环境搭建---ubuntu相关推荐
- 嵌入式开发基础环境搭建
采用的Linux是Debian6,虚拟机采用VirtualBox. 用VirtualBox安装Debian的方法,可以参见我的另一篇博客http://www.cnblogs.com/pengdongl ...
- QEMU imx6ul开发板环境搭建
QEMU imx6ul开发板环境搭建 文章目录 QEMU imx6ul开发板环境搭建 0. 前言 1. 基本环境 2. 安装KVM 3. 下载开发板的QEMU镜像文件 4. 运行QEMU系统 4.1 ...
- 利用 Windows 子系统 Linux(WSL)开发 Python 环境搭建
利用 Windows 子系统 Linux(WSL)开发 Python 一.启用适用于 Linux 的 Windows 子系统 二.安装 Linux 分发版 三.安装并配置 Visual Studio ...
- (二)Linux嵌入式开发——软件安装(Ubuntu)
文章目录 (二)Linux嵌入式开发--软件安装(Ubuntu) APP Store APT工具 问题 解决办法1 解决办法2 deb软件包 程序源码 问题1 解决办法 问题2 解决办法 总结 (二) ...
- HarmonyOS(鸿蒙系统)物联网开发教程——环境搭建
HarmonyOS(鸿蒙系统)物联网开发教程--环境搭建 目录 HarmonyOS(鸿蒙系统)物联网开发教程--环境搭建 前言 1 HarmonyOS简介 2 开发环境搭建 2.1 简洁版环境搭建(使 ...
- linux设备驱动开发之环境搭建(基于exynos4412)
第一章 linux设备驱动开发之环境搭建(基于exynos4412) 目录 第一章 linux设备驱动开发之环境搭建(基于exynos4412) 1.搭建开发板运行环境 1.1.交叉开发模式 安装交叉 ...
- 【 RA4M2开发板环境搭建之串口下载1】
[ RA4M2开发板环境搭建1] 1. 前言 1.1 活动来源 1.2 开发环境 1.3 RA4M2开发板 2. MDK环境准备 2.1 keil 5下载安装 2.2 安装RA4M2的软件支持包 2. ...
- BI报表开发之环境搭建(二)
上一篇<BI报表开发之环境搭建(一)>中详细描述了SQL SERVER R2 的安装步骤,本篇将继续描述BI报表开发的环境搭建部分-- Orale数据库安装. <1>下载ora ...
- auto.js id为参数滑动_【Autojs教程】02Autojs PC端开发调试环境搭建
[Autojs教程]02-Autojs PC端开发调试环境搭建 写在前面 本篇教程算是保姆级教程了,希望以此能吸引更多感兴趣的同学学习Autojs,也希望大家能因此碰撞出更多的奇思妙想 关注微信公众号 ...
最新文章
- 交换机软件IOS升级更简化了
- 仿苹果通知显示在图标右上角上
- deferred对象和promise对象(二)---deferred对象
- 谈AK管理之基础篇 - 如何进行访问密钥的全生命周期管理?
- python静态方法_Python静态方法
- ae 的动画导出为html,Bodymovin v5.5.3 – AE导出Web动画插件+使用教程
- 记录switch sxos TF卡游戏损坏(纯粹记录,很潦草,多多包涵)
- JavaScript页面跳转
- 重庆钢铁泛微oa系统服务器更新时间,泛微全新OA系统-协同办公系统
- 联想服务器管理系统,联想服务器的系统监控软件easyManage
- 根据pdf转换成tif图片
- 各种前端框架的下拉菜单收集
- 济南86公里综合管廊,CBD近万地下车位已建成
- 江苏单招C语言试题,2011年对口单招计算机试卷(C语言+原理+电工答案).doc
- 通用计算机按其规模速度和功能,电脑基础知识详解
- 用C#开发一个 DNF文字版 【一】
- Windows下的你画我猜 -- 告别效率低下的目录扫描方法
- Trucksim(一):Trucksim动力学模型搭建
- 固定资产管理系统能给企业带来什么?
- 1D/1D动态规划学习总结
热门文章
- 阿里云物联网平台MQTT教程
- python爬取豆瓣影评生成词云的课程设计报告_Python爬取豆瓣影评,生成词云图,只要简单一步即可实现。...
- 理解MVC、MVP、MVVM在干什么,进化的原因。
- 智慧城市专题视频课程 附教案
- 网易邮箱添加html,在网易邮箱中实行添加标签窗口的详细步骤
- background-clip:从box-sizing:border-box属性入手,来了解盒模型
- (java)2的幂次方
- office 2003也能编辑.docx文档
- Vulnhub_Napping
- ⭐UI自动化工具轻松实现微信消息收发⚡朋友圈爬取⁉️