自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 【GPU驱动开发】- AST简介

MatchFinder::matchAST和MatchFinder::newASTConsumer同样的效果。,抽象语法树,是一种包含丰富语义信息的格式,其中包括类型、表达式树和符号等。TranslationUnitDecl:该类表示一个输入源文件。通过干净、简洁和高效的领域特定语言DSL编写模式匹配逻辑。:Decl的子类表示,如变量声明、函数和结构、类声明。:该类跟踪所有的AST节点和输入源文件数据。:Stmt的子类表示,表示动作概念的指令。:Expr的子类表示,总是生成值。

2024-03-01 14:03:58 660

原创 【GPU驱动开发】-GPU架构简介

GPU(Graphics Processing Unit,图形处理单元)是一种专门用于处理图形和并行计算的处理器。GPU系统架构通常包括硬件和软件层面的组件。

2024-03-01 13:50:18 1154

原创 【GPU驱动开发】-mesa简介

Mesa是OpenGL、Vulkan和其他图形API规范的开源实现。主要由Intel和AMD为其各自的硬件开发和资助。AMD 在已弃用的AMD Catalyst上推广其 Mesa 驱动程序 Radeon 和 RadeonSI ,而 Intel 仅支持 Mesa 驱动程序)。专有图形驱动程序(例如,Nvidia GeForce 驱动程序和 Catalyst)取代了所有 Mesa,提供了自己的图形 API 实现。

2024-02-28 17:04:24 1764

原创 【GPU驱动开发】- mesa编译与链接过程详细分析

st_glsl_to_nir.cpp 文件负责 GLSL 到 NIR 的转换,其中 NIR 提供了更抽象和可优化的中间表示。src/mesa/state_tracker/st_glsl_to_nir.c:在ST层主要实现了 GLSL 到 NIR 的转换功能,包括 GLSL 程序的链接、NIR 的最终化、优化以及统一变量的处理。src/compiler/glsl/glsl_to_nir.cpp:在Compiler层负责将GLSL源码转化成NIR,包括GLSL IR的释放和NIR的创建和验证。

2024-02-28 16:53:04 1766

原创 【GPU驱动开发】- GLSL介绍和使用举例

它负责将操作系统发出的指令转换为GPU可以理解的指令,并管理GPU的资源。NVIDIA的CUDA和AMD的ROCm是两种常见的GPU编程框架,它们提供了GPU编程的API和工具。GPU编程通常采用并行计算的模型,其中任务被分解成许多小的并行任务,由GPU的流处理器并行执行。CUDA和OpenCL是两种广泛使用的GPU编程语言,它们允许开发人员直接利用GPU的并行性。高带宽、低延迟的显存对于GPU的性能至关重要。OpenGL和DirectX是两种常见的图形API,它们提供了用于渲染图形和处理图形效果的接口。

2024-01-31 15:31:50 855

原创 【GPU驱动开发】-LLVM和Clang环境部署

在 Ubuntu 系统中,你可以通过修改 ~/.bashrc 文件来将 LLVM 的 bin 目录添加到 PATH 环境变量中,以及将 LLVM 的 lib 目录添加到 LD_LIBRARY_PATH 环境变量中。cmake -DLLVM_DIR=/home/zq/桌面/llvm-project/llvm/install/lib/cmake/llvm。首先将虚拟机关机,在虚拟机设置中,选择选项面板,选择共享文件夹,选择总是启用。将win下的共享文件夹加入的指定目录下:在/mnt目录下输入。

2024-01-31 15:24:32 1031

原创 【GPU驱动开发】-Mesa ST和GLSL编译器衔接交互分析

(基于Mesa 22.2.5版本)Mesa State Tracker 与 GLSL 编译器的协同工作是 Mesa 3D 图形渲染管线中的关键环节。这两者的衔接确保了 OpenGL API 调用能够正确、高效地映射到底层硬件,并为开发者提供了一个灵活而强大的图形渲染框架。这种衔接不仅涉及到状态的正确传递,还包括对 GLSL 着色器的管理、编译和链接过程的协同工作,从而为开发者提供了一个强大的图形渲染工具。

