自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小段孩

m0_38099380

  • 博客(85)
  • 资源 (6)
  • 收藏
  • 关注

原创 qt下使用第三方播放器

基于全志封装的tplayer多媒体播放接口,再封装一层通用型多媒体播放api。封装api所需文件:文件为api的定义头文件,为上层qt提供调用播放器接口。文件为api的主体封装部分,封装内容为tplayer提供的播放接口。剩下的文件是基于tina系统编写的,为生成提供相关的编译配置和参数。第一层文件所在路径:配置如下:第二层文件所在路径:配置如下:播放器封装实现实现如下:实现如下:使用播放器接口实现:实现:...

2022-07-08 09:37:01 792 1

原创 Ubuntu下设置键盘背光灯

开启键盘背光灯:xset led named 'Scroll Lock'关闭键盘背光灯:xset -led named 'Scroll Lock'

2021-01-20 14:01:38 1757

原创 编译程序时出现 /usr/bin/ld: cannot find -lpulse-mainloop-glib的解决办法

背景系统:ubuntu软件:qt编译工具链:gcc出现错误:/usr/bin/ld: cannot find -lpulse-mainloop-glib/usr/bin/ld: cannot find -lpulse/usr/bin/ld: cannot find -lglib-2.0collect2: error: ld returned 1 exit status原因ubuntu系统没有自带相关的库。解决方法安装相关库:sudo apt-get install libgl

2020-06-04 15:58:42 858

原创 提高虚拟机中使用ubuntu系统的流畅度

背景虚拟机:virtual box6.1ubuntu版本:14.04现象1、 默认主题下,编辑代码时,会出现很卡的现象(频率较高)2、 操作界面不流畅对策可能虚拟机中无法很好地支持3d模式1、 取消虚拟机设置中的3D加速2、进入ubuntu终端中,下载新的简洁主题sudo apt-get install gnome-session-flashback3、注销重新登录,选择 GNOME Flashback(Metacity)选项即可...

2020-05-26 12:00:40 1952 1

原创 Makefile中打印信息

打印信息$(warning xxx)$(error xxx)打印变量值$(warning $(xxx))

2020-04-13 09:31:49 1042

原创 Qt自定义插件使用总结

定义接口如上图所示,先要定义一个插件类,然后使用Q_DECLARE_INTERFACE宏定义一个插件接口。其中Q_DECLARE_INTERFACE(ClassName, Identifier)宏的解释如下:This macro associates the given Identifier (a string literal) to the interface class called ...

2020-04-08 17:04:40 439

原创 FreeRTOS的调度原理

前言以个人理解,FreeRTOS内核调度的本质是利用了从异常中断返回时,切换任务栈的机制,使得进入新的任务下进行执行任务,实现内核调度功能。内核进入第一个空闲任务分析内核版本:FreeRTOS V9.0.0硬件平台:STM32F103ZE仿真平台:MDK5.23启动代码分析// startup_stm32f10x_hd.s; Reset handlerReset_Handle...

2020-04-02 19:07:18 8376 3

原创 python---学习小记

python 学习–批量翻译文件生成注释符号: //// 默认调用/usr/bin/python程序#!/usr/bin/python// 编码使用utf8# encoding=utf8// 在python里面,读取或写入csv文件时,首先要(引用)import csv这个库,// 然后利用这个库提供的方法进行对文件的读写import csv// 知识点:from 模块名 i...

2020-03-19 15:03:29 130

原创 ubuntu安装搜狗拼音

平台pc:ubuntu14搜狗版本:sogoupinyin_2.2.0.0108_amd64.deb步骤sudo apt-get install libopencc1 fcitx-libs fcitx-libs-qtsudo dpkg -i sogoupinyin_2.2.0.0108_amd64.debsudo apt-get install -f一路向下,最后搞定。...

2020-03-10 18:11:03 618

原创 qt中.pri文件使用

背景当有很多的外部库文件或者第三方文件很多,并且要添加在工程中,这时使用.pri文件特别方便,下面向大家安利一下。使用方法在pri文件中添加如下文件:其中pri文件与第三方文件放在同一级目录下。工程文件中添加pri文件:像上面使用include的方法添加pri文件,就可以使用第三方的的文件了,特别方便快捷。...

