- 博客(15)
- 资源 (82)
- 收藏
- 关注
原创 【genius_platform软件平台开发】第九点:记一次前置声明引起的异常数据内存malloc异常行为0x80000000
在开发gp软件平台时,周五组内小伙伴在开发硬解码时发现H264解不出流了,奇了怪了。由于周五请假了,小伙伴辛辛苦苦排查了一天。具体的代码组织结构如以下:CGpH264FrameProcess .h#ifndef __GP_H264_FRAME_PROCESS_H#define __GP_H264_FRAME_PROCESS_H#include "GpFrameBaseProcess.h"#include "GpH264Decode.h"///////////////////////
2021-03-27 19:38:27 316
原创 【genius_platform软件平台开发】第八点:子类重新的虚函数形参写成子类时,调用父类的接口
接口类中定义的是接口类类型指针参数,子类中想overwrite该抽象函数,结果写成子类类型指针,在调用的时候会直接掉用接口类的,而不会调用子类的。直接上代码CGpThread类////////////////////////////////////////////////////////////////////////////线程基类class CGpThread : public IGpThread{public: CGpThread(); virtual ~CGpT
2021-03-19 20:41:47 129
原创 【genius_platform软件平台开发】第七点:git账号密码修改后导致拉取报错
git账号密码修改后导致拉取报错问题描述:记录一次git账号密码修改导致的Authentication failed报错解决方案:因为window记录了登录的信息,后来每次登录都是以前设置好的密码信息,想到这打开windows的凭据管理器,里面果然登录凭据还是几个月前修改的,然后删除凭据,重新拉取代码,此时会让你重写新输入一次账户密码,输入正确,拉取代码成功!在window开始菜单输入“凭据管理器” -> 点开凭据管理器 -> 找到gitlab的登录凭据 -> 点击编辑
2021-03-18 10:52:26 235
原创 【Linux系统之I2C驱动】之一:框架学习(深度好文值得一看)
Linux I2C驱动框架一、几个重要的对象1、I2C总线2、I2C驱动3、I2C设备4、I2C设配器小结二、内核源码分析1、注册I2C驱动2、注册I2C设备3、驱动如果使用设配器给设备发送数据三、总结一、几个重要的对象在讨论I2C驱动框架前,先讨论几个重要的概念1、I2C总线struct bus_type i2c_bus_type = { .name = "i2c", .match = i2c_device_match,...
2021-03-13 18:08:09 290
原创 【genius_platform软件平台开发】第六点:C语言和C++相互调用
今天在和研发算法讨论时,由于MNN推理库是C++编写的,而我们研发算法使用C语言写的,嵌入式应用也是C语言,所以就需要把MNN库的类接口在使用之前进行一层C接口封装直接看例子C++ cpp.h文件/* * 定义的C++应用类 */#ifndef __C_H__#define __C_H__// 定义C++类class CPP{public: // 声明成员函数 void set(int n);private: // 定义数据成员 int.
2021-03-12 18:10:51 225
原创 【genius_platform软件平台开发】第五点:前置声明和文件包含问题引起的list\map等容器异常
今天在出win64位sdk版本时发现有些奇怪的现象,win32执行调试都是好的,但是执行win64就会出现各种异常崩溃。经排查是因为前置声明导致,在使用之前一定要进行该指针相关类的定义。害了我查找一天,最好还是记下吧。特别是工程一旦大起来还是必须要注意下。...
2021-03-11 20:28:46 127
原创 【genius_platform软件平台开发】第四点:size_t在不同的win32位和win64宏定义的区别
今天在编译vs win64位程序时,发现很多类型转换的警告。
2021-03-11 11:12:45 217
原创 linux内核编程之二:vm_area_struct结构体
结构体struct vm_area_struct它表示的是一块连续的虚拟地址空间区域,给进程使用的,地址空间范围是0~3G,对应的物理页面都可以是不连续的结构体struct vm_struct表示一块连续的虚拟地址空间区域。给内核使用,地址空间范围是(3G + 896M + 8M) ~ 4G,对应的物理页面都可以是不连续的两者的区别是什么呢?在Linux中,struct vm_area_struct表示的虚拟地址是给进程使用的,而struct vm_struct表示的虚拟地址是给内...
2021-03-09 16:27:44 5077
原创 【Android camera】开发之三:深入理解相机ISP(图像信号处理)必看文章
凡是和图像领域工作的人,都会经常听到ISP(Image Signal Process,图像信号处理),知道ISP对图像质量非常重要。比如华为和小米竞争手机拍照和录像效果,主要的竞争领域就是ISP;做AI(Artificial Intelligence,人工智能)的人也知道,如果ISP不给力,后续的AI处理效果会受到影响。ISP在图像输入流中的位置如下(图中的成像引擎):再请教几个图像处理的教授,他会说,你说的都是工程问题,我现在在研究更深奥的课题,比如三维重建,语义分割,人体运动捕捉等算法。W.
2021-03-06 11:44:51 4980
原创 【Android camera】开发之二:ISP基本框架及算法介绍
ISP基本框架及算法介绍参考网址:https://blog.csdn.net/lz0499/article/details/71156291 ISP(Image Signal Processor),即图像处理,主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了摄像机的成像质量。它可以分为独立与集成两种形式。ISP 的F...
2021-03-06 11:22:19 1740 1
原创 【Android Camera】开发之一:ISP算法处理
前言:本篇blog主要为讲述ISP处理流程及其应用场景。一、概述ISP(Image Signal Processor), 即图像信号处理, 主要作用是对前端图像传感器输出的信号做后期处理,依赖于 ISP 才能在不同的光学条件下都能较好的还原现场细节。Cmos YUV sensor 的 ISP 处理流程如图 1 所示:景物通过 Lens 生成的光学图像投射到 sensor 表面上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变为数字图像信号,再送到数字信号...
2021-03-06 11:09:07 927
原创 linux内核编程之四:同步方法自旋锁(spin lock)
自旋锁Linux的的内核最常见的锁是自旋锁。自旋锁最多只能被一个可执行线程持有。如果一个执行线程试图获得一个被已经持有(争用)的自旋锁,那么该线程就会一直进行忙循环-旋转-等待锁重新可用要是锁未被争用,请求锁的执行线程就可以立即得到它,继续执行。在任意时间,自旋锁都可以防止多于一个的执行线程同时进入临界区。同一个锁可以用在多个位置,例如,对于给定数据的所有访问都可以得到保护和同步。-----------------------------------------------...
2021-03-05 20:21:27 582
原创 linux内核编程之三:linux中原子操作atomic_read、atomic_set、atomic_add、atomic_sub
所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位。因此这里的原子实际是使用了物理学里的物质微粒的概念。原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。原子操作主要用于实现资源计数,很多引用计数(refcnt)就是通过原子操作实现的。原子类型定义如下:typedef struct.
2021-03-05 20:11:45 8666 1
原创 linux内核学习之一:__must_check含义及出处
#define __must_check __attribute__((warn_unused_result))__must_check函数是指调用函数一定要处理该函数的返回值,否则编译器会给出警告。
2021-03-04 15:34:06 990 3
原创 C语言之__attribute__的使用
一、介绍GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。__attribute__语法格式为:__attribute__ ((attrib...
2021-03-04 13:45:48 1445 1
CodeComposerStudio-TI系列DSP开发环境经典教程(中文版)
2023-11-09
USB-DEV-BULK驱动、USB-DEV-SERIAL-DRIVER驱动、USBlyzer 通过"USB BULK"管道实现
2023-09-04
USB转串口驱动.zip
2023-09-01
ZOC602串口工具(针对Tronlong TL6748-TI TMS3206748 DSP)
2023-08-31
TI-TMS320C6748DSP技术参考手册(中文版)+参考例程
2023-08-03
USB CDC从理论到实践-9527的专栏-CSDN博客 - blog.csdn.net
2023-02-10
UVCStreamComandParserV1.1.exe
2023-02-10
BusHound-v6.0.1.rar BusHound-v6.0.1.rar BusHound-v6.0.1.rar
2023-02-10
海思-拼接 产线标定库 API 参考.pdf
2022-11-16
linux系统V4L2驱动对接代码C++撰写
2022-10-13
ARM NEON指令集.docx
2021-06-03
linux.chm 学习的最好帮手
2008-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人