其他
文章平均质量分 65
疯狂的蕉尼基
将来的你会感谢现在努力的自己。
展开
-
MQTT客户端应用编程及接口分析
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。接口类型头文件备注非现程安全线程安全。原创 2023-05-15 13:46:29 · 2473 阅读 · 1 评论 -
Linux下的can 设备测试
can 设备在Linux下的使用及编程, 含有C参考代码, python 参考代码。以及配置方式等内容,适合初学接触进行设备调试的人员。原创 2023-04-07 11:12:43 · 2905 阅读 · 0 评论 -
Linux下快速创建大文件文件
在计算机世界中,稀疏文件是一种特殊文件,具有不同的表观文件大小(它们可以扩展到的最大大小)和真实文件大小(为磁盘上的数据分配了多少空间)。fallocate 命令则不会创建稀疏文件,而且它的速度更快,这也是我比较推荐使用 fallocate 创建大文件的原因。dd 命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,根据文件的大小,该命令将需要一些时间才能完成。参数所指定的文件如果不存在,那么该命令会创建这个文件。fallocate 命令是我比较推荐的创建大文件的方法,因为它创建大文件的速度是最快的。原创 2022-12-13 09:44:40 · 2396 阅读 · 0 评论 -
STM32F1xx LTC299 模块驱动代码
LTC2991用于监控系统温度、电压和电流。通过I2C串行接口,8个显示器可以单独测量提供电压和可配对的差动测量电流感电阻或温度感应晶体管。其他测量方法包括内部温度和内部VCC。内部10ppm参考值最小配套部件的数量和所需面积。可选择的地址和可配置的功能提供了LTC2991的灵活性各种需要温度、电压或电流数据的系统。LTC2991适合在需要亚毫伏电压分辨率的系统中,1%的电流测量和1摄氏度的温度精度或三者的任何组合。原创 2022-11-17 14:53:49 · 1874 阅读 · 0 评论 -
FIO 磁盘性能测试
IO 吞吐表示在指定时间内,完成的 IO 读写数据字节数,它的值和每次 IO 读写的数据大小有密切关系,也从而会影响 IOPS,比如每次读写数据块较大,从而最大化的降低了寻道带来的开销,从而提高吞吐,但是此时 IOPS 就会减小;用户和系统时间,以及该线程所经历的上下文切换次数、系统和用户时间的使用情况,最后是主要和次要页面错误的数量。IOPS 指的是每秒可以完成的 IO 服务的次数,一次 IO 服务主要的耗时是寻道时间上,如果是大量的随机 IO,那么每次寻道时间都处于上限值,IOPS 下降;转载 2022-10-18 14:31:59 · 8193 阅读 · 1 评论 -
linux下fdisk命令实战案例之详解
linux 下fdisk 命令实现案例详解转载 2022-09-08 16:59:34 · 2030 阅读 · 0 评论 -
Uboot spi-nor 设备信息定义及3地址模式和4地址模式的理解
Uboot spi nor flash 设备的使用和测试以及调试,部分代码的讲解。原创 2022-09-08 10:59:20 · 2645 阅读 · 0 评论 -
ARM+SD2405 IIC_RTC驱动编写及IIC通讯协议
主要分析Sd2405 IIC 通信协议及代码的基本功能实现、原创 2022-07-20 13:54:43 · 2035 阅读 · 0 评论 -
ftrace工具的介绍及使用
ftrace 工具使用的笔记文档原创 2022-07-01 16:24:19 · 4501 阅读 · 0 评论 -
内核空间利用jiffies和HZ进行时间统计
利用jiffies 和HZ 进行时间统计的的方法原创 2022-06-14 10:12:16 · 622 阅读 · 0 评论 -
sleep() 函数,没想象种那么简单、(sleep 与 clock的碰撞使用)
sleep() 函数,没想象种那么简单、问题提出最近在测性能相关的东西, 所以在统计程序执行耗时,我个人习惯用clock()函数获取时间做统计。然后看到一份做测试代码,代码在时间统计的中间即:start–end中间,加入了sleep()函数。#include <stdio.h>#include <unistd.h>#include <time.h>int main(void){ clock_t start,end; start =cloc原创 2022-05-09 15:50:37 · 525 阅读 · 0 评论 -
YoloV3 详解
https://www.jianshu.com/p/043966013dde转载 2022-04-25 09:11:31 · 140 阅读 · 0 评论 -
测试Xilinx XDMA性能的方法
Getting the Best Performance with Xilinx’s DMA for PCI Express上面连接是官方讲解如何测试xdma性能的方法,讲解的十分详细。 感兴趣的朋友可以下载。原创 2022-03-28 14:39:33 · 2301 阅读 · 4 评论 -
linux常用的解压缩文件的命令
linux常用的解压缩文件的命令.tar解包:tar -xvf filename.tar打包:tar -cvf filename.tar dirtname.tar.gz解包:tar -xzvf filename.tar.gz打包:tar -czvf filename.tar.gz dirtname.zip解压:unzip filename.zip压缩:zip filename.zip dirtname.rar解压:rar x filename.rar压缩:rar a filen原创 2022-03-25 16:20:15 · 1671 阅读 · 1 评论 -
Linux Python 版本切换方法
Linux Python 版本切换方法切换python版本update-alternatives --display python如果出现以下错误:update-alternatives: 错误: 无 python 的候选项,那么按下面的流程操作。#查看多个python版本#ls /usr/bin/pythonpython2.7 python3.6#添加Python2可选项,优先级为2sudo update-alternatives --install /usr/bin/python原创 2022-03-23 09:37:21 · 4450 阅读 · 0 评论 -
python+mediapip 实现AI姿态检测健身姿态检测追踪项目
python+mediapip 实现AI姿态检测健身姿态检测追踪项目最近研究mediapipe 这个东东,感觉有点意思,有点上瘾。如果实现了姿态检测,那么我们可以用这些姿态检测的坐标做一下项目了,比如说,如何检测健身举哑铃的动作检测,虽然功能十分简单,但是要用Python 去实现一个动作的检测,在代码层次来讲还是很繁琐的。 下面讲解一下如何使用python+opencv+mediapipe实现姿态检测,并对举哑铃这个动作进行识别。要实现上面所说的功能,需要实现以下步骤,下面我们一步一步的实现下面的步骤原创 2022-03-22 22:05:07 · 7905 阅读 · 10 评论 -
Python + opencv + mediapipe 实现手势识别
Python + opencv + mediapipe 实现手势识别MediaPipe是一款由 Google Research 开发并开源的多媒体机器学习模型应用框架。在谷歌,一系列重要产品,如 YouTube、Google Lens、ARCore、Google Home 以及 Nest,都已深度整合了 MediaPipe。https://google.github.io/mediapipe/环境安装编辑器:VS code依赖组件:opencv 、mediapipepython -m pip原创 2022-03-19 19:28:37 · 9427 阅读 · 6 评论 -
Xilinx XDMA驱动代码分析及用法
Xilinx XDMA驱动代码分析及用法先简单的介绍一下,赛灵思的XDMA的驱动是用于做什么的、他的主要功能就类似与网卡pcie接口的网卡驱动、用于控制主机与fpga设备进行pcie的通讯。通讯的主要方式是设备文件的读写,这里不清楚的同学可以看一下我上一篇文章。通过控制设备文件的读写,操作驱动与fpga设备进行数据传输。1、目录结构zacha@Superman:~/nfs/xdma-debug/dma_ip_drivers-master/XDMA/linux-kernel$ tree -C.├──原创 2022-03-18 14:51:47 · 26311 阅读 · 126 评论 -
Linux I2C RTC 适配(BQ32002)
Linux I2C RTC 适配(BQ32002)1、硬件连接从硬件电路图可以看到,bq32002挂在了 i2c1上。2、Enabling Driver SupportBQ32002 属于TI 32K系列的RTC, linux kernel 一般都有适配,所以我们只需要将对应的设备驱动开启,以及配置好对应的dts文件,同时,可以关闭原有芯片内部RTC、就可以了。Configure kernel with “make menuconfig”Menuconfig LocationSymbol:原创 2022-02-26 15:41:07 · 1172 阅读 · 0 评论 -
XDMA ubuntu 16.04 64位驱动编译报错,缺少pci_enable_msix函数
我在ubuntu 16.04 64位系统下编译XDMA驱动“Xilinx_Answer_65444_Linux_Files”,报了一个错误。xdma-core.c:4321:8: error: implicit declaration of function ‘pci_enable_msix’ [-Werror=implicit-function-declaration] rc = pci_enable_msix(pdev, lro->entry, req_nvec);原因是ubuntu原创 2022-02-11 15:09:32 · 3141 阅读 · 1 评论 -
Linux arm 4.19.65 usb wifi(rtl8821cu) 适配工作
arm Linux usb wifi(rtl8821cu) 适配工作1. 环境介绍开发板环境:bash Linux arm 4.19.65 #1 SMP Wed Jan 12 14:14:38 CST 2022 armv7l armv7l armv7l GNU/Linux交叉编译器:arm-linux-gnueabihf-驱动:WG217rtl8821CU_WiFi_linux_v5.8.1.1工具:wpa_supplicant 、wpa_cli、 iwlist、iwconfig、hostapd原创 2022-01-13 17:28:20 · 13417 阅读 · 0 评论 -
【igb驱动交叉编译】igb_main.c:10044:7: error: implicit declaration of function ‘isdigit’
最近igb编译驱动发现了这个问题:zacha@Superman:~/igb/igb-5.7.2/src$ make#@+ echo "*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but" ; echo "*** the signing key cannot be found. Module signing has been" ; echo "*** disabled for this build." ; make ccflags-y原创 2022-01-11 10:56:38 · 2797 阅读 · 0 评论 -
理解Region of Interest - (RoI Align and RoI Warp)
理解Region of Interest - (RoI Align and RoI Warp)If you’re not familiar with idea of RoI it might be beneficial to read Understanding Region of Interest — (RoI Pooling) first. This article doesn’t include an introduction about what RoI is and focuses only翻译 2021-11-23 11:14:50 · 2091 阅读 · 0 评论 -
理解Region of Interest - ROI pooling
理解Region of Interest - ROI poolingWe’re going to discuss original RoI pooling described in Fast R-CNN paper (light blue rectangle on the image above). There is a second and a third version of that process called RoIAlign and RoIWarp.我们将要讨论Fast R-CNN论文中原翻译 2021-11-22 17:07:53 · 6205 阅读 · 0 评论 -
如何编写有利于编译器优化的代码
如何编写有利于编译器优化的代码在嵌入式开发中,代码的体积和运行效率非常重要,代码体积往往和芯片的FLASH、RAM容量对应,程序的运行效率也要求在相应能力的处理器上运行。在大多数情况下,成熟的开发人员都希望降低代码体积、提高代码运行效率,然而具体该怎么做呢?本篇文章将以国际知名编译器厂商IAR Systems的编译器为例,来解答开发人员在实际工作中常常遇到的问题,工程师朋友们可以在IAR编译器上进行实践验证。在嵌入式开发中,代码的体积和运行效率非常重要,代码体积往往和芯片的FLASH、RAM容量对应,程转载 2021-11-10 09:26:07 · 306 阅读 · 0 评论 -
bad interpreter:No such file or directory
Linux 执行shell 脚本报bad interpreter:No such file or directory错误!原因:.sh脚本在windows系统下编写的,所以可能有不可见字符 很有可能脚本文件是DOS格式的,即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A。解决方法:1)通过vim filename 或者vi filename 进入编辑2)然后通过shift+:进入命令模式。接着通过命令set ff 或者 set fileformat 查看文件格式。3)原创 2021-10-20 14:12:02 · 397 阅读 · 0 评论 -
Glibc Error: `_obstack@GLIBC_2.2.5‘ can‘t be versioned to common symbol ‘_obstack_compat‘
Error: `_obstack@GLIBC_2.2.5’ can’t be versioned to common symbol '_obstack_compat’原因:https://www.lordaro.co.uk/posts/2018-08-26-compiling-glibc.htmlThis was another issue relating to the newer binutils install. Turns out that all was needed was to initi原创 2021-10-11 11:18:06 · 2134 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别
Makefile 中:= ?= += =的区别= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值原创 2021-09-24 09:05:10 · 71 阅读 · 0 评论 -
getopt 方法详解和使用示例
getopt 方法详解和使用示例getopt() 方法是用来分析命令行参数的,该方法由 Unix 标准库提供,包含在 <unistd.h> 头文件中。int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg;extern int optind, opterr, optopt;getopt 参数说明:argc:通常由 main 函数直接传入,表示参数的数量argv:原创 2021-08-19 14:10:39 · 844 阅读 · 0 评论 -
常用的Makefile模板,强烈建议收藏。
1、生成可执行文件的makefile##############################################################################source file#源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件SOURCE := $(wildcard *.c) $(wildcard *.cpp)OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))转载 2021-08-12 15:44:41 · 1447 阅读 · 0 评论