查看“Buildroot 系统使用”的源代码
←
Buildroot 系统使用
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
该buildroot系统是基于wayland显示协议的嵌入式系统。系统集成的qt支持wayland、wayland-egl、eglfs、linuxfb显示插件。 ==基础信息== ===用户密码=== 系统默认使用root用户登录,并支持root用户ssh远程登录,给目标系统root用户设置密码为root<br /> <syntaxhighlight lang="bash"> $ passwd root > root > root </syntaxhighlight> ===系统设置=== 系统使用基于[https://wayland.freedesktop.org/ wayland]协议的[https://github.com/wayland-project/weston weston]软件来作为显示后端,开机启动脚本为/etc/init.d/S50launcher,脚本中启动了weston软件后又启动了/usr/bin/QLauncher程序,可将该程序替换为其他Qt程序。weston的配置文件为[https://jlk.fjfi.cvut.cz/arch/manpages/man/weston.ini.5 /etc/xdg/weston/weston.ini]。常用设置参考如下: <syntaxhighlight lang="bash"> [shell] panel-position=none # 取消桌面顶部的任务栏 background-image=/usr/lib/qt/examples/wayland/multi-output/images/background.jpg # 更换背景图片 background-color=0xFF000000 # 使用颜色参数将桌面背景设置为全黑 [launcher] icon=/usr/share/weston/terminal.png path=/usr/bin/weston-terminal # 在桌面顶部的任务栏中添加程序启动图标 [output] name=HDMI-A-1 mode=1920x1080@60.0 transform=90 # 将桌面旋转90度 # 参数可从启动weston时的打印查看到 </syntaxhighlight> 重启脚本命令: <syntaxhighlight lang="bash"> $ /etc/init.d/S50launcher stop $ /etc/init.d/S50launcher start </syntaxhighlight> ==使用示例== ===网络设置=== 系统下有ifupdown和[https://wiki.archlinux.org/index.php/Dhcpcd dhcpcd]两套软件在管理网络,开机启动脚本分别为/etc/init.d/S40network和/etc/init.d/S41dhcpcd,ifupdown的配置文件为/etc/network/interfaces,dhcpcd的配置文件为/etc/dhcpcd.conf,两套软件相互独立。系统默认没有对/etc/network/interfaces进行设置,只有dhcpcd对eth0配置了DHCP。若不需要两套软件管理,选择将其中一个从/etc/init.d/目录移除即可 *使用ifupdown设置网络 设置静态IP,编辑/etc/network/interfaces,参考设置如下:<br /> <syntaxhighlight lang="bash"> auto eth0 iface eth0 inet static address 192.168.0.10 gateway 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 dns-nameservers 1.2.4.8 114.114.114.114 </syntaxhighlight> 重启系统生效 *使用dhcpcd设置网络 设置静态IP,编辑/etc/dhcpcd.conf,参考设置如下: <syntaxhighlight lang="bash"> interface eth0 static ip_address=192.168.0.10/24 static routers=192.168.0.1 static domain_name_servers=1.2.4.8 114.114.114.114 </syntaxhighlight> 重启系统生效 *连接wifi 系统下使用[https://wiki.archlinux.org/index.php/Wpa_supplicant wpa_supplicant]软件连接wifi,开机启动脚本为/etc/init.d/S80wifireconnect,配置文件为/userdata/cfg/wpa_supplicant.conf,系统中提供了wifi_start.sh脚本用于输入wifi账号密码并进行连接,并借助系统下的dhcpcd服务配置了动态IP,参考命令如下: <syntaxhighlight lang="bash"> $ wifi_start.sh norco_2.4G norco85258506 # 账号:norco_2.4G # 密码:norco85258506 </syntaxhighlight> 常用调试命令,参考如下: <syntaxhighlight lang="bash"> $ ip link set wlan0 up # 使能wlan0接口 $ iw dev wlan0 scan | grep SSID # 使用iw命令搜索wifi $ iwlist wlan0 scan | grep SSID # 使用iwlist命令搜索wifi $ cp /etc/wpa_supplicant.conf ./1.conf $ wpa_passphrase norco_2.4G norco85258506 >> ./1.conf # 将wifi账号和密码保存到配置文件 $ wpa_cli -i wlan0 disconnect # 关闭已有的wifi连接 $ killall wpa_supplicant # 杀死已启动的wpa_supplicant进程 $ wpa_supplicant -B -i wlan0 -c ./1.conf # 后台运行wpa_supplicant程序,尝试根据配置文件信息连接wifi $ wpa_cli -i wlan0 scan # 使用wpa_cli命令扫描wifi # 先运行wpa_supplicant程序,才可以使用wpa_cli命令 $ wpa_cli -i wlan0 scan_result # 使用wpa_cli命令查看扫描到的wifi $ ip addr add 192.168.1.3/24 brd + dev wlan0 # 设置静态IP $ ip route add default via 192.168.1.1 dev wlan0 # 添加网关 $ ip route delete default via 192.168.1.1 # 删除网关 </syntaxhighlight> *4G模块上网 系统默认支持EC20 4G模块,插上4G模块、插上SIM卡、接上天线即可。系统下使用/etc/norco/init.d/ec20.sh脚本拨号上网,动态获取IP,不需要手动操作 ==QT开发== ===搭建qt开发环境=== 主机PC端环境为Ubuntu16.04,目标板系统为buildroot嵌入式系统,默认使用root用户登录,并支持root用户ssh远程登录,给目标系统root用户配置密码为root<br /> <syntaxhighlight lang="bash"> $ passwd root > root > root </syntaxhighlight> SDK与系统镜像一同发布,从相应的烧录包中获取SDK。SDK中包含交叉编译工具链、qmake、与目标板系统的rootfs。解压SDK到任意目录$TOP_DIR(示例中以路径/home/lin/trash为例),并运行开发环境配置脚本<br /> <syntaxhighlight lang="bash"> $ tar host.tar.gz -C $TOP_DIR $ cd $TOP_DIR/host $ ./relocate-sdk.sh </syntaxhighlight> ===使用终端命令行编译运行qt程序=== qt程序使用SDK中的qt5 examples例程,通过qmake、make命令进行编译 <syntaxhighlight lang="bash"> $ export PATH=$TOP_DIR/host/bin:$PATH $ cd $TOP_DIR/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/opengl/hellowindow $ qmake $ make </syntaxhighlight> 生成hellowindow程序,可通过scp拷贝到目标板中直接运行<br /> <syntaxhighlight lang="bash"> $ scp hellowindow root@10.168.1.247: $ ssh root@10.168.1.247 $ ./hellowindow </syntaxhighlight> 系统在/etc/init.d/S50launcher开机启动服务中,启动了wayland显示服务,并运行了QLauncher桌面,若使用eglfs或linuxfb显示插件,则需要移除S50launcher服务 <syntaxhighlight lang="bash"> $ mv /etc/init.d/S50launcher ~ $ sync $ reboot </syntaxhighlight> 指定eglfs显示插件运行程序<br /> <syntaxhighlight lang="bash"> $ ./hellowindow -platform eglfs </syntaxhighlight> [[文件:Projects 0.jpg|800px]]<br /> <br /> 指定linuxfb显示插件运行程序<br /> <syntaxhighlight lang="bash"> $ ./calculator -platform linuxfb </syntaxhighlight> ===使用qtcreator开发调试qt程序=== qtcreator集成编辑、编译、运行、调试环境于一体,提升开发效率<br /> <br /> '''安装qtcreator'''<br /> <syntaxhighlight lang="bash"> $ sudo apt-get install qtcreator </syntaxhighlight> <br /> '''添加Qt Versions'''<br /> Tools --> Options --> Build & Run --> Qt Versions --> Add --> 选中qmake路径 --> Apply<br /> [[文件:Qtcreator1 Qt Versions.png]]<br /> <br /> <br /> '''添加Compilers'''<br /> Tools --> Options --> Build & Run --> Compilers --> Add --> GCC -- 选中g++路径 --> Apply<br /> 注意:选中g++路径,并修改ABI一栏明确指示平台架构为arm<br /> [[文件:Qtcreator1 Compilers.png]]<br /> <br /> <br /> '''添加Debuggers(可选项)'''<br /> Tools --> Options --> Build & Run --> Debuggers --> Add --> 选中gdb路径 --> Apply<br /> [[文件:Qtcreator1 Debuggers.png]]<br /> <br /> <br /> '''添加Devices(可选项)'''<br /> Tools --> Options --> Devices --> Add --> General Linux Device --> start Wizard<br /> [[文件:Qtcreator1 Devices.png]]<br /> <br /> 并点击"Test"测试设备联通'''<br /> [[文件:Device Test.png]]<br /> <br /> <br /> '''添加Kits'''<br /> Tools --> Options --> Build & Run --> Kits --> Add --> Apply<br /> [[文件:Qtcreator1 Kits.png]]<br /> <br /> <br /> '''打开 hellowindow 工程并选择Kits'''<br /> Welcome --> Open Porject --> 选择工程路径 /home/lin/trash/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/opengl/hellowindow/hellowindow.pro --> Configure Project<br /> [[文件:Qtcreator1 Configure Project.png]]<br /> <br /> <br /> '''编译运行 hellowindow'''<br /> Build --> Build Project "hellowindow" --> 重启qtcreator --> Build --> Run<br /> [[文件:Projects 1.png|1560px]]<br /> <br /> [[文件:Projects 2.jpg|1560px]]<br /> <br /> <br /> '''配置debug模式'''<br /> Projects --> buildroot-kit --> Build<br /> 注意:找到 Build Steps --> qmake --> Details --> Additional arguments --> 添加 QMAKE_CXXFLAGS+=-g [[文件:Projects 3.png|1560px]]<br /> <br /> Projects --> buildroot-kit --> Run<br /> 注意:找到 Run Environment --> Details --> 点击 Fetch Device Environment<br /> [[文件:Projects 4.png|1560px]]<br /> <br /> <br /> '''重新编译并调试运行'''<br /> Build --> Clean Project "hellowindow"<br /> Debug --> Start Debugging --> Start Debugging<br /> [[文件:Projects 5.png|1560px]]<br /> <br /> [[文件:Projects 6.jpg|1560px]]<br /> <br /> <br />
该页面使用的模板:
模板:RKExportPackFirmware
(
查看源代码
)
模板:Ubuntu主机开发环境搭建
(
查看源代码
)
返回至
Buildroot 系统使用
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息