自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HackFun物联网开发实验室

一个分享物联网开发知识的博客

  • 博客(185)
  • 收藏
  • 关注

原创 2022.08.31 交叉编译进展

最近完成了几个任务,编译了OpenCV+dmyx+zxing,Nt,CUPS。收到任务后要和客户充分沟通,把需要的信息全部明确。

2022-09-01 07:12:23 1278 2

原创 交叉编译可以

2022-08-17 22:55:25 318

原创 2022.08.12 Open VPN交叉编译之二

2022-08-13 08:11:06 622

原创 2022.08.11 交叉编译Open VPN之一

2022-08-12 00:51:36 562

原创 2022.07.01 C++并发编程笔记01

C++并发编程笔记011. 启动线程的几种方式头文件#include <thread>方式1:普通函数void do_some_work();std::thread my_thread(do_some_work);方式2:可调用对象class background_task{public:void operator()() const{ do_some_work(); do_some_other_work(...

2022-07-30 16:50:29 310

原创 2022.07.28 Linux设备驱动的软件架构思想

Linux设备驱动的软件架构思想Linux设备驱动的软件架构Linux设备驱动非常重视软件的可重用和跨平台能力。最好能把设备端的信息从驱动里面剥离出来,让驱动以某种标准方法拿到这些平台信息(设备树方式)。Linux总线,设备和驱动模型,驱动只管驱动,设备只管设备,总线则负责匹配设备和驱动。驱动以标准途径拿到板级信息,则驱动可以放之四海而皆准。将软件进行分层设计是软件工程最基本的一个思想。Linux设备驱动框架设计中还有分隔的思想。对主机控制器驱动和外设驱动进行分离。外设驱动与主机控制器

2022-07-30 15:42:23 238

原创 2022.07.29 Linux矩阵键盘驱动开发笔记2

@岭南码农夫这是之前帮客户开发Linux矩阵按键驱动时记录的笔记。1. 在SCAN函数和probe函数里添加详细打印,编译内核和ko文件,更新内核,下载ko后测试。只按下K1键,然后详细分析日志。发现K1按键被识别为6行6列。2. 日志中打印了probe函数从DTS拿到的GPIO编号列表,经分析与DTS一致。3. 考虑可能与GPIO引脚顺序有关,于是分析几种可能的情况。当前情况为ROW 0 GP1ROW 1 GP2ROW 2 GP3ROW 3 GP4ROW 4 GP5ROW 5

2022-07-30 15:06:58 505

原创 2022.07.30 Linux矩阵按键驱动笔记1

这是之前帮客户开发矩阵键盘驱动时记录的笔记。1. 行GPIO必须为输入,列GPIO必须为输出。2. 硬件原理图上的引脚与DTS文件中的引脚必须匹配。3. X30.dts中要配置行,列对应的键值,还有GPIO引脚复用关系。4. linux.keymap, 030100xx,其中03为行,01为列,00xx为键值。5. 改DTS以后要编译生成DTB,并更新到板上。6. matrix_keypad.c中会读取并解析DTS中的配置信息。7. DTS文件包含.h文件和.dtsi文件。...

2022-07-30 14:15:20 378

原创 2022-06-22 用python合并多个文本文件

#路径C:\PythonTest下有2组文件,一组为aX.txt,一组为bX.txt#C:\PythonTest\txt目录下有集合.txt文件用于存放合并后的文件内容#找出全部以b为前缀的文件名的文件,将他们的内容全部读取到集合.txtimport osdef getAllTxt(): # 文件夹目录 path = "C:\\PythonTest" # 得到文件夹下的所有文件名称 files= os.listdir(path) print(files)...

2022-06-22 23:21:16 996 1

原创 2022-06-20 C++ boost学习杂记之一

1. pool内存池,用于分配基本数据类型的内存,如int型。2. object_pool用于分配类类型的内存,如自定义的类。3. operators用于简化操作符重载的定义,只需定义

