自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (4)
  • 收藏
  • 关注

原创 QT中线程的退出分析

软件实际开发过程中有好几处要实现这么一个功能:PC端软件“应用程序重启” ,本来这是一段比较简单的事情,但是因为重启软件报通信异常(错误日志中有记录通信异常的错误)。此问题解决起来一直在禅道中反反复复的关闭了又打开,没有得到彻底的解决。基于这种情况,我参与了此问题的解决,在解决的过程中发现了一些有意思的东西,并把问题记录了下来。这也就是今天这遍文章的由来。

2024-01-13 19:30:00 1089

原创 Java 与C++ 语言的一些区别

拿Java和C++ 做一个对比,帮助快速掌握Java的开发。

2023-11-06 20:30:00 216

原创 【安卓环境搭建报错的解决】

电脑中新安装的 Android Studio Giraffe | 2022.3.1 Patch ,运行 studio 系统工程,提示如下错误。在build.gradle.kts 中增加。

2023-10-17 21:45:00 1052

原创 linux通用时钟框架(CCF)

linux 内核版本 v4.19嵌入式平台rv1109 , 文中代码出处。CCF背后的主要思想是统一和抽象分布在不同SoC时钟驱动程序中的类似代码。这种标准化的方法引入了时钟提供者和时钟消费者的概念:提供者是Linux内核驱动程序,它连接到框架并提供对硬件的访问,从而根据SoC数据表提供(使这些对消费者可用)时钟树(由于可以转储整个时钟树);消费者是通过公共API访问框架的Linux内核驱动程序或子系统;

2023-09-08 20:03:44 696

原创 往Buildroot中增加Qt项目

目的:应用开发时最初是没有和buildroot中一起编译时,后面应用程序写的差不多时,同事问我怎么把应用程序打包到文件系统中,然后发布时跟随文件系统一起发布,并且增加打包启动脚本。所以本文在已经可以单独编译的基础上把项目放入buildroot一起编译。应用程序单独可以编译(buildroot 有make sdk 单独打包编译环境)。本文简化了项目部分内容,仅以demo 为项目代号,记录在buildroot中增加qt项目的过程。环境:ubuntu20.04 、瑞芯微 RV1109 SDK。

2023-08-25 18:44:44 623

原创 linux workqueue工作队列的理解和使用示例

本文使用的内核源码为linux 4.15.2。对wrkqueue知识的较深入的分析和应用

2023-07-29 12:37:31 820

原创 linux tasklet 的分析与使用

tasklet 是利用软中断实现的一种下半部机制,本质上是软中断的一种变种,运行在中断上下文中.有关于软中断的分析,可以参考之前的文章,有详细的分析。

2023-07-26 20:45:00 360

原创 linux 软中断

