自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mrhjlong

嵌入式软件开发

  • 博客(72)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux查看cache工具

【代码】Linux查看cache工具。

2024-04-15 18:46:03 115

原创 Linux文件截断命令(truncate head tail dd)

缩小或扩展文件到指定的大小;(默认)文件不存在会被创建;如果文件大于指定的大小,额外的(末尾的)数据将被丢弃;如果文件小于指定的大小,则对其进行扩展,并且扩展部分读取为零字节;将每个文件的前10行打印到标准输出,如果有多个文件则先打印文件名1234567890-n:显示文件的最后 n 行,默认为 10 行。-f:实时追踪文件的变化并输出新增的内容。-q:不显示文件名。-s:设置输出的间隔时间(秒)。-c:以字节为单位显示指定范围的内容。

2023-11-30 17:00:56 1256

原创 内存泄漏检测工具Asan

LSAN: 内存泄漏检测工具,已经集成到 ASAN 中,可以通过设置环境变量ASAN_OPTIONS=detect_leaks=0来关闭ASAN上的LSAN,也可以使用-fsanitize=leak编译选项代替-fsanitize=address来关闭ASAN的内存错误检测,只开启内存泄漏检查。而且相比于Valgrind只能检查到堆内存的越界访问和悬空指针的访问,ASAN 不仅可以检测到堆内存的越界和悬空指针的访问,还能检测到栈和全局对象的越界访问。

2023-11-21 15:11:42 320

原创 内存泄漏检测工具Valgrind交叉编译

内存泄漏检测工具Valgrind交叉编译。

2023-11-20 17:59:27 189

原创 FTP网络问题排查

③客户端开放随机端口,发送PORT命令到服务器端21端口,服务器连接随机端口发送数据到20端口 ④服务器端20端口发送数据,连接到客户端的随机端口。a、客户端的随机端口向服务器端的21号端口发起连接请求,输入用户名和密码,然后服务器端需要进行用户名和密码的认证,认证通过以后需要返回bind信息。b、客户端开放一个新的随机端口,通过port命令发送给服务器端。连接到随机端口发送数据到20端口。③客户端发送PASV命令到服务器端21端口,服务器开放随机端口。④客户端接受此随机端口,连接此随机端口。

2023-11-13 14:07:46 111

原创 软链接与exec进程替换运行路径问题

用软链接启动进程时,进程的环境变量列表会包含软链接的路径,但是没有源文件所在路径,可通过/proc/pid/environ查看。所以进程替换需要考虑软链接路径,而不是源文件路径。

2023-08-17 15:23:10 151

原创 ping link-local ipv6 (linux/windows)

【代码】ping link-local ipv6 (linux/windows)

2023-07-06 15:59:36 866

原创 linux手动创建mmc卡设备节点

linux手动创建mmc卡设备节点。

2023-06-29 15:23:49 215

原创 Linux内存/proc/meminfo (free/available/buffer/cache)

Provides information about distribution and utilization of memory. This varies by architecture and compile options. Some of the counters reported here overlap. The memory reported by the non overlapping counters may not add up to the overall memory usage a

2023-05-19 18:27:07 1290 1

原创 ipv4/ipv6设置静态ip

内核中的处理逻辑为如果网卡设置为down状态,会清空所有IPv4及IPv6地址,将网卡重新up之后,ipv4地址自动恢复,网卡上自动配置的IPv6链路本地地址也会恢复,但是其他IPv6地址默认会丢失。通过ip link down+up网卡或ifconfig down+up网卡命令,将网卡down掉之后再上线,查看网卡上配置的ip地址,发现ipv4地址不丢失,而配置的IPv6地址丢失。

2023-05-11 14:37:32 1087

原创 gdb调试

gdb调试

2023-03-18 14:23:04 429

原创 localtime线程不安全与localtime_r时区问题

localtime线程不安全,localtime_r时区问题。

2023-03-17 14:59:25 1119

原创 Linux动态库与静态库同名函数链接顺序问题

linux gcc编译链接动态库与静态库同名函数顺序问题

2023-03-04 15:03:24 1299

原创 Ipv6设置与字节序转换

Linux下支持ipv6设置,字节序概念及转换介绍。

2022-08-24 15:14:58 2840

原创 图像处理100问(Question_11_20)