2022-06-20 09:09:16 282

原创 2022-06-04 智能指针简单例子

2022-06-04 09:36:32 206

原创 2022-05-25 Ubuntu下编译Windows exe文件的方法

第1步,在Ubuntu下打开以下文件:sudo gedit /etc/apt/sources.list第2步,在文件末尾添加如下语句:deb http://us.archive.ubuntu.com/ubuntu trusty main universe第3步,保存并关闭文件第4步,输入以下两条命令安装mingw32sudo apt-get updatesudo apt-get install mingw32第5步,写一个cpp文件#include <iostream>

2022-05-25 00:10:00 1028

原创 2022-05-20 基于HackFun OpenCV开发板开发应用程序的步骤介绍

1. 打开Ubuntu2. 执行sudo /opt/start qt.sh启动Qt Creator3.

2022-05-22 13:23:17 239

原创 2022-05-19 一个OpenCV报错

2022-05-22 11:55:56 168

原创 2022-05-18 在HackFun OpenCV开发板上验证代码之极坐标变换

void MainWindow::Test_WarpPolar_P91_C3_39(){ Mat img = imread("dial.png"); if(!img.data) { cout << "Fail to open image!" << endl; return; } Mat img1, img2; Point2f center = Point2f(img.cols / 2, img.row...

2022-05-22 09:02:20 178

原创 2022-05-17 在HackFun OpenCV开发板上验证代码之求均值和方差

void MainWindow::Test_FindMeanAndMeanStd_P65_C3_12(){ float a[12] = {1, 2, 3, 4, 5, 10, 6, 7, 8, 9, 10, 0}; Mat img = Mat(3, 4, CV_32FC1, a); Mat imgs = Mat(2, 3, CV_32FC2, a); cout << "get mean val" << endl; Scalar myMea...

2022-05-22 09:00:25 215

原创 2022-05-16 在HackFun OpenCV开发板上验证代码之求最值

void MainWindow::Test_FindMinAndMax_P63_C3_9(){ float a[12] = {1, 2, 3, 4, 5, 10, 6, 7, 8, 9, 10, 0}; Mat img = Mat(3, 4, CV_32FC1, a); Mat imgs = Mat(2, 3, CV_32FC2, a); double minVal, maxVal; Point minIdx, maxIdx; minMaxLoc(im...

2022-05-22 08:58:20 156

原创 2022-05-15 OpenCV+QT移植到ARM开发板成功

2022-05-16 09:06:50 592 1

原创 2022-05-14 ubuntu下OpenCV环境搭建成功

2022-05-14 23:50:47 348

原创 2022-05-13 imwrite返回false问题

写了个简单的测试程序,用imwrite保存图像,一直运行失败,试了多种改动还是不行。后来想到执行时加上sudo,执行成功。应该是因为非root权限不允许创建新文件导致的,又填了一个坑。

2022-05-13 07:37:53 589

原创 2022-05-12 OpenCV环境安装进展

按照书中例子运行二维码通过,说明4.1.1版本安装成功。但是和之前一样还是有显示问题,要求安装gtk2.0,这个问题还没解决。后面尝试安装qt来解决。

2022-05-11 07:32:04 336

原创 2022-05-11 Ubuntu下安装OpenCV开发环境记录

开发环境虚拟机Virtual BoxUbuntu 16.04OpenCV 4.1.1详细过程:1. 从OpenCV官网下载OpenCV4.1.1版本的源码2. 待补充

2022-05-10 13:37:46 287

原创 2022-05-10 OpenCV编译进展

从官网下载了4.1.1版本的OpenCV源码,尝试编译,开始执行到一半左右也提示内存不够,然后把make -j16改为-j8,库编译通过。简单测试了一下,可以。明天再详细测试。这样看昨天编译失败可能也是这个原因,再重新试试。...

2022-05-10 07:15:46 277

原创 2022-05-09 OpenCV进展

今天尝试在Ubuntu环境安装测试,非交叉编译方式。

2022-05-09 14:46:59 194

原创 2022-05-08 编译OpenCV 4.5.5失败

提示无法分配内存,但我看了内存是够的。书上说编译器要求支持C++11,不知道是不是这个原因

2022-05-08 11:33:17 550

原创 2022-05-07 OpenCV编译失败找不到QRCodeDetector定义

原因是我的OpenCV库是3.4.1版本,太旧了。需要换4.0以上的版本。

2022-05-08 08:59:33 778

原创 2022-05-07 C++函数模板

当算法相同而处理的数据类型不同时,可以考虑使用函数模板,比如交换两个数据的函数,int型和double型数据,不必写两个函数,只需要写一个函数模板即可。减少了代码量,就减少了出错可能,方便维护。...

2022-05-07 08:37:24 505

原创 2022-05-02 进展

恢复C++环境,交叉编译后在开发板上运行。

2022-05-02 11:07:43 961

原创 2022-05-01 OpenCV直线拟合

void ZhiXianNiHe(){Vec4f lines;vector<Point2f> point;const static float Points[10][2]={ {0.0f, 0.0f}, {10.0f, 11.0f}, {21.0f, 20.0f}, {30.0f, 30.0f}, {40.0f, 42.0f}, {50.0f, 50.0f}, {60.0f, 60.0f}, {70.0f, 70.0f}, {80.0f, 80.0f}, {...

2022-05-01 10:10:46 1547

原创 2022-05-01 OpenCV进展

在新的虚拟机上恢复了OpenCV开发环境,继续学习和开发。

2022-05-01 08:36:25 1542

原创 2022-04-12 Linux设备树总结

【Linux设备树总结】1. 设备树是一种描述板上硬件信息的有特定格式要求的ASCII文本文件。2. 提出设备树的目的是去掉内核代码中用于描述设备硬件信息的大量垃圾代码。3. 设备树是.dts文本文件,可以用dtc将其编译为dtb文件。4. dtb文件写入Flash。上电时由Bootloader将dtb传递给内核,内核解析dtb得到硬件信息,并据此初始化相应硬件。...

2022-04-12 12:36:08 250

原创 2022-03-15 项目进展

上一个项目结束了。这段时间整理一下资料,做个总结,为后面的项目做做准备。也乘这个机会补补觉。

2022-03-15 07:34:18 160

原创 2022-02-28 项目进展

搞定了烧写内核和根文件系统。之前做的虚拟机空间不够大,重新做了一个。

2022-02-28 07:55:12 134

原创 2022-02-24 项目进展

完成编码器驱动开发

2022-02-24 07:35:03 207

原创 2022-02-21 项目进展

年后继续开发之前接到的一个私活儿项目。Opencv项目暂停一段时间,等这个搞完了再继续。收到客户寄来的开发板,调通一项功能。其它功能一个一个开展。

2022-02-21 17:05:17 1855

原创 2022-02-16 OpenCV编译Qt

编译了Qt。之前的OpenCV代码中调用imshow失败。原因是缺少gui相关组件。试过gtk,没有成功。这次还用Qt。

2022-02-17 07:38:12 1293

原创 2022-02-15 OpenCV图像识别失败的结果

2022-02-15 23:20:04 1583

原创 2022-01-27 OpenCV开发环境

1)ARM + Linux + Opencv + C++ OK2)ARM + Linux + OpenCV + Python ?

2022-02-12 03:58:13 1903

原创 2022-01-26 OpenCV斑点检测

2022-02-10 12:04:33 1129

原创 2022-01-25 OpenCV代码优化

2022.02.10用cmake重新编译了全部工程代码,将代码完整的整理一遍,划分到不同的文件和类中,方便后续代码管理和新增。

2022-02-10 10:01:41 876

空空如也

空空如也

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

TA关注的人

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