DBoS 系统说明
https://www.bilibili.com/vide...
项目背景
程序员TianSong以单片机开发入门,后续又做了 Qt 相关工作,有时间后开始进行 linux 相关的学习,恰巧在二一年十一月份,百问网的韦东山老师进行了三个月的 linux 驱动直播,于是有了开发 DBoS 的念头。
DBoS, 源于狄泰软件学院(D)、百问网(B),演示所用知识主要来源于对应的唐佐林老师(C/C++/QT)和韦东山老师(LINUX),在此感谢两位前辈的辛苦付出。
项目介绍
这是一个基于 100ASK_IMX6ULL_PRO 开发板的综合性展示项目,包含上层应用和 linux 设备驱动两大部分。其中上层应用由 Qt 实现(5.14.2, qwidget, qss), 并在代码结构上对每个 app 进行了界限分明的切割,很容易完成移植。linux 驱动也采用了最简洁明了的方式进行编写。
应用程序包含:相机、音乐播放器、计算器、天气、系统信息、录音机(语音识别)、背光控制、视频播放器、OLED显示(数字手写体识别)、红外遥控器、超声波测距、光敏(ADC)、热红外、光照(环境传感器)、按键、地图、温湿度
PS:欢迎大家将 DBos 移植到其他开发板
二次开发
- 100ASK_IMX6ULL_PRO开发板QT移植过程说明
- 开发板支持鼠标,但需要修改
/etc/profile/S99myirhmi2
文件(查看提供的 profile 中注释即可),同时需要注意在 Qt 启动前插入鼠标 - 天气、录音机、地图应用程序使用的百度API,请申请自己的KEY和ID在Qt工程中进行替换(查看对应的
.h
文件中注释即可) - 在源文件中,
xxxwidget
表示一个单独的模块, 其中都至少包含image(图片资源文件夹)
style(样式文件夹)
xxx.cpp
xxx.h
关于页面卡顿:
1. IMX6ULL单核A7,主频800M,无GPU
2. Qt 不能只算一个GUI, 而是一个功能齐全的开发框架,这也带来了较大的资源开销,是LVGL等不能全等比较的
3. 以上两条导致在播放视频以及页面组件较多的时候,卡顿更为明显
4. 正点原子7寸LCD分辨率 1024*600 ,野火7寸LCD分辨率800*480,视频中展示所用的百问网LCD分辨率1200*600
联系方式
邮箱:1508539502@qq.com
微信:18805171729(请备注:DBoS)
最后的话
眼有星辰大海,归来仍是少年,祝大家都学有所成。 附上 DBoS 涉及的主要参考资料
视频
文档
- 《嵌入式Linux应用开发完全手册V4.0_韦东山全系列视频文档-IMX6ULL开发板》
- Qss 基础资料整理
- 100ASK_IMX6ULL_PRO开发板QT移植过程说明
被 1 篇内容引用
推荐阅读
【从零搭建 100ask_imx6ull_pro 开发板运行环境】2_kernel & buildroot
一、关于 kernel1、下载 {代码...} 2、 开发板文件适配默认的配置文件复制公版提供的默认配置文件 {代码...} 复制公版提供设备树 {代码...} 修改 100ask_imx6ull_pro_emmc.dts {代码...} 修改 100ask_imx6ull_pro...
TianSong阅读 563
程序员适合创业吗?
大家好,我是良许。从去年 12 月开始,我已经在视频号、抖音等主流视频平台上连续更新视频到现在,并得到了不错的评价。每个视频都花了很多时间精力用心制作,欢迎大家关注哦~考虑到有些小伙伴没有看过我的视频,...
良许赞 3阅读 1.3k
记一次使用gdb诊断gc问题全过程
上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章《GC耗时高,原因竟是服务流量小?》 然而,过了一段时间,我检查GC日志时,又发现了一个GC问题,如下: 从这个图中可以发现,我们GC有一些尖峰,...
扣钉日记赞 2阅读 1.1k
使用kubeasz部署高可用kubernetes集群
本实验采用kubeasz作为kubernetes环境部署工具,它是一个基于二进制方式部署和利用ansible-playbook实现自动化来快速部署高可用kubernetes集群的工具,详细介绍请查看kubeasz官方。本实验用到的所有虚拟机默认软...
李朝阳赞 4阅读 789
麒麟操作系统 (kylinos) 从入门到精通 - 故障排查篇
OS平台:银河麒麟桌面操作系统(飞腾版)V10 SP1操作系统镜像:Kylin-Desktop-V10-SP1-General-Release-2203-ARM64
Oulaa赞 3阅读 1.6k
linux中用户登录加载配置文件的过程
shell的类型(站在用户登录登录的角度)登录式shell正常通过某终端登录su - USERNAMEsu -l USERNAME非登录式shellsu USERNAME图形终端下打开命令窗口自动执行的shell脚本用户登录时相关的bash配置文件全局配置文件/...
Dabric阅读 5.3k评论 3
在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。
扣钉日记赞 3阅读 1.1k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。