感谢分享!English is here (KuKuXia translates into English)https://github.com/KuKuXia/Image_Processing_100_QuestionsChinese is here (gzr2017, my ex-colleague, translates into Chinese)https://github.com/gzr2017/ImageProcessing100WenMy git:https://github.co

2021-09-16 18:48:41 213

原创 【HAL】Framework入口函数简介(5):configure_streams

一、CAMERA_DEVICE_API_VERSION_3_0 and 3_1重置HAL相机设备正在处理的pipeline并设置新的输入和输出流。此调用将所有现有的stream配置替换为stream_list中定义的stream。在initialize()之后,使用process_capture_request()提交请求之前,将至少调用一次此方法。stream_list必须至少包含一个具有输出能力的stream,并且可能不会含一个以上具有输入能力的stream。stream_list中的strea

2021-04-25 14:20:42 1167

原创 【HAL】Framework入口函数简介(4):construct_default_request_settings

construct_default_request_settings:标准相机用例创建拍照设置。设备必须返回被配置为满足请求用例的设置缓冲区,且必须是CAMERA3_TEMPLATE_*枚举类型之一。必须包括所有请求控制域。HAL保留该结构体的所有权,但在关闭设备之前,指向该结构体的指针必须有效。一旦缓冲区被此调用返回,Framework和HAL可能不会修改缓冲区。对于相同模板或其他模板的后续调用,可以返回相同的缓冲区。/// @brief Request template types for .

2021-04-14 17:16:48 347

原创 【HAL】Framework和HAL之间的起始和基本执行流程

Framework调用camera_module_t->common.open(),返回hardware_device_t结构体。Framework检查hardware_device_t->version字段,并为该版本的相机硬件设备实例化相应的句柄。如果是3.0版本,则将hardware_device_t映射为camera3_device_t。Framework入参Framework的回调函数指针调用camera3_device_t->ops->initialize()。仅在.

2021-04-09 17:58:53 837 2

原创 【HAL】Framework入口函数简介(3):initialize

结构体initialize()是一次性的初始化,将Framework的回调函数指针传递给HAL。在对camera3_device_ops结构体中任何其他函数调用之前,且成功调用open()之后,其将被调用一次。性能要求:需要是非阻塞调用。HAL应该在5ms内且必须在10ms内返回此调用。int (*initialize)(const struct camera3_device *, const camera3_callback_ops_t *callback_ops);

2021-04-08 18:34:46 324

原创 【HAL】Framework入口函数简介(2):open

Framework到HAL的调用流程执行ReserveTorchForCamera,为camera预留手电筒资源;执行ProcessCameraOpen,调用chi层的chi_extend_open,检查camera状态等信息判断是否可以打开,可以的话则设置状态并返回正确。创建HALDevice实例,并执行初始化操作:初始化Camera3Device结构体调用camxhal3entry中的GetCamera3DeviceOps获取操作函数。初始化其中成员HwDevice,包括tag、ver

2021-04-07 17:41:14 250

原创 【HAL】Framework入口函数简介(1):set_callbacks