2020-02-20 15:56:31 1855

原创 友元类操作符重载函数特点

背景友元操作符重载函数申明实例友元操作符重载函数定义实例友元操作符重载函数使用实例特点友元操作符重载函数是非成员函数,前面加入friend关键字,是为了可以访问所在类的私有成员,其访问权限与类中成员函数一致友元操作符重载函数的调用不是由对象调用的,因此它所使用的值或者对象是显式参数,对于涉及到不同类型的多元操作符来说,使用友元操作符重载函数形式定义很合适...

2020-02-18 14:37:33 206

原创 freertos内核之xTaskCreate函数分析

背景软件系统:freertos软件版本:V9.0.0函数分析#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, const char * const pcName, const uint16_t usStackDep...

2020-02-13 19:14:36 2364

原创 qt上区分Linux、Mac、win的方法

可以根据宏来区分:用编译宏Q_OS_WIN32, Q_OS_LINUX, Q_OS_MAC

2020-02-12 12:01:30 3541

原创 PRIVILEGED_FUNCTION(c语言代码中)关键字解释

背景软件内核:FreeRTOS V9.0.0文件路径:src/task.c:574现象涉及PRIVILEGED_FUNCTION的代码片段:/* * Called after a Task_t structure has been allocated either statically or * dynamically to fill in the structure's mem...

2020-02-11 10:33:17 4605

原创 linux下GT911触摸屏驱动优化记录

linux下GT911触摸屏驱动优化记录背景由于最近要做linux内核启动速度优化,所以就对着驱动一点一点优化,加上QT应用程序的初始化,总共的启动时间要做到4S以内。目前先调试GT911驱动程序。平台芯片:全志A33内核:linux-3.4优化驱动:GT911优化步骤原始驱动加载信息[ 47.327870] ***CTP***GTP driver init[ 47...

2020-01-20 14:43:18 2880 3

原创 基于A64的linux4.18内核进入panic后无法自动重启

基于A64的linux4.18内核进入panic后无法自动重启背景最近几天公司的一个做矿机的客户遇到了这样一种情况:使用tf卡加载程序时,内核进入panic可以自动重启;使用nor flash时,内核进入panic无法自动重启。由于客户的挖矿管理程序bug很多,很容易造成不同情况的panic,但是量产在即,容不得那么多时间去一一排查bug,所以就往内核添加了只要进入panic就自动重启的配置,...

2020-01-20 14:02:47 992 2

原创 基于A33下linux内核的GDB+KGDB内核调试环境搭建

基于A33的GDB+KGDB内核调试环境搭建平台芯片:全志A33系统:Tina3.5内核:linux3.4通信方式:串口修改内核配置文件在内核配置文件.config中,打开如下选项:配置项开关备注CONFIG_KGDBy加入KGDB支持CONFIG_KGDB_SERIAL_CONSOLEy使用KGDB通过串口与主机通信CONFIG_DE...

2020-01-16 09:16:59 1027 2

原创 使用diff生成patch方法

使用diffdiff -Naru filePath(old) filePath(new) > differences.patch

2020-01-15 18:56:15 1971

原创 基于全志A33平台在线gdbserver调试环境搭建

环境概述使用平台:全志A33使用系统:Tina3.5使用编译工具链:arm-openwrt-linux-gdb 8.0搭建步骤编译生成含有gbserver的固件1 进入tina系统的顶层工作目录下:source build/envsetup.shlunch #(选择item:5)make menuconfig进入Development->gdbserver路径选择...

2020-01-09 09:58:42 738

原创 基于QT下的脚本类使用

QScriptContext类QScriptContext类表示一个qt脚本的功能调用。QScriptContext类提供对“this”对象的访问以及传递到脚本函数的参数。当你编写一个从脚本代码调用本机函数(C++)时,需要访问此类。例如,下面的脚本代码:foo(20.5, "hello", new Object())被执行时,QScriptContext对象将会被创建,而且上下文将会携...

2020-01-09 09:52:32 4593 1

原创 for与foreach循环效率比较

for与foreach循环效率比较对于数组来说for循环略慢foreach对于链表来说for循环比foreach慢很多。因为for循环每次获取链表节点都要重头开始查找,而foreach是采用迭代方式,查找节点只需遍历一次,节省了很多时间。总结在循环操作中不涉及插入、删除等行为时,优先使用foreach在循环操作中涉及插入、删除等破坏数组或链表原始映像行为时,应使用for坊...

2020-01-08 10:29:30 4929

原创 ubuntu14搭建内网gitlab服务器

平台宿主机系统版本:Ubuntu 14.04.5 LTSgitlab软件版本:11.10.8-ee验证web浏览器版本:Mozilla Firefox 68.3.0esr安装firefox浏览器在官网https://www.firefox.com.cn/download/ 下载Linux-64位web浏览器,并将其软件包安装至宿主机目录下,安装如下:cd /usr/lo...

2020-01-06 17:42:57 487 2

原创 出现“Could not initialize egl display \n Aborted”---问题解决记录

背景在嵌入式移植qt过程中,在进入开发板终端执行qt中的例程时出现:xxx省略Could not initialize egl display Aborted平台芯片:全志A33qt版本:5.10.1软件系统:tina3.5软件内核:linux3.4软件系统介绍略。问题分析这种问题一般是出现在硬件驱动方面,只提示不能初始化显示平台,说明可以打开初始化平台(这里通过...

2019-12-19 09:49:59 4289

原创 EGL library doesn't support Emulator extensions---问题解决记录

解决方法export QT_QPA_EGLFS_INTEGRATION=none

2019-12-17 14:37:16 2163 1

原创 使用git命令生成patch和打patch

生成patchgit format-patch HEAD^               #生成最近的1次commit的patchgit format-patch HEAD^^              #生成最近的2次commit的patchgit format-patch <r1>..<r2> #生成两个commit间的修改的patch(<r1&gt...

2019-12-06 11:58:55 270

原创 qt下使用智能指针出错的问题:invalid application of ‘sizeof’ to incomplete type xxx

书写文件如下#include <QObject>#include <QScopedPointer>class ElementPrivate;class Element : public QObject{public: Element(); virtual ~Element() {}protected: explicit Element...

2019-11-27 13:59:41 1438

原创 如何将linux下编译过程输出到文件

全部输出到文件的方法make -j1 > ../all.log 2>&1上面会将常规提示信息、警告信息输出到all.log文件。常规信息输出到文件的方法make -j1 > ../all.log上面会将常规提示信息输出到all.log文件,警告等信息输出到屏幕上。...

2019-11-27 09:40:53 1386

原创 C++中单例模式Demo

C++中单例模式Demodemo如下:QMutex DrawToolPrivate::mutex;DrawTool *DrawTool::getInstance(){ QMutexLocker locker(&DrawToolPrivate::mutex); static DrawTool *instance = NULL; if (instance ==...

2019-11-26 16:29:29 194

原创 error: insufficient permission for adding an object to repository database .git/objects ---问题解决记录

使用git命令添加新文件时出现问题解决方法sudo chown -R init02: .git上面的**init02:**是你当前的用户名+冒号如何查看当前用户名whoami结果验证

2019-11-22 18:44:06 278

原创 代码文件注释版权范例

代码文件注释版权范例/** ** This file is part of the HMIRunTime project. ** Copyright (C) xxx xxx Technology Co., Ltd. ** All Rights Reserved. ** Unauthorized copying of this file, via any medium is strictl...

2019-11-19 14:22:06 2845

原创 ubuntu下解压命令

.tar.xz解压命令xz -d xxx.tar.xztar -xvf xxx.tar

2019-11-19 10:47:05 138

原创 C++常用设计模式浅记

工厂模式工厂模式是一种创建模式,适合复杂对象的创建;工厂模下的工厂类集合了一个对象的所有创建逻辑,如果其创建逻辑很多的话,那么该工厂类就显得很臃肿。策略模式策略模式可以降低代码逻辑的复杂度,便于维护;一般的策略模式像多态函数的实现一样,使用角色不一样,所表现的行为也不一样;缺点就是可能要定义大量的策略类,并且这些类会暴露给客户端。适配器模式适配器模式是将一个类的接口换成客...

2019-08-28 17:34:07 91

原创 uboot启动代码中.weak关键字

.weak的作用ENTRY(save_boot_params) b save_boot_params_ret @ back to my callerENDPROC(save_boot_params) .weak save_boot_params 在该标号被引用时,如果加上了这个关键字,当存在同名标号时,该标号是不会被优先引用的...

2019-07-15 21:18:06 615

原创 Failed to connect to 127.0.0.1 port 43571: 拒绝连接 --- 问题解决记录

查看当前代理的环境变量env | grep proxy设置环境环境变量dzh@dzh-V5-471G:/media/dzh/linux$ export https_proxy=""dzh@dzh-V5-471G:/media/dzh/linux$ export http_proxy=""验证当前代理设置env | grep proxy测试git cone 连接正...

2019-07-07 10:57:14 11952

原创 git使用总结

git介绍git是一个开源的分布式版本控制系统,多个地方都有仓库,并且可以查询完整地合并记录git安装ubuntu平台安装:apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-devapt-get install gitwindows平台安装:直接可以在其git f...

2019-07-06 14:01:25 99

原创 Linux驱动开发之网络设备 & 读书笔记

网络设备的概念网络设备是完成用户数据包在网络媒介上发送和接收的设备,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将收到的数据包传递到上层协议。linux系统对网络设备驱动定义了4个层次,这4个层次分别为:网络协议接口层、网路设备接口层、提供实际功能的设备驱动功能层和网路设备媒介层。linux网络设备驱动结构...

2019-06-18 23:18:34 185

原创 linux驱动开发之块驱动

块驱动的IO操作特点块设备对于io请求有缓冲区。为什么会有缓冲区呢,因为块设备的最终都是要读写磁盘的扇区的,而读写操作,都是要移动磁臂这个物理操作,所以连续读写要比分散读写快的多。所以需要有缓冲区,然后在实际读写磁盘的时候可以优化自己的操作顺序,提高工作效率。linux的块设备子系统示意图如下:块设备驱动结构块设备结构体struct block_device_operation...

2019-06-14 23:58:28 3598 1

原创 linux驱动开发之spi-omap-100k.c源码分析

代码分析对于linux的驱动代码来说,我们要从后往前分析:/* * OMAP7xx SPI 100k controller driver * Author: Fabrice Crohas <[email protected]> * from original omap1_mcspi driver * * Copyright (C) 2005, 2006 Nokia Cor...

2019-06-12 23:16:25 283

原创 linux设备驱动开发之设备驱动软件架构思想

linux驱动的软件架构

2019-06-08 23:57:26 1372

翻译 基于arm体系的linux内核内存布局(Kernel Memory Layout on ARM Linux)翻译

Kernel Memory Layout on ARM Linux Russell King <[email protected]> November 17, 2005 (2.6.15)这篇文档描述了基于arm处理器的linux内核中的虚拟内存布局。该文档简要说明了内存中的哪些部分可以供平台使用,哪些部分可以被代码编程使用。This document de...

2019-06-01 14:44:11 932 4

使用QEMU搭建ARM64实验环境.pdf

使用QEMU搭建ARM64实验环境

2021-08-13

Gitlab备份、迁移和恢复.pdf

基于ubuntu下的gitlab备份、迁移、恢复

2021-02-26

基于A33下tina3.5系统基础上搭建嵌入式QT开发环境上.pdf

基于A33下tina3.5系统基础上搭建嵌入式QT开发环境上.pdf

2020-01-20

基于A33的GDB+KGDB内核调试环境搭建.pdf

基于A33的GDB+KGDB内核调试环境搭建,此种是以串口方法进行搭建kgdb调试环境的,如果通过网络的话,需要使用到其他的模块

2020-01-16

linux驱动实战之平台设备总线_v1.2

linux驱动实战之平台设备总线_v1.2 啦啦啦啦啦啦啦啦啦啦啦了

2017-10-24

信盈达c++培训资料

信盈达c++培训资料,讲解基础,快速入门篇章。了撒啦啦啦啦啦阿拉啦啊

2017-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除