2024-01-25 11:26:54 510

原创 【GPU驱动开发】-Mesa ST和GLSL编译器衔接源码分析

st_glsl_to_nir.c 主要实现了 GLSL 到 NIR 的转换功能,包括 GLSL 程序的链接、NIR 的最终化、优化以及统一变量的处理。根据着色器类型(GLSL 或 SPIR-V)调用相应的链接函数,如 gl_nir_link_glsl 或 gl_nir_link_spirv。st_nir_assign_vs_in_locations 函数专门处理为顶点着色器输入分配输入位置的任务。st_glsl_to_nir_post_opts 函数执行 GLSL 到 NIR 转换的链接后任务。

2024-01-25 10:43:13 552

原创 【公共工具】-Markdown使用

Markdown 是一种轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML 、Word、图像、PDF、Epub 等多种格式的文档。文档后缀为 .md, .markdown。

2024-01-16 09:59:11 348

原创 计算机基础笔记(五)—数据库

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言文件结构顺序文件索引文件散列文件目录数据库数据库体系结构数据库模型数据库的设计其他数据库文件结构文件是数据记录的集合,每个记录都由一个或多个域组成。存取方法决定了怎样检索记录:顺序的或随机的顺序文件定义: 只能按照顺序从头到尾一个接一个地进行存取文件更新新主文件:新的永久数据文件旧主文件:需要更新的永久文件事务文件:包含要对主文件做改变的文件(添加、删除、更改)错误报告文件:错误清单与纠正操作索引文件由数据文件组成,它是

2022-03-24 13:57:55 2767 1

原创 计算机基础笔记(四)—数据结构

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言数组链表栈(LIFO)队列(FIFO)广义线性表树图有特殊关系的数据的集合,能被单独或作为一个整体被访问抽象数据类型抽象数据类型就是与该数据类型有意义的操作,封装在一起的数据类型数组元素的顺序集合,通常这些元素都具有相同的数据类型两种标识符: 数组的名字和各个元素的名字多维数组存储配置: 大多数计算机使用行主序存储数组的操作:查找元素、元素插入、元素删除、检索元素、元素遍历(被用于每个元素上的操作)适用范围: 插入和删除操

2022-03-23 11:42:33 610

原创 计算机基础笔记(三)—操作系统

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、概述二、操作系统分类三、组成部分用户界面内存管理器进程管理进程同步设备管理文件管理四、主流操作系统UNIXLinuxWindows一、概述定义: 计算机硬件和用户的一个接口,它使得其他程序更加方便有效地运行,并能方便地对计算机硬件和资源进行访问。计算机系统: 硬件+软件软件系统: 操作系统+应用程序操作系统加载过程:自举程序运行→操作系统装入内存→CPU运行操作系统二、操作系统分类批处理操作系统: 早期控制大型计算机,保证

2022-03-21 15:57:24 3604

原创 计算机基础笔记(二)—计算机组成

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、中央处理器(CPU)二、主存储器三、输入/输出子系统四、子系统互连五、程序执行六、计算机体系结构组成构成:中央处理器+主存储器+输入/输出子系统一、中央处理器(CPU)算术逻辑单元(ALU)+控制单元+寄存器组算术逻辑单元(ALU): 对数据进行逻辑、移位、算术运算寄存器: 存放临时数据的高速独立的存储单元数据寄存器: 用来存储输入数据和运算结果更多的复杂运算由硬件设备实现,所以CPU中使用大量寄存器来提高运算速度。指令寄

2022-03-18 17:10:49 614

原创 计算机基础笔记(一)—计算机网络

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、 概述二、 TCP/IP协议族分层应用层传输层网络层数据链路层物理层一、 概述网络: 一系列可用于通信的设备相互连接构成的。局域网: 将几个主机相连的私有网络,每个主机都有局域网中唯一的标识符和地址。广域网: 将广域内的通信设备互连,将交换机、路由器或调制解调器的连接设备互**连,由通信公司创建并运营,并租借给使用它的机构。协议: 定义发送器、接收器以及所有中间设备必须遵守的以保证有效地通信的规则。协议分层目的:使我们可以将大

