- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 FFmpeg在Windows上编译
一 概述ffmpeg编译可以用于了解ffmpeg也可以获得自己需要的版本的库二 编译步骤首先下载ffmpeg,下载地址 Index of /releases如果在windows上编译需要实用到msys这个工具,可以模拟linux环境,使用命令行编译。网上搜索msys2就可以了,然后下载安装即可,不复杂接着我们需要使用qt的mingw编译器来进行编译。将qt自动安装的mingw编译器拷贝到msys环境里面来。将ffmpeg给拷贝到msys环境里面来,比如我这里的ffmpeg-4.1
2022-02-13 14:37:57
4961
原创 [实践经验] 嵌入式linux如何支持sqlite
在嵌入式开发板上,似乎sqlite总是一个不被考虑的问题,各种不带sqlite,想想也是sqlite毕竟在嵌入式板子上不是很需要,但是这里讲一下怎么使能,其实很简单,关键就是板子的/ust/lib下的qt插件目录中一定要有这里我们的目标板子是firefly rk3308sqldrivers文件夹,以及libsqlite.so,那么如何实现呢就是一种就是手动编译qt,还有一种就是在Buildroot中增加qtsqlite选项即可,然后重新烧写文件系统或者直接拷贝进板子也可以这样就可以在
2021-01-29 15:24:04
358
原创 [Linux] 如何查看应用所链接的动态库
在开发中我们常常需要查看一个应用究竟链接了哪些对应的动态库桌面linux的使用方法不赘述,网上资料有很多,对于嵌入式linux开发中,我们在ubuntu中使用ldd 是不行的应该使用这样就得到了我们的结果...
2021-01-09 12:21:10
1501
原创 如何在Linux Kernel种修改Uboot环境变量 fw_printenv
有些时候我们在进入了Linux之后,依然需要修改Uboot的环境变量来达到我们需要的一些功能,这一点Uboot很早就替我们想到了。提供了fw_printenv工具
2020-08-25 09:02:26
1666
原创 Android 如何修改以太网IP
这个问题可以说困扰了我很久,百度上当然有大神做出来,但是呢基本都很难复刻,这是一个很不常规的功能。我认为做普通APP是不需要的,只有在做一些嵌入式设备,比如什么广告机,售货机,取票机这类的设备的时候才会需要。这个一定是需要您有系统源码或者开发板提供商给您提供您需要的包。好了废话不多说直接开始说我们这个需求怎么做修改以太网IP需要以EthernetManager为代表的几个以太网配置类当然直接进行开发这几个类是没有的,这是Android隐藏API,何以见得都被标记为了hide,这里肯定不要
2020-08-12 10:35:27
2364
原创 如何生成Android系统签名以及如何签名(Android Studio/Qt)
在Android的开发中我们会在某些需求中需要使App具有系统签名,这个需求分为两步1 在AndroidManifest.xml文件中添加如下图一句话2 但是此时APP空具备系统权限但是无法安装,因为需要使用系统签名文件进行签名签名文件一般在系统源码中获取,所以这种需求需要您自己有系统源码或者有人给您提供签名文件,签名文件路径如下需要如下两个文件为了调试开发方便我们需要将这两个文件生成为keystore文件,这里需要使用到一个工具https://github.com/getfat
2020-08-12 09:53:56
1430
原创 [I.MX6ULL] 如何将sqlite移植到开发板上
首先呢,移植sqlite确实不是一件很困难的事情,大家放心1) 在sqlite官网上下载sqlite源码SQLITE源码2) 下载完毕,解压到系统里面3) 进入解压后的文件夹,创建install文件夹,这个文件夹是用来存放我们编译后的结果的4) 也是很重要的一步啦,configure--prefix也就是我们编译后的结果,就是前面创建的哪个install文件夹。--host呢就是编译器,这里我们因为之前安装的交叉编译器是arm-linux-gnueabihf所以就这么指定一.
2020-05-30 11:18:33
279
3
原创 [音视频开发]H264科普
H264属于一种编码格式,使用很多非常牛逼的算法。最终实现了视频数据量的压缩。打个比方 1920*1080的nv21数据,一帧就有差不多3M的数据量,那么假设视频传输的FPS是30,这已经很低了吧,那也达到了接近100M/S的数量流量。这谁顶的住啊。以上只是吹个牛逼,介绍一下视频编码的重要性。我们如果做相应的开发,一般来说不需要知道它用了多么牛逼的算法,只要知道大致的码流结构,...
2020-05-05 09:47:33
335
原创 Android修改开机动画bootanimation.zip
Android修改开机动画这个在网络上一搜就能搜到一大把,理所当然的认为这是很容易的事情。但实际上事情并不简单,因为都是坑首先呢bootanimation结构如下part0和part1都是文件夹用来存放图片的,请注意的是文件夹内的图片一定要使用同一尺寸的PNG图片之后来编辑desc.txt,请一定要注意只能使用记事本编辑,或者Linux下用gedit也行,但是不要用notepa...
2020-04-22 11:07:00
1648
原创 [总结]Qt+Linux小知识
1 LIBS的使用其实就是-L路径 -l库 这个-l呢也就会自动扩展为 librockchip_mpp.so 就是这样
2020-04-19 11:36:09
250
原创 如何在RK3288 Ubuntu上运行Qt
首先交叉编译实在是一件很难的事情,毕竟时间有限,不可能钻研这个钻研半天还不一定有结果。不如直接用rk3288来编译。第一步 sudo apt-get update sudo apt-get upgrade sudo apt-get install qt5-default经过漫长的安装过程。qt就已经安装到板子上了然后呢,可以在PC上写好程...
2020-04-19 11:29:10
1923
5
原创 QWebSocketServer实现WebSocket服务器
工作中接到一个需求,Qt软件中集成WebSocket服务器。那么很显然使用QWebSocketServer这个类。具体使用并不复杂 我把代码贴出来就可以看懂了。m_webSktSvr = new QWebSocketServer(QString(),QWebSocketServer::NonSecureMode,this);m_webSktSvr->listen(QHostAdd...
2020-04-08 16:09:11
2092
原创 如何在RK3288里面写一个最简单的驱动
首先呢,是驱动代码这里我们就尽可能简单的写了#include <linux/kernel.h>#include <linux/init.h>#include <linux/module.h>#include <linux/delay.h>static int __init hello_init(void){ printk("...
2020-03-07 18:19:30
344
3
原创 向RK3288根文件系统推送文件
有这样的需求下,比如我在PC上编译出了某个驱动xxx.ko,那么我需要将这个驱动放在RK3288的根文件系统下,rk3288烧写的是Android固件。那么可以这样做adb rootadb remountadb push "xxxx.ko" /system/lib/modules/当然了,至于insmod这些操作还是使用串口配合mobaxterm来进行比较方便...
2020-03-07 17:28:58
273
原创 关于offsetof无法计算动态的数组偏移 error: use of 'this' in a constant expression
用来计算结构体成员的偏移自然我们再熟悉不过,但是对于特殊情况比如我们也许会在需求中遇到需要计算结构体某个数组成员的某个单元的偏移,那么这样的语句是无法通过编译的error: use of 'this' in a constant expression对此我做出的解决方案就是重新实现一个offsetof函数如下/* * 计算offsetof(因为传统的offsetof不能...
2020-03-04 09:38:39
1244
原创 VSCODE的使用技巧(尽量长期更新)
我将VSCODE的使用技巧放在了Linux驱动学习之路专栏中,因为对于我来说VSCODE在进行Linux驱动学习的时候实在是太方便了,对于好用的工具,忍不住要好好总结。1、需要用到的插件参考了正点原子的课程,就直接用了2 写Linux代码需要用到的包含路径,一般写内核驱动当然要用到内核路径了,这是最重要的一个功能,否则这和用vim写代码有啥区别呢CTRL+SHIFT+P打开VSCO...
2020-02-29 12:17:05
947
原创 记录一次对Qt vlc 在android下进行硬件解码的实验(结果失败了)
最近想实现写一个Qt程序运行在android上,并且可以利用rk3288强大的硬件解码器进行解码并且实时播放rtsp流,选来选去我把目光停留在了vlc上,但是在qt on android上使用vlc有一个问题,那就是没法像常见的指定窗体的方式进行开发,比如只能使用callback方式进行开发这样是可以进行的但是重大问题在于完全工作在软解码模式下,效率非常低。这明显不是我们想要的。...
2020-01-16 16:34:51
981
2
原创 Qt 在Ubuntu下开发一个简单的vlc播放器
对于vlc的研究实在是很浅薄,还在路上,这里总结一下如何在ubuntu下开发一个最简单的vlc播放器。首先您得获取vlc的SDK,我获取的方式很随意,在ubuntu下安装了vlc以后,从 /usr/lib/x86_64-linux-gnu 这个路径下拷贝了这个文件作为so,然后头文件我是从之前编译的vlc-android文件夹里面获取的,SDK获取的方式不一定需要多严格,有了就行。...
2020-01-15 16:47:10
1269
原创 vlc-android编译的踩坑历程
首先关于什么是vlc我这里就不多介绍了,毕竟搜索到这里的大家都是知道的。这两天一直在弄vlc android的编译,确实很多坑,但是好在最后还是编译出来了(SDK APP我是没编译出来毕竟对Gradle之类的不太懂)编译一律参考官方wikihttps://wiki.videolan.org/AndroidCompile/下面给大家介绍一下我的编(cai)译(keng)历程环境u...
2020-01-13 10:02:58
581
原创 Qt on Android 添加SO库
在Qt开发android的时候,有时候我们采用开发板厂商提供的jar配合Qt jni接口调用,然而有的时候由于我们Qt是基于C++的,我们可以直接抄底绕开jar调用其底层的so库来进行开发。本文介绍了如何调用so库实现这一功能。一 右键项目添加库选择外部库二 在android项目中添加so库之后便可以愉快的开发了...
2020-01-10 15:01:42
988
2
原创 Qt输出指定格式的数字字符串
有些时候我们需要将数字转换为指定格式的字符串,比如01,020,0015这种的,那么怎么转换?首先举个例子,我们希望把1显示为001。那么代码这么写QString nchstr = QString("%1").arg(1,3,10,QChar('0'));...
2019-12-17 09:28:07
2072
原创 Qt设置开机自启动(不需要管理员权限也可以)
关于Qt开机自启动方法网络上有无数的博文总结过,这里我再贴上这段代码 //NativeFormat在windows下就是系统注册表 QSettings nsettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat); qD...
2019-11-22 16:22:44
1097
原创 全志A33获取Root权限
在嵌入式安卓板上进行开发的时候,我们通常不可避免的会遇到一些需要获取Root权限才能进行的操作,例如屏蔽安卓虚拟键盘和下拉菜单等。一开始我认为获取Root权限这种事情也就是可能我太年轻了,我百度到头发都要抓光了也没百度出来。不过后来还是解决了,下面详细的介绍一下解决方案以下方案限于 全志A33芯片 + Android 4.4.2 并且您的计算机已...
2019-05-26 10:47:54
2209
原创 基于STM8的RFID程序设计
好久好久没有更新了~现在开始在实习,正好公司最近在做一款宾馆用的插卡取电模块,用的是STM8配合RFID MFRC522模块实现的,国庆没事正好在淘宝上买了一款RFID模块,配合自己的STM8,体验一下。MFRC522 模块使用了支持 SPI UART I2C,但是一般都使用SPI接口开发(难道是因为淘宝上的程序都是SPI?!)MFRC522是个很有故事的芯片,因为打开它的数据手册,...
2018-10-31 17:24:09
1991
原创 【Delphi&C++Builder】几步搞定FireDac配置
Delphi和C++Builder所属的IDE RAD Studio可以说是一个比较小众的IDE,有很多问题。但最近也在进步。 但是使用RAD STUDIO进行数据库项目的开发可以说是非常方便并且具备还不错的性能(官方说的)。可是却有一个明显的缺点就是:官方教程实在不是那么好用,被迫做英语阅读不说。而且使用方法多变,不经过一段时间的使用。一定是一头雾水。 这里作者总结出...
2018-10-31 17:17:09
1517
原创 基于STM8的DHT11温湿度传感器的驱动代码设计
基于STM8的DHT11温湿度传感器的驱动代码设计 最近希望恢复性学习一下STM8的相关知识,于是我选择了从头开始写温湿度传感器DHT11驱动代码的方式。其中遇到一些问题,也有一些收获,希望会帮助到遇到类似问题的朋友,也希望不足之处得到大家的指导 首先介绍一下DHT11的必要知识 一 复位时序 以及 数据时序 下面是数据时序此外,根...
2018-10-31 17:14:53
787
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人