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 涉及的主要参考资料
1 篇内容引用

阿里山神木的种子在3000年前已经埋下,今天不过是看到当年注定的结果,为了未来的自己,今天就埋下一颗...

715 声望
96 粉丝
0 条评论
推荐阅读
【从零搭建 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

Oulaa3阅读 1.6k

封面图
linux中用户登录加载配置文件的过程
shell的类型(站在用户登录登录的角度)登录式shell正常通过某终端登录su - USERNAMEsu -l USERNAME非登录式shellsu USERNAME图形终端下打开命令窗口自动执行的shell脚本用户登录时相关的bash配置文件全局配置文件/...

Dabric阅读 5.3k评论 3

在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。

扣钉日记3阅读 1.1k

封面图

阿里山神木的种子在3000年前已经埋下,今天不过是看到当年注定的结果,为了未来的自己,今天就埋下一颗...

715 声望
96 粉丝
宣传栏