2022-03-16 16:52:31 4491

原创 前端开发笔记(四)—vue项目部署

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、 使用淘宝镜像cnpm安装vue1. 安装node.js2. 安装淘宝镜像cnpm3. 安装脚手架vue-cli4. 自动升级vue5. 初始化脚手架二、 创建vue项目1. 创建vue项目2. 打包vue项目三、 Windows服务器利用IIS搭建环境1. 安装NET框架2. 安装IIS3. 安装web平台组件与URL重写组件一、 使用淘宝镜像cnpm安装vue1. 安装node.jsNode.js是一个基于Chrome V8引擎

2021-11-18 11:17:28 1096 1

原创 雷达手势识别技术概述

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言雷达技术特点毫米波雷达实现过程手势信号预处理手势特征提取与分类识别算法雷达技术特点随着雷达技术的快速发展和广泛应用,雷达手势识别已成为人机交互技术领域的一个重要分支。与传统光学传感器相比,雷达传感器在雨、雪、雾霾等恶劣天气情况或者黑暗条件下均能够正常工作,具有全天候、全天时的优势; 其次雷达传感器可固定到电子设备内部,从而可提高装置的抗干扰性和灵活性; 另外,雷达信号在隐私安全方面也有着较大优势,可以有效的保护用户隐私信息。毫米波雷达

2021-11-09 09:52:45 3948

原创 前端开发笔记(三)—JavaScript教程

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、 简介1.引入方式一、 简介JavaScript,一种嵌入到HTML页面中的编程语言,由浏览器一边解释一边执行。用于控制着网页的行为。1.引入方式想要在HTML中引入JavaScript,一般有3种方式。(1)外部JavaScript(2)内部JavaScript(3)元素事件JavaScript** 外部JavaScript **<script src="index.js"></script>

2021-08-31 18:40:29 548

原创 前端开发笔记(二)—CSS教程

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、 简介1.引入方式二、 元素选择器1.元素基本属性2.选择器三、 字体样式1.简介2.标签使用四、 文本样式1.简介2.标签使用五、 边框、列表与图片样式1.简介2.标签使用六、 图片与背景样式1.简介2.标签使用七、 超链接式样与盒子模型1.简介2.标签使用八、 浮动与定位布局1.简介2.标签使用一、 简介CSS,Cascading Style Sheet(层叠样式表),是用来控制网页外观的一门技术,在Web开发中用于控制网页的外观

2021-08-05 14:35:57 277

原创 前端开发笔记(一)—HTML教程

前言不必害怕未知,无需恐惧犯错,做一个Creator!目录前言一、 简介1.语言语法2.开发环境:VScode3.HTML结构二、基本标签1.简介2.标签使用3.示例(网页显示如下内容)三、文本标签1.简介2.标签使用3.示例(网页显示如下文本内容)四、列表与表格标签1.简介2.标签使用3.示例:网页显示如下表格与列表内容五、图片与超链接标签1.简介2.标签使用3.示例:通过点击图片转到目标链接六、表单标签1.简介2.标签使用3.示例:网页显示如下表单一、 简介HTML/Hyper Text Mar

2021-07-23 10:09:12 614 2

原创 【嵌入式】NBIoT(BC26)低功耗模式与控制

不必害怕未知,无需恐惧犯错,做一个Creator!一、BC26工作模式机制工作模式工作模式工作状态描述正常Connected所有功能正常收发空闲DRX/eDRX寻呼窗口内可接收寻呼,周期性监听睡眠模式PSM网络处于非连接状态,无法接收下行数据切换机制模块当前的Task都处于挂起状态后,模块的AP将会进入空闲模式(默认自动使能进入),这时AP不再有业务需要处理。当空闲态下无数据交换超过一定时间,模块自动进入PSM模式空闲模式:DRX/eDRX为了

