- 博客(45)
- 资源 (1)
- 收藏
- 关注

原创 写到最前面的话——研究生毕业论文致谢
研究生三年时光真的是非常快,从入学重大开始重新学习C++,开始自己做深度学习相关的项目,并且选修计算机学院、光电学院和通信学院的课程。以这样的方式进入计算机或者说信号处理行业对我自己来说无疑是非常幸运和有很大难度的。难度在于自己本科学的是能源与动力工程内燃机方向,研究生完全转向另外一个计算机相关的方向,一点本科基础没有就开始去上研究生的课程,想到最开始在数字信号处理和DSP实验课程的教室上自己那种......
2020-03-27 18:21:55
993
原创 Linux(ubuntu)下载ollama速度慢解决办法
速度大概是10min下载1%,完全不能接受啊!其中很好的一个加速方式是通过使用github文件加速来替换github下载地址,提升国内用户下载。
2025-02-16 15:12:07
2930
9
原创 ROS2软件架构全面解析-学习如何设计通信中间件框架
ROS(Robot Operating System) 2 是一个用于开发机器人应用的软件平台,也称为机器人软件开发工具包 (SDK)。ROS2是ROS1的迭代升级版本 ,最主要的升级点是引入DDS(Data Distribution Service)为基础的底层通信系统。这篇博客中将介绍、分析ROS2通信中间件软件架构,并且分析其中优点
2024-12-31 14:29:40
1711
原创 汽车智能座舱软件架构
智能座舱域控制器目前承载信息娱乐系统、导航系统、驾驶员辅助系统、车辆监控和控制、安全系统等各种功能。这篇博客主要是对座舱域控制器基于QNX、Android Automtive OS软件架构做一个大致的介绍,如果想要更宽维度的了解,可以看第一篇参考文献,我觉得写得很好。开篇从汽车电子电器架构的演变来讲解为什么会出现智能座舱域控制器。最后我会描述和预测一下未来汽车域控制器软件架构会是怎么样的,以及传统软件架构和AI时代会有怎样的技术融合。欢迎大家留言探讨!
2024-11-10 17:02:21
2453
原创 Android Camera SDK NDK NDK_vendor介绍
本篇博客是想介绍Android camera从application layer到camera service layer整个框架中,能够使用的所有接口方式。
2023-03-08 19:18:24
1633
原创 Camera Java Native Interface(JNI)介绍
Android系统按语言来划分由两个世界组成,分别是Java世界和Native世界。JNI就是为了解决当应用程序不能完全用Java编写时所需要的工具。因为在Java诞生之前,就有很多程序和库都是由Native语言写的。为了更好的复用之前native语言写的库所以设计出这套interface,JNI相当于链接两个世界的纽带。
2023-03-01 14:53:50
746
原创 Android 13 VTS HIDL interface 解析
Android 13已经发布,VTS testcase发生很多变化,在此博客中对其每个测试项目进行流程介绍。
2022-12-11 14:41:45
1674
原创 Android Camera APP preview buffer 总体流程
Camera sensor获取自然图像(图像代表着image data buffer)通过ISP处理之后到显示器显示,这个过程代表着buffer从camera到display的传输,也是camera module中一个重要的流程,在此博客中和大家分享。
2022-07-28 20:19:13
1848
原创 Snapdragon APP Warm Start功能算法流程
为了让snapdragon camera APP启动之后,能够更快的恢复到退出之前同样场景,需要记忆退出camera 之前很多参数。为能在退出snapdragon APP时保存参数并且reopen之后可以快速获取到,设计出Warm Start机制。
2022-06-09 14:11:34
608
原创 camera部门中软件(software)、画质调优(tuning)、算法(algorithm)小组之间的关系
毕业就进入camera group做software开发,camera group一供分了三个小组:软件(software)、画质调优(tuning)、算法(algorithm),一直在思考三个小组之间是怎么一种关系,谁更重要一些?通过一个camera pro mode 调整EV的bug对这个问题有了更深入的理解,先说结论:software and algorithm都是对tuning服务的!bug的场景:camera 进入pro mode设置EV为-4,最小化camera APP然后重新进入(热启动.
2022-04-27 16:22:46
965
原创 fastboot与fastbootd介绍
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档fastboot与fastbootd介绍前言一、fastboot和fastbootd介绍?二、fastbootd与fastbootd区别参考文献前言在项目中遇到使用fastboot刷机场景,刷vendor分区出现异常,从而对fastboot和fastbootd有一个更深入的了解,进行一个总结。一、fastboot和fastbootd介绍?fastboot:fastboot是一种用于Android设备上的刷机协议,便于系统开发者快.
2022-04-08 16:52:30
26745
1
原创 使用Vendor NDK实现Android Camera preview
使用Vendor NDK实现Android Camera preview,并且解析NDK和VNDK基础概念,并且说明为什么只能使用VNDK interface。给出代码分析项目流程,建立binder进程间通信
2022-01-09 17:36:21
4161
原创 类模板实现原子性达到单例统一
文章目录前言一、首先对前言中名次进行解释类模板是什么:原子性:单例模式:二、实现步骤1.引入库2.实现的类模板以上代码实现类模板的建立:类模板实例化过程前言通过类模板实现很好的代码复用性,以达到每次实现相似类的时候代码统一可读性高,避免个人实现个人的类,代码重复,并且保证在类的成员函数中实现的原子性操作代码,也就是保证代码执行的连贯性与顺序性。并且保证创建的类为单例模式。一、首先对前言中名次进行解释类模板是什么:所谓类模板,实际上是建立一个通用类,其数据成员、成员函数的返回值类型和形参..
2021-04-05 13:38:56
220
原创 vector<T>::size_type使用目的
vector::size_type使用目的size_type使用目的在C++ reference中vector中对size_type的介绍如下:an unsigned integral type that can represent any non-negative value of difference_type表示无符号最大整数类型的类型。size_type使用目的size_type 就是当前使用的vector 的 size 的类型。vector中的vector.size()函数能够获取vec
2021-02-26 17:02:14
1036
原创 server端双socket 设计方式
server端双socket 设计方式项目场景:设计目的与意义:项目场景:设计一个socket server端传输数据,在server传输线程中设计两个server socket套接字。主要是想阐述为什么设计两个socket server,设计两个socket server的目的。 设计目的与意义:一个server端是现实和外部的建立socket 通信连接,一个server端实现对相应端口进行数据传输。 代码如下:ServerSocket server (m_port, m_pipe
2020-11-29 22:49:22
591
原创 (void **)&p 含义理解
很多时候会用到(void **)&p,尤其是在调用某些函数作为入口参数的时候。(void**)&p 是空类型void * 是无类型指针void ** 是无类型指针的指针&p 是p变量取地址运算符(类型) 为强转类型运算(void **)&p 变量,就是把变量p地址强制转化无类型指针的指针这样做的好处是对于任何类型调用无需考虑变量原类型。在项目中实际应用到的例子如下:* (void**)&(cam_info->usr_lib.get_nu
2020-11-21 20:34:03
1484
1
原创 清华大学软件工程课程总结
软件工程课程总结单元测试内容单元测试原则:单元测试应该有返回值来判断是否成功!单元测试框架: CppUnit(C++)
2020-11-11 20:29:34
1230
原创 Qt开发图形界面上位机软件显示通过TCP接受数据图像,执行bash命令启动Geant 4
图像界面上位机软件上位机软件功能上位机软件功能本人设计的上位机主要分为信号图像显示区、按键和参数设置区和文字信息区三大部分。 整个上位机软件主要分为三部分: 1. 启动和关闭 Geant4 物理仿真软件并且设置相关参数。 2. 显示探测器能量沉积数字信号。 3. 显示 TCP连接状态信息和 Geant 4 探测器能量沉积。但是有一点我很不理解,为了实现每次接收到TCP数据帧,都能够更新信号图像,我把new空间放到了header文件中,在cpp文件的doProcessNewConnect函数中怎么都没有
2020-06-12 14:28:58
2128
原创 高斯曲线拟合原理以及Python源码
高斯曲线拟合原理以及Python源码高斯函数曲线拟合数学基础Python求解高斯函数代码结论高斯函数曲线拟合数学基础为了更好的对实验数据更好的拟合使用高斯函数曲线进行拟合。使用高斯函数拟合比多项式拟合更加合适,多项式拟合必须把曲线分为两段,高斯函数拟合是对所有数据进行整体拟合,更能够反映出数据的总体变化情况,而多项式拟合只能对数据进行分段拟合,对数据的变化趋势进行割裂。一下给出高斯函数拟合的数值基础:证明X^T X矩阵非奇异是很有意义的需要证明在你的数据集上最小二乘法优化方式是可行的,但是我的
2020-06-11 11:24:09
16946
13
原创 Linux设备驱动程序总结
Linux设备驱动程序总结核心模块新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入核心模块Linux内核编程...
2020-05-07 14:23:54
390
原创 Linux 内核分析与应用课程总结
Linux内核使用哈希表结构,特点是hlist_node有一个pprev的二级指针,指向前面节点的next一级指针。如果改变为一级指针就不能指向第一个hlist_node *first指针,而在散列表中使用指针是为了只需要保存地址,而不需要保存数据,节约空间(和总数据是一个数量级)。...
2020-04-30 18:43:15
363
原创 Geant 4创建TCP客户端,自定义宏命令,输出探测器能量
我在Geant 4软件中主要完成三大功能需求:构建自己所需要的探测器模型;建立TCP客户端;自定义宏命令来输出指定探测器能量沉积。Geant 4中的蒙特卡罗方法是指一个粒子发射出去之后,会和周围的环境发生反应,一直到发射出去的粒子和它产生的次级粒子都完全发生反应并且泯灭之后,才会发射下面一个粒子,两个事件的发射粒子之间不会发生任何反应,并且Geant 4软件本身不做模拟计算,所有产生的数据都是...
2020-04-29 11:34:48
674
2
原创 Image Signal Processor(ISP)技术总结
CMOS传感器分类[1].CMOS图像传感器是高倾频高分辨率CMOS相机系统的核也组成部分,是整个系统的"眼睛"。CMOS图像传感器将外界可见光信号通过感光二极管转换成电荷信号,再通过内部量化等处理转换成电压信号或者电流信号,使其能被后续电路系统组件识别。CMOS无源像素图像传感器由一个反向偏置的光电二极管、MOS场效应复位管和CMOS场效应开关管组成。CMOS无源像素图像传感器像元结构具有...
2020-04-28 21:35:04
1705
原创 Python读取txt文件并且画出图像,在曲线label中添加上下标
import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.pyplot import MultipleLocatordef padding_data(x): array1 = [] up_coefficient = [1.122e-08, - 5.613e-06 , 0.0008606, - 0.0...
2020-03-19 13:56:17
1414
原创 DMA技术和及其SG模式
DMA技术 AXI直接数值存取(Drect Memory Access,DMA)IP核在AXI4内存映射和AXI4流IP接口之间提供高带宽的直接内存访问。DMA可以选择分散收集(Scatter Gather,SG)功能还可以将数据移动任务从位于于处理器系统中的中央处理器(CPU)中卸载出来。可以通过一个AXI4-Lite从接口访问初始化、状态和管理寄存器。如图4. 8展现了DMA IP的功...
2020-03-02 10:47:35
11580
原创 ZYNQ芯片AXI 协议和PL和PS接口互联
AXI 协议 Zynq可扩展平台的性能不仅在于PS与PL的功能强大,最大的优势在于能把二者联合起来使用以形成完整体系。其中,起到至关重要作用的就是通过AXI总线协议实现两部分的紧密联合。在介绍AXI协议之前先介绍先进的微控制器总线结构(Advanced Microcontroller Bus Architecture,AMBA)。AMBA是一个开放标准,概述了如何在SoC中连接和管理...
2020-03-02 10:41:44
3744
2
原创 TCP win客户端发送数据
// tcp协议传输部分借鉴代码,改动部分为把文件中读取的十六进制数据转化为char数组进行传输#define _WINSOCK_DEPRECATED_NO_WARNINGS #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <direct.h> #include <iostrea...
2020-01-05 15:03:02
984
原创 浮点数转化为十六进制数
// The purpose of this code is to convert decimal floating point Numbers to hexadecimal//把浮点数normalize到2000到3FFF的区间上#include <iostream>#include <assert.h>#include <cassert>#in...
2020-01-05 14:58:57
1113
原创 解决geant 4中could not find X11 Xmu library and/or headers等问题!
我在使用Ubuntu16.04系统安装geant 4软件到达cmake编译的阶段:cmake -D CMAKE_INSTALL_PREFIX=/home/zx/geant4_10_05/geant4_10_05_build -DGEANT4_INSTALL_DATADIR=/home/zx/geant4_10_05/geant4_10_05_data-DGEANT4_BUILD_MULT...
2019-10-22 16:43:05
3215
1
原创 从文件中读取浮点数输出十六进制数据保存在文件中
// The purpose of this code is to convert decimal floating point Numbers to hexadecimal//#include <iostream>#include <assert.h>#include <cassert>#include <fstream>#incl...
2019-09-24 16:19:00
513
原创 输入一段字符串按出现次数排序
#pragma warning(disable:4996)#include <stdio.h>#include<iostream>#include<vector>#include<string>using namespace std;using std::cout;using std::cin;using std::vector;...
2019-09-03 17:10:32
565
原创 char*和char[]的理解
在C++中常量不能赋值,变量才能赋值。C++使用char* 实际上是指向字符串首地址的指针变量。可以把其他字符串赋值给char*,实际上的操作是把其他字符串的首地址存放到char*指针变量里。char * pstr = "hello world";pstr = "maoge";上面两句代码对char*字符串的操作,是把字符串指针 pstr 指向的首地址从hello world 变换...
2019-08-12 11:20:26
573
原创 ZYNQ 在Linux系统层上通过DMA传输数据(安装控制DMA驱动的设备驱动)
编译Linux 驱动有两种方法,一种是使用petalinux直接编译进入内核中,第二种是在外部通过arm内核编译之后,insmod加载进入内核。我使用的是ZYNQ芯片,在芯片中跑Linux系统,我想解决的目标是通过DMA驱动从PS端传输数据到PL端。因为DMA驱动位于设备驱动的下一层,用户模式在设备驱动的上一层;而且DMA驱动对硬件的地址有要求,必须分配连续的物理内存,而在用户层只能分配非连续...
2019-08-05 19:41:05
10094
11
原创 char数组转化为十进制整数
通过一些通信方式传输的数据(比如:串口传输),有时候会保存为char类型的数据数据,我们需要把char数组中的所有数据转化为int整数,方法一是直接通过移位运算来实现:char c[4] = { 0x3,0x0f,0xf,0xf }; char t; int num = 0; int len = sizeof(c) / 2; char d[sizeof(c) / 2]{ 0 ...
2019-07-24 14:41:45
5111
1
原创 vivado调试问题,下载问题
我使用的是uart串口程序,Vivado的程序通过SDK下载之后,串口接收不到从FPGA上传的信息。先对之前的SDK文件夹进行删除,重新生成bit文件,之后打开SDK程序,新建工程文件,然后复制uart的C代码到工程中,进行SDK的程序下载,还是无法接收到串口上传的信息,最后发现问题是:system debugger对应的elf文件出错了,一定需要新建立一个system deb...
2019-07-23 11:26:14
795
interplot.py
2020-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人