找回密码
 立即注册
Qt开源社区 门户 查看内容

嵌入式开发环境部署

2019-10-2 11:10| 发布者: admin| 查看: 683| 评论: 0

摘要: 题外话:首先祝大家国庆节快乐!非常感谢大家对我得包容与谅解,闲话少叙!嵌入式开发环境搭建1、嵌入式开发环境主要由两部分组成:SDK+OPENWRTOpenwrt:openwrt基于linux,裁剪了Linux的文件系统,封装了适用于智能 ...

题外话:首先祝大家国庆节快乐!非常感谢大家对我得包容与谅解,闲话少叙!


嵌入式开发环境搭建

1、嵌入式开发环境主要由两部分组成:SDK+OPENWRT


Openwrt:openwrt基于linux,裁剪了Linux的文件系统,封装了适用于智能家居的功能模块。

SDK:一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。

2、安装虚拟机

2.1、工具、镜像下载


https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
至此网站下载Vm workstation,这是你赖以生存的平台,有良好的容错性!




http://archive.openwrt.org/releases/17.01.4/targets/x86/64/
至此网站下载openwrt虚拟镜像。下载目标为:
combined-ext4.img.gz






http://releases.ubuntu.com/16.04/
至此网站下载ubuntu16.04


2.2、安装

2.2.1、安装sdk

















































不过你以为这就完事儿啦?哦,不你只是安装了一个壳子!接下来,你要来点儿实际的!












接下来就是等待了,你可以看个小视频,创建用户时候创建就好,此处省略几张图,明白英文意思就很简单了!如果实在能力欠佳请百度一下。此处给你一个链接吧!
https://www.jianshu.com/p/faf8bbbdd0f2
登录进去!!!Ctr+Alt+T进入终端,为了省去不必要的麻烦以及伤害你的脑细胞


2.2.3、配置

相关软件包

apt-get install asciidoc         #默认未安装
apt-get install autoconf         #默认未安装
apt-get install binutils
apt-get install bison            #默认未安装
apt-get install build-essential
apt-get install bzip2
apt-get install gawk             #默认未安装
apt-get install gcc g++
apt-get install gettext
apt-get install git-core  
apt-get install flex             #默认未安装
apt-get install patch
apt-get install make
apt-get install ncurses-term     #默认未安装
apt-get install sharutils           #默认未安装
apt-get install unzip

下面的包安装时可能存在依赖问题


apt-get install libncurses5-dev
apt-get install libssl-dev
apt-get install libz-dev
apt-get install subversion
apt-get install texinfo
apt-get install zlib1g-dev

由于安装软件的过程中会发生一些奇怪的依赖问题,推荐逐条安装,需要特别注意的软件包已标注,如上!
解决依赖问题:

➜  tools git:(master) apt-get install libncurses5-dev
正在读取软件包列表… 完成
正在分析软件包的依赖关系树    
正在读取状态信息… 完成    
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
libncurses5-dev : 依赖: libtinfo5 (= 5.9+20140118-1ubuntu1) 但是 6.0+20160213-1ubuntu1 正要被安装
                  依赖: libncurses5 (= 5.9+20140118-1ubuntu1) 但是 6.0+20160213-1ubuntu1 正要被安装
                  依赖: libtinfo-dev (= 5.9+20140118-1ubuntu1) 但是它将不会被安装
                  依赖: ncurses-bin (= 5.9+20140118-1ubuntu1)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决方法:

系统设置-->软件与更新-->更新-->勾选重要安全更新&推荐更新&不支持的更新

系统设置-->软件与更新-->Ubuntu软件-->可从互联网下载,全部勾选,并调整下载自为http://mirrors.aliyun.com/ubuntu


以下软件就都可以正常安装了


apt-get install libncurses5-dev
apt-get install libssl-dev
apt-get install libz-dev
apt-get install subversion
apt-get install texinfo
apt-get install zlib1g-dev

对应源码包

git clone git://github.com/openwrt/openwrt.git
切换普通用户

后续的操作需要普通用户来完成,故新建一个用户于此。

useradd  sdkuser

passwd sdkuser

chown sdkuser ./openwrt -R

su sdkuser
安装Feeds包

FeedsOpenwrt环境所需要软件包的套件,主要有:

  • packages:一些额外的基础路由器特性软件

  • LuCIOpenwrt默认的GUI

  • Xwrt:另一种可选的GUI

./scripts/feeds update -a    #更新packages
./scripts/feeds install -a   #安装feeds包

构建Openwrt基础固件*

make menuconfig  #配置

输入以上命令之后,会进入一个命令行图形界面,界面最上面是用法`

[*]表示:这个包裹选中编译,并安装在升级版本中

[M]表示:这个软件包选中编译,但并不安装在升级版本中

回车进入子级菜单,根据提示按空格或Y选中目标项
以下是我的选择,你可以选择性的参考,我的配置非常简单,如果需要额外的功能可以通过 opkg 来安装,所以固件简单点就好,反正之后还可以安装。


image.png
目标镜像:(其实就是往下走!)



管理接口:



选择结束之后,Exit,输入以下命令开始编译:
make V=99 -j5
(此处可以省略,不能断电断网还很耗时,新生成的镜像在bin目录下)
然而还没有完!!!
2.2、安装openwrt
转换工具:StarWindConvert
由于镜像并不能直接引用,你需要下载一个工具
https://www.starwindsoftware.com/starwind-v2v-converter
(谷歌浏览器可以汉化)
此工具的使用:


















终于终于可以开始了!!!

导入VM:


使用StarWindConvert将上面下载的镜像转化为IDE硬盘格式的VMDK文件,使用Vmware导入之。




这种情况不要慌,按一下Enter键,你会发现新大陆!



  • IDE

  • 桥接网卡(修改为dhcp模式,默认桥接之后可能为物理机网关) :/etc/config/network

导入Vbox:


使用VboxManage.exeimg转为iso镜像,正常安装虚拟机即可!
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe convertfromraw -format VDI "D:\Vmware\Lede 17.01.4\lede-17.01.4-x86-64-combined-ext4.img" "D:\Vmware\Lede 17.01.4\lede.vdi"

网络配置


导入虚拟机后,默认br-lan网卡接口的网络为static地址,需要修改为本地网段或设置为dhcp模式。

使用Vbox添加两块网卡,网卡1选择仅Host Only,网卡选择网络地址转换NAT,这样就可以内部虚拟机与主机互通,也能让openwrt访问外网!
vim /etc/config/network
config interface 'lan'
    option type 'bridge'
    option ifname 'eth0'
    option proto 'dhcp'
/etc/init.d/network/restart

访问测试

`Web`接口


浏览器访问:openwrt's hostonly's ip

远程连接


ssh root@openwrt's hostonly's ip



这种即为测试成功,然后Ctrl+C退出即可


----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:亢奋的毛毛雨,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了