2021-05-27 17:10:46 2527

原创 【STM32】KEIL5-4兼容性问题处理

问题:通过KEIL5打开KEIL4文件出现兼容性问题处理一、点击 “Install Legacy Support”,进入KEIL官网下载支持包二、点击 “Download legacy Support for Cortex-M Devices” 进行下载三、点击下载下来的应用程序,安装支持包四、再次打开工程文件,不会出现兼容性问题。提示:若有错误不足,欢迎批评指正。该文章仅供参考,欢迎互相学习交流。感谢你的阅读,期待你的关注收藏点赞!...

2021-03-23 16:18:32 1729 1

原创 【嵌入式】EEPROM与Flash对比分析

不必害怕未知,无需恐惧犯错,做一个Creator!功能特点对比EEPROM的全称是“电可擦除可编程只读存储器”。这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,较少有超过512K的。flash(nand)常见W25系列,是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。读取只能按页来读取。nand flash内部电路更简单,因此数据密度大,体积小,成本也低,因此大容

2021-02-05 09:31:10 2753 2

原创 【卫星】卫星通信基本概念与知识

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍卫星通信基本概念与知识。卫星通信基本概念与知识上行链路:从地球站发射信号到通信卫星所经过的通信路径成为上行链路。下行链路:通信卫星将信号再转发到其他地球站的通信路径称为下行链路。星间链路:同轨道卫星间的通信。星际链路:不同轨道卫星间的通信。卫星通信特点优点:通信距离远,费用与通信距离无关。覆盖面积打,以广播方式工作,可进行多址通信(同时多方向多地点通信)。机动灵活易于处理突发事件缺点:使用寿命短星蚀

2021-01-29 16:12:42 7777 1

原创 【物联网】物联网关键技术与应用分析

感知层:智能硬件技术、传感技术传感器技术是从自然信源获取信息并对获取的信息进行处理、变换、识别的一门多学科交叉的现代科学与工程技术,它涉及传感器、信息处理和识别的规划设计、开发、制造、测试、应用及评价改进活动等内容。了解行业,根据不同的应用场景选择使用更契合的传感设备,感知设备。网络层:无线通信技术物联网中物品要与人无障碍地交流,必然离不开高速、可进行大批量数据传输的无线网络。无线网络既包括允许用户建立远距离无线连接的全球语音和数据网络,也包括近距离的蓝牙技术、红外技术和Zigbee技术。熟悉各.

2021-01-29 13:57:04 1072 2

原创 【Linux】jetson开发教程—RGB判据火焰识别

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍jetson开发板中RGB判据火焰识别的实现。一、原理流程图二、RGB判据原理人眼的视网膜上有两类感光器:锥状体和杆状体。其中,锥状体对红、绿、蓝三种颜色的光很敏感,因此一般用于人眼观看的颜色模型是RGB模型。对于普通的火焰来说,它的红色分量和绿色分量会很大,并且绿色分量会大于蓝色分量,所以我们设下的简单判据是:S = (1-3.0*minValue/(R+G+B))R > RT R>=G>=B S&g

2020-12-29 17:13:46 599 1

原创 【Linux】jetson开发教程—CSI摄像头使用

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍jetson开发板中CSI摄像头的使用。一、创建管道注:若没有安装GStreamer,需要先进行安装,可参考相关文章该管道配置函数是对管道的像素,帧数,格式转换string gstreamer_pipeline (int capture_width, int capture_height, int display_width, int display_height, int framerate, int flip_method)

2020-12-29 16:27:25 2466 1

原创 【STM32】HAL库开发教程(九)—W25qxx使用

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中W25qxx的配置使用一、开发步骤1.指令表配置W25qxx的系列芯片的指令表大部分是互通,在参照芯片确定后,对指令进行宏指令配置。定义包括:读指令,写指令,擦除指令#define W25X_WriteEnable 0x06 #define W25X_WriteDisable 0x04 #define W25X_ReadStatusReg1 0x05 #define W25X_ReadSta

2020-12-28 18:58:07 2643 1