关于软中断相关的代码在softirq.c中在interrupt.h 中定义了相关软中断类型的枚举enum {softirq.c中有可以在系统中 cat /proc/softirqs 查看软中断类型和当前的一些统计数值。

2023-07-25 20:45:00 316

原创 linux 驱动开发常用知识点与API

之前的读书笔记,以.c 文件的方式记录,在这里也以代码的方式记录最后笔记中有这么一段话:Linux设计中强调的一个基本观点是机制和策略的分离。 机制是做某样事情的固定步骤、 方法, 而策略就是每一个步骤所采取的不同方式。 机制是相对固定的, 而每个步骤采用的策略是不固定的。 机制是稳定的, 而策略则是灵活的, 因此, 在Linux内核中, 不应该实现策略。其中的机制与策略面向对象语言的抽象的思想很相似。

2023-07-20 19:45:38 254

原创 prelink加速应用启动速度

最近在研究性能调优的问题,本文记录在使用prelink时的一些问题测试平台:ubuntu 16.04。

2023-07-14 18:25:23 176

原创 gcc 报错 /usr/bin/ld: /tmp/ccxxxx.o 错误的处理方法

查找了对应的so库 libworld, 头文件该有的都有,非常奇怪的问题。在使用gcc 编译简单的测试程序时发现报如下错误。libword.so 库的编译使用的是下面指令。最后的解决方案是加了 -c 编译成功。

2023-07-11 20:45:00 2699

原创 buildroot 下增加新的编译程序

编译期间可能会有报错,我这里编译bzip2时编译,报错的大意是下载的bzip源码解压格式错误,一看发现下载下来的文件为空,再检查发现下载路径错误 ,下方为修改后的BZIP2_SITE。prelink 只编译 pc上使用的版本,不编译在arm运行的,所以$(eval $(autotools-package)) 相关的内容不打开。发现还是没有把libiberty.a install 到对应路径 ,编译prelink时还是提示找不到对应的libiberty 库。到对应的目录找,看是否生成libiberty。

2023-06-21 18:45:00 344

原创 linux 交叉编译经验总结

在linux -arm 平台下,尽量用yocto ,builidroot构建环境编译软件,这样会省去很多麻烦,但是有时避免不了的需要手动进行交叉编译。所有觉得非常有必要对交叉编译进行一下总结。备注:文中主要是对之前交叉编译的总结,部分细节因为时间久远,可能丢失。交叉编译是比较麻烦的事情,各种依赖库,各种设置都要自己配置,而且在编译时容易出现各种各样莫名其妙的错误。是一件考验基本功和能力的事情。

2023-06-12 18:49:49 1143

原创 TI BQ27421电量计驱动的调试

在使用bq27421时,只进行了简单的配置(电池容量,充放电电压等等)然后让电量计自学习,测试时发现不同的机器电量表现不一样(关机时bq27421是断电的)。所有就有了上面的工作。对于我们的项目,硬件通过TI 提供的工具,对电池进行了一个轮回的充电放电,导出了电量的配置文件,就是上在提到的类似下方的文件,所以不能用原来的方式。这一段代码的意思是如果有相同的subclass 由组成32个字节的块写到电量计中(先读出块的内容,然后再更新要对应的字节)。AA为I2C的地址,AA后面的00表示寄存器地址。

2023-06-09 09:38:35 827 1

原创 linux 中typeof的一些记录

linux 中typeof 使用

2023-06-07 20:30:00 258

原创 V4L2 USB摄像头节点增长的解决方法

linux +RV1108 +usb 摄像头,usb摄像头使用中的问题。

2023-05-30 19:45:00 202

原创 linux GPIO驱动的一些理解

简单的说就是有些GPIO控制器是外接扩展的,不是内部芯片集成的,一般扩展的接口多为I2C的接口,I2C在读写外部控制器的寄存器时是有时序要求的,增加延时等,这时控制外部的GPIO就必做在进度上下文,或者threaded IRQ 这些允许睡眠(延时)的地方使用,不能在IRQ处理程序内使用。在一些驱动代码中经常看到gpiod_get_value,但有时也会看到gpiod_get_value_cansleep,二者有什么区别,什么时候该使用gpiod_get_value_cansleep。

2023-05-29 20:01:39 1165

原创 RV1109 音频的调试与使用

rv1109 音频的使用

2023-05-26 21:45:00 1075 1

原创 5G模块的使用-FIBOCOM FX650

5G模块的使用

2023-05-18 20:00:00 793

原创 rv1126 rv1109平台下Qt应用程序交叉编译

rk平台下的qt 应用程序交叉编译

2023-04-11 19:00:00 632

原创 rv1126 rv1109系统关机功能的分析与实现

rk809开关机流程

2023-04-10 18:45:00 407

原创 Linux Regulator驱动框架与应用

linux regulator 的文档Documentation/power/regulator下这里有几个概念要清楚:regulator 谷歌翻译意思为“调节器”,理解为控制电压,电流的一种装置。PMIC 电源管理芯片。Consumer : 由regulator 控制供电的设备。Constraints: 约束和限制电源参数。Power Domain:电源域,输出提供给输入的。字面意思比较难理解,可以参考一下面的。

2023-03-04 18:27:34 921

原创 rv1126/1109平台下的lt8912显示驱动的调试

瑞芯微rv1109 的mipi显示驱动调试,使用lt8912b 把mipi信号转lvds和hdmi

2023-02-20 20:09:22 3054 4

原创 Rv1109内核调试

瑞芯微rv1126/rv1109 内核调试

2023-02-03 21:00:00 364

原创 linux设备端breakpad程序崩溃日志的捕获与分析

breakpad 程序崩溃时的定位

2022-11-06 17:49:50 968

原创 sizeof 引发的程序崩溃

硬件平台:imx6solo系统:linux 3.0.15在设备中接入扫码枪时,每次插拔会导致程序崩溃。

2022-10-25 23:30:00 132

原创 linux 中断相关知识

下面中断的分析以vexpress v2p 平台为例使用的内核版本为 4.15.2当一个CPU进入中断异常后,会去读取GICC_IAR寄存器来响应中断,寄存器会返回硬件中断号。当处理器完成中断服务,必须发一个完成信号EOI(End of interrupt) 给GIC中断控制器,软件写EOIR寄存器GIC-400 32个内部中断用于连接CPU核和GIC中断控制器。分析中断代码常用的数据结构(注意下面的注释 )

2022-10-10 19:59:30 221

原创 ARM架构相关知识

本文记录linux 内核源码相关的知识点。

2022-10-01 11:49:19 306

原创 链接脚本lds 相关的知识

本文主要记录与链接脚本相关的知识。文中内容多来自网上资料,或者书本内容。(解读的除外)。把重要的、常用的或容易忘记的知识点总结记录下来,供以后查询与巩固。

2022-09-24 22:35:31 464

原创 linux 平台驱动分析

本文记录在读关于platform 平台驱动的内核源码的一些记录。平台介绍:linux 内核版本:3.15 rv1108提供的sdk包中的内核。

2022-09-21 22:13:57 406

原创 qemu + vscode linux内核调试

linux 内核调试

2022-09-15 20:05:51 578

原创 linux内核禁止优化的设置

linux 内核关闭优化,方便调试

2022-09-15 19:07:42 1177 1

原创 RV1108 EMMC 程序下载失败原因分析

对于目前的SDK包,要想编译loader下的源码,在sdk目录下输入make build_loader ,再把生成的bin 复制到指定的目录Windows_Upgrade_Tool/AndroidTool_Release_v2.65/Image/ 再把名字改为RV1108_usb_boot.bin,与linux_upgrade.sh脚本一样 (make fww 正式烧录时会用到)会运行到MMC_Init,这里面会判断卡容量,如果容量大小2G,一些参数的设置是要读取ext_csd的,而不是读csd。

2022-09-14 21:45:00 1634 1

原创 RK1108系统无法启动的原因分析与查找

瑞芯微1108概率性无法开机问题的分析

2022-07-04 18:27:42 842

原创 ATS 2019 补充部分的解读

1.外推容积小于Max(FVC5% ,0.1L)2.用力呼气阶段峰值流速的10%-90% 时间小于等于150ms (这一条好像是新加的)。3.如果FIVC-FVC>Max(0.1,FVC0.5) ,这种情况下是不可接受的。翻译如下上面也说明FIVC最大吸气项对可不可接受的判断。正是因为FIVC比较重要,为了与之前提到EOT区别,引用了EOFE的名词。1.FV图要求X轴初始化最大值至少大于120%的FVC预测值,且能根据FVC的测量自动调整。要求FV图的比例为2:12.VT图X轴要示展示呼气零点前1秒的

2022-06-21 18:30:00 539

原创 MySQL 安装报错的解决方法

mysql 使用的是官网下载的安装包,mysql-installer-community-8.0.25.0.msi ,第一次安装时很顺利,因为某些原因要卸载重新安装。在重新安装时出现错误。错误提示如下出错的界面如下图所示找到提示中的my.ini文件,位置如下把my.ini文件copy到桌面,然后用系统默认的记事本打开,然后另存为,选择编码为ANSI退出安装程序,然后把桌面的my.ini 覆盖掉原来C:\ProgramData\MySQL\MySQL Server 8.0 路径下的my.ini。再重新安装。

2022-06-15 18:30:00 11382 9

原创 Html 自定义标签

Html 自定义 标签 元素

2022-06-10 19:07:36 8922 2

原创 重载new 与delete

c++ new delete 重载

2022-06-10 18:30:00 345

原创 1.electron vue element-ui环境搭建

electron vue 环境搭建目录前言准备工作过程与问题参考资料目录前言之前一直用C,C++,对前端的知识了解的很少(仅在之前做打印时用了html)。最近因为某种原因,想开发一个类似于STM32CUBEMAX工具的软件。之前写APP时都是用QT。但这次真不想用QT了。决定学习一下electron。准备工作工作平台:win10安装node.js vscode 等工具。过程与问题基本环境弄好后,在poweshell下 管理员权限运行。在当前工程目录下,输入 vue init simu

2022-05-24 10:23:21 452

原创 大型肺功能仪打印模板设计说明

大型肺功能仪打印模板设计说明

2022-05-17 16:05:37 407

linux 内核中断相关的源码阅读笔记

关于linux 内核中断相关的源码阅读笔记

2022-10-11

mysql安装所需要的VC.x64.7z

mysql安装所需要的VC.x64.7z

2021-08-18

Effect-of-alveolar-volume-theory.pdf

Effect-of-alveolar-volume-theory.pdf

2021-07-22

DLCO adjust for lung volume,standardised reporting and interpretation.pdf

关于DLCO相关的解析文献

2021-07-22

一种经典的时域滤波器 。

1维数据平滑滤波相关的论文,引用率很高。非常实用。 应用场合,针对mcu采样ADC数据进行平滑滤波(时域)

2018-12-04

空空如也

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

TA关注的人

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