提供指向HAL模块的回调函数指针,以将异步相机模块事件通知到框架。在初始的camera HAL模块加载之后,在get_number_of_cameras()方法第一次被调用之后,以及在任何其他模块调用之前,框架都会调用这个函数。函数及结构体typedef struct camera_module_callbacks { void (*camera_device_status_change)(const struct camera_module_callbacks*, .

2021-04-06 14:38:51 236

原创 【HAL】入口模块调用流程:camxhal3、camxentry、camxhal3entry调用关系

之间文章讲过,CameraProvider中通过hw_get_module接口,来获取HAL层camx模块接口,其获取的就是camxhal3entry中的HAL_MODULE_INFO_SYM结构体。如图所示,而camxhal3entry会先将camxhal3中的入口函数结构体注册到camxentry中,camxentry的工作是根据不同平台,将结构体进行相应的原子操作的地址转换,确保读取一致的指针值。总结:camxhal3entry会获取camxentry转换好的入口函数结构体地址,调用到camxh.

2021-03-10 16:57:01 909

原创 【HAL】Android Qcom Camera缩略名词汇总

BPS(Bayer Processing Segments): Bayer处理阶段IFE(Image front-end engine): 图像前端引擎。video/preview的Bayer处理;3A数据…TFE(Thin Front End)IPE(Image-processing engine): 图像处理引擎。NPS(ICA/ANR/TF) + PPS(CAC/LTM/ASF and color processing)NPS: 噪声处理部分。PPS: 后处理部分。ICA(Image Co.

2021-03-02 15:38:58 2566

原创 【HAL】hw_get_module分析:加载HAL层库,获取camx模块接口

1.HAL module implementation路径:android\vendor\qcom\proprietary\camx\src\core\hal\camxhal3entry.cpp// Name of the hal_module_info#define HAL_MODULE_INFO_SYM HMI// Name of the hal_module_info as a string#define HAL_MODULE_INFO_SYM_AS_STR "HMI

2020-11-19 16:57:53 1192

原创 图像处理100问(Question_01_10)

感谢分享!English is here (KuKuXia translates into English)https://github.com/KuKuXia/Image_Processing_100_QuestionsChinese is here (gzr2017, my ex-colleague, translates into Chinese)https://github.com/gzr2017/ImageProcessing100Wen基于c++版本一、通道交换RGB -&gt

2020-09-12 14:18:51 662

原创 YUV图像格式汇总

一、定义“Y”代表明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”其实是指CbCr,表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。人眼对色度的敏感程度要低于对亮度的敏感程度,可以在一定程度上压缩UV,以达到降低带宽的目的,YUV 方式传送几乎只占用约一半的频宽,而画质却几乎保留九成以上。名称为YUV4xx,因为其定义的格式UV最多可共享给4个Y。packet,planar,semi-planar存储方式packe

2020-09-01 19:09:23 879

原创 C/C++常用函数汇总(大小端)-待续

// 大小端数据转换uint32_t swap_endian(uint32_t val){ val = ((val << 8) & 0xFF00FF00 | (val >> 8) & 0xFF00FF); return (val << 16) | (val >> 16) ;}欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这

2020-09-01 15:34:54 391

原创 浅谈DC-IRIS的PID控制方法

一、DC-IRIS简介DC-IRIS一般应用于枪机的外接镜头,DC-IRIS镜头会带有一组含有四个引脚的外接线,用于连接相机,这四个引脚为Drive+、Drive-、Damp+、Damp-,即驱动与阻尼的正负。实际上软件部分只需控制一个PWM功能复用的I/O引脚,硬件驱动电路会产生相应的电压控制光圈,硬件部分我不太熟,就不班门弄斧了。软件控制PWM波的占空比去控制光圈,当PWM波占空比大于...

2018-12-17 00:06:26 7335 4

原创 json_object_object_foreach遍历json的宏定义实现

# define json_object_object_foreach(obj,key,val) \ char *key; struct json_object *val; \ for(struct lh_entry *entry = json_object_get_object(obj)-&gt;head; ({ if(entry) { key = (char*)entry-&gt;k; v...

2018-10-30 09:49:24 4305

原创 u-boot启动流程分析

一、 存储器SDRAM 同步动态随机存储器。同步时指工作需要时钟;动态是指需要不断刷新来保证数据不丢失;随机说明不是线性存储,而是由指定地址进行数据的读写。如CPU使用的外部内存,即内存条。SRAM Static Ram,是具有静态存取功能的内存,不需要刷电路就能保存存储的数据,比SDRAM速度快,一般用作高速缓冲存储器(Cache)。Norflash 非易失性外部存储介质,支...

2018-05-03 00:18:21 389

原创 二叉树(数据结构)

树(Tree)是n(n >= 0)个结点的有限集合,n = 0 时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n > 1 时,其余结点可分为m(m > 0)个互不相交的有限集T1,T2,……Tm,其中每个集合本身又是一棵树,并且称为根的子树(SubTree);注意两点:(1) 根节点是唯一的;(2) 子树互不相交。

2018-04-27 00:56:11 8086

原创 队列、栈(数据结构)

介绍队列是一种先进先出(First In First Out)的线性表,只允许在线性表的一端进行插入操作,在另一端进行删除操作。允许插入的一端称为队尾,允许删除的一端称为队头。可以将队列想象成一个管道,数据从一边进入,从另一边流出。所以有时候队列也称为管道(pipe)。栈是一种只能后进先出(Last In First Out)的数据结构,表现为只能在线性表的尾部进行插入和删除操作。其中,把...

2018-04-27 00:45:37 275

原创 链表(数据结构)- LRC歌词解析播放示例

链表与数组链表和数组一样也是线性表的一种,所谓线性表是指零个或多个数据元素的序列,序列元素之间有明显的前驱后继关系。但链表与数组不一样的是,链表是通过指针域串联起来的,而数组是通过一片连续的存储空间串联起来,数组元素的地址有着明显的线性关系,而链表元素地址之间则没有关系。使用数组需要预先分配一片连续的存储空间,而链表则可以无限制的加入新的结点。本文将介绍通用单向链表、单向循环链表、双向链...

2018-04-27 00:04:15 865

原创 EFM32单片机使用

时钟初始化 clk_init()CMU:时钟管理单元 LFXO: Low frequency crystal oscillatorCMU_OscillatorEnable(cmuOsc_LFXO, true, true); 功能:使能振荡器 Oscillator:有源晶振;Crystal:无源晶振CMU_ClockSelectSet(cmuClock_LFA,cmuSelect_...

2018-04-24 02:40:58 5076

原创 xlm解析方法设计

XML简介XML是可扩展标记语言标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。整理一下在校期间做的XML解析方法。代码下载代码下载路径:download.csdn.n...

2018-04-24 01:23:58 254

原创 排序、查找(数据结构)

一、排序算法1、冒泡排序思路:按照约定的排序顺序,两两比较相邻的数据,如果反序则交换,直到没有反序的记录为止。算法复杂度:O(n^2)比较次数:(1 + 2 + 3 +…+ n-1) = n * (n – 1) / 2 次/************************************************************************* ...

2018-04-19 03:33:14 2754

原创 Linux局域网多人聊天软件

功能介绍客户端:登陆及注册;列出当前在线用户列表、发送聊天消息、传输文件等。服务端:记录注册及在线用户链表、记录用户聊天数据、显示用户的登陆退出等。主要知识点:socket套接字、链表用户管理、线程创建管理、IO复用、select监听套接字、文件读写等。程序下载https://download.csdn.net/download/mrhjlong/10337335...

2018-04-09 21:55:17 2255 1

原创 Linux Shell脚本攻略—不止小试牛刀2(变量、数学运算)

一. 变量和环境变量 脚本语言通常不需要在使用变量之前声明其类型。只需要直接赋值就可以了。 在Bash中,每一个变量的值都是字符串。有一些特殊的变量会被shell环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量。1.1 变量变量可以通过以下方式进行赋值:var=value。var是变量名,value是赋给变量的值。如果value包含任何空白字符(例如空...

2018-03-27 01:58:55 290

原创 Linux Shell脚本攻略—不止小试牛刀1(简介、终端打印)

Bash 和 Dash 的问题Debian和Ubuntu中,/bin/sh默认已经指向dash,它主要是为了执行脚本而出现,而不是交互,原因是dash更快、更高效,但功能相比bash要少很多,语法严格遵守POSIX标准。从Ubuntu 6.10开始,默认使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell),但L...

2018-03-19 01:16:53 943

原创 位操作n&(n-1)用法

求某一个数的二进制表示中1的个数while (n &gt; 0) { count ++; n &amp;= (n-1);}判断一个数是否是2的方幂n &gt; 0 &amp;&amp; ((n &amp; (n - 1)) == 0)

2016-09-26 23:15:56 544

pose_iter_caffemodel.zip

openpose需要的caffemodel:pose_iter_440000、pose_iter_102000、pose_iter_116000、pose_iter_584000、pose_iter_160000

2021-05-26

sourceInsight颜色方案配置文件

3个配置方案文件。sourceInsight的颜色配置方案,si3.5实测可以使用。

2018-07-01

XML解析还原代码

xml解析还原代码。将xml文件中的每一层的数据提取出来并保存到二叉树中;遍历二叉树中的数据按xml原格式打印到屏幕;将保存在二叉树中的数据按照xml文件格式输出到新的文件中。

2018-04-24

Linux局域网聊天项目

采用C/S架构,主函数在template\localChat下,客户端client.c和服务端server.c。 template下Makefile进行的是lib和intro目录文件的编译,先在该目录make之后,再到localChat目录下make编译生成可执行文件server和client。 主要知识点:socket套接字、链表用户管理、线程创建管理、IO复用、select监听套接字、文件读写等。

2018-04-09

mplayer项目

linux环境下,mplayer的简单的前台控制程序,主要涉及进程线程的创建替换、管道通信、链表等。

2016-09-08

空空如也

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

TA关注的人

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