原创 【通信技术】天线技术

不必害怕未知,无需恐惧犯错,做一个Creator!本文主要记录学习的通信天线技术。一、基本原理天线将 射频电信号 转换成 电磁波 在自由空间中传播,并相应在接收端将电磁波转换回射频电信号。电磁波辐射的产生: 导线上有交变电流流动。基本单元: 半波对称振子,两臂长度均为1/4波长二、天线类别全向天线:水平方向360°均匀辐射。定向天线:水平方向上有一定角度范围的辐射。可通过反射板把辐射方向进行约束。提示:若有错误不足,欢迎批评指正。该系列文章仅供参考,欢迎互相学习交流。感谢你的阅读.

2020-12-24 20:12:27 661 2

原创 【STM32】HAL库开发教程(八)—看门狗使用

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中看门狗的使用。目录前言一、开发步骤一、开发步骤

2020-09-15 14:45:47 2651

原创 【STM32】HAL库开发教程(二)—GPIO使用

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中GPIO的使用。目录前言一、开发步骤一、开发步骤

2020-09-15 11:43:42 2308

原创 【STM32】HAL库开发教程(七)—SPI使用

前言本系列本章针对STM32F207,基于STM32Cubemx和Keil进行程序开发,作者利用本系列文章对开发过程进行记录和总结。该系列文章仅供参考,欢迎互相学习交流。其中,本文主要介绍STM32_HAL库开发中RTC的使用。...

2020-09-15 11:19:11 23687 20

原创 【STM32】HAL库开发教程(三)—定时器使用

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中定时器的使用。目录前言一、开发步骤一、开发步骤

2020-09-15 10:14:48 2049

原创 【STM32】HAL库开发教程(六)—低功耗唤醒

前言不必害怕未知,无需恐惧犯错,做一个Creator!本文主要介绍STM32_HAL库开发中低功耗模式的使用。目录前言一、开发步骤一、开发步骤

2020-09-15 09:51:14 4746

原创 【STM32】HAL库开发教程(四)—串口FIFO使用

前言

2020-09-14 22:16:34 6456 6

原创 【STM32】串口数据帧接收与分析处理算法

。。。

2020-09-11 16:58:48 4135

原创 【STM32】printf()函数未定义问题调试

问题描述:一般C语言中使用printf()函数时,包含#include "stdio.h"即可使用,但在Keil(HAL库)开发环境中使用不了。问题分析:未定义printf()使用的串口解决方案:在HAL库stm32xxxx_hal.c函数中,对输出串口进行定义与配置。示例代码:extern UART_HandleTypeDef huart2; int fputc(int ch, FILE *f){ HAL_UART_Transmit(&huart2, (uint8_t

2020-09-10 21:12:31 3591

原创 【C语言】字符串打印(定长)

目的:打印长度可控的字符串char *ucBuf;uint8_t ucLen; char ucString[256];memcpy(ucString, ucBuf, ucLen);ucString [ucLen] = '\0';printf("%s\r\n", ucString);

2020-09-09 18:40:00 1124 2

原创 【C语言】GPS时间修正算法

目的:由于GPS模块传输数据和北京时间存在时差,因此需要对时间进行修正修正程序: //algrithm of calibrate GPS time RTC_Time.Hours += 8; if (RTC_Time.Hours > 23) { RTC_Time.Hours -= 24; RTC_Date.Date += 1; uint8_t ucaDays[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if

2020-09-09 18:36:38 896 2

原创 【C语言】typedef的基本用法

举例:

2020-09-07 20:28:59 173

原创 【C语言】编程规范(keil)

。。

2020-09-07 20:14:28 1984

EEPROM与FLASH(W25)芯片手册对比.rar

EEPROM与FLASH(W25)芯片手册对比.rar

2021-02-05

F207_Manual-LEOBIT_ZQ.zip

免费下载!!!官网下载F207的数据手册,参考手册以及闪存编程手册,都是英文版本的,可以直接免费下载。

2020-08-31

空空如也

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

TA关注的人

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