工具
文章平均质量分 86
实用工具记录
SOC罗三炮
嵌入式软件开发,ARM CPU架构研究,某厂芯片SOC系统验证工程师
展开
-
点云处理及三维重建软件(Point Cloud Viewer, PCV)的环境搭建详细教程
最近有同学在搭建PCV环境时遇到了一些问题来向我求助,确实这个工程涉及面比较广:PCL+QT+CPP+VS+CMAKE,所以一些没接触过相关工具的同学一时不知从何入手,特此把环境搭建教程再详细化,祝同学们都能跑通PCV。评论区里已经有同学跑通了该项目,作为一个开源爱好者,这一点足以让人欣慰。另外,本项目早已在[Github](https://github.com/luolaihua)开源,目的是为了让同学们少走弯路,毕竟国内相关免费软件和教程少之又少。既然是**开源**,所以是**免费**的,遇到技术问题可原创 2023-10-24 13:18:38 · 4767 阅读 · 8 评论 -
使用Coreinfo工具查看电脑CPU相关信息(cache,NUMA node,socket )
CoreInfo是一个命令行实用程序,它向您介绍逻辑处理器和物理处理器,NUMA节点和它们所在的套接字之间的映射,以及分配给每个逻辑处理器的缓存。它使用Windows中GetLogicalProcessorInformation函数来获取此信息并将其打印到屏幕,表示与具有星号的逻辑处理器的映..原创 2021-07-19 23:07:26 · 2880 阅读 · 0 评论 -
Debug工具Trace32的ARM内存访问类型详解
本文将以ARMv8为基础,详解Trace32的内存访问类型。访问内存时,通过BUS master ,也称为Memory Access Ports (MEM AP)。由Debug Access Port (DAP)提供。DAP是一个CoreSight组件,在基于Cortex的设备上是必需的。用户必须给MEM-AP(比如AHB)分配一个内存访问端口号,然后就可以使用 AHB 作为访问类型。AXI和DAP也是一样。至于DAP2, AHB2, APB2, AXI2),是给可以控制两个DAP的调试器使用的。原创 2023-07-15 23:20:51 · 4516 阅读 · 2 评论 -
Trace32使用Data.Test和Data.TestList命令测试内存类型以及完整性
Data.Test: 内存完整性测试 Memory integrity test我们在debug的时候,可以使用Trace32自带的一些命令快速地检测目标系统的内存的类型和完整性(是否可读或可写),以便快速排除内存缺陷带来的干扰。原创 2023-05-25 23:17:54 · 3633 阅读 · 0 评论 -
Trace32使用教程-访问类型(Access Class)
访问类型(Access Class)被 Trace32的PowerView用于指定访问内存、外设的寄存器、可寻址的core资源、协处理寄存器以及Trace32的虚拟内存等。在Trace32中,寻址包括两部分:访问类型+地址,比如:其中 为访问类型,为访问的地址,二者之间用冒号 连接。访问类型可以是:通常使用字母 来表示程序内存类型(可省略),比如以下命令:可以省略,上述两个命令都是在程序地址为 的地方,打开源代码窗口。除了 类型之外,还有 , 和 等程序内存类型,这些类型是处理器架构用来指定不同指令集的编原创 2022-06-14 22:38:02 · 7498 阅读 · 0 评论 -
使用U盘装Ubuntu双系统出现:安装程序向硬盘复制文件时遇到错误(The installer encountered an error )[Errno]input/output error解决办法
安装程序向硬盘复制文件时遇到错误:[Errno 5] Input/output error此个别错误往往由有缺陷的CD/DVD光盘或CD/DVD驱动器导致,或者由有缺陷的硬盘导致。清洁CD/DVD、用低速刻录CD/DVD,或者清洁CD/DVD驱动器光头(清洁用品通常可以在电子器材公司买到),检查硬盘是否太旧而需要更换,或者把系统转移到温度更低的环境,或许有助于解决该问题。原创 2022-03-27 15:10:39 · 18177 阅读 · 0 评论 -
VMware另一个程序已锁定文件的一部分,进程无法访问, 模块“Disk”启动失败。 未能启动虚拟机解决办法
另一个程序已锁定文件的一部分,进程无法访问解决办法问题描述在使用虚拟机时,电脑意外死机,重启后打开虚拟机,出现如图问题:产生原因在上网查阅资料得知,这是一种虚拟机的保护机制虚拟机在运行时,为防止数据被篡改,会将所运行的文件保护起来。当虚拟机突然崩溃或者强制结束导致异常退出,会导致虚拟机来不及解锁保护文件。这样在下一次运行时就会出现报错问题。.lck 文件是VMWare软件的一种磁盘锁文件,由于虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来原创 2022-03-20 17:02:05 · 8210 阅读 · 2 评论 -
Ubuntu系统 apt-get update失败,出现“Certificate verification failed ”错误以及“无法安全地用该源进行更新“等问题解决办法
Ubuntu系统 apt-get apdate失败,出现“Certificate verification failed: The certificate is NOT trusted. ”错误以及“无法安全地用该源进行更新,所以默认禁用该源”问题解决办法问题1:Certificate verification failed以前使用的是清华源https://mirrors.tuna.tsinghua.edu.cn/ubuntu,最近重新使用Ubuntu发现无法更新软件,出现以下错误:Certific原创 2022-01-08 12:08:13 · 52172 阅读 · 8 评论 -
【嵌入式面试宝典】版本控制工具Git常用命令总结
目录创建仓库查看信息版本回退版本检出远程库Git 创建仓库 git init git add <file> 可反复多次使用,添加多个文件 git commit -m <message> 查看信息 git status 仓库当前的状态 git diff 差异对比 git log 历史记录,提交日志 --pretty=oneline commit id...原创 2022-01-13 22:00:00 · 1531 阅读 · 0 评论 -
【C++面试宝典】C/C++知识点补充
目录C++补充补充知识语言对比C和C++Java和C++Python和C++C和C++中struct判断结构体是否相等可变参数模板switch中case里不能自定义变量char和int转换malloc的底层实现C语言检索内存情况异常处理try/catchfork()epollC/C++C语言补充printfswitch动态内存管理malloc函数realloc函数calloc函数...原创 2022-01-11 00:00:00 · 2320 阅读 · 0 评论 -
【面试宝典】计算机网络知识点总结
目录OSI七层协议模型应用层表示层会话层传输层网络层数据链路层物理层TCP/IP参考模型(协议栈)应用层传输层网络层网络接口层常用端口MAC和IP地址ARP协议ICMPpingtracerouteDNSTCP和UDP要求可靠传输要求实时传出TCP(传输控制协议)应用TCP三次握手TCP四次挥手UDP(用户数据报协议)应用问题HTTP浏览器键入URL后的访问流程基础知识...原创 2022-01-10 00:00:00 · 271 阅读 · 0 评论 -
【C++面试宝典】C/C++编译底层知识总结
目录编译底层内存对齐内存管理堆栈代码区全局/静态存储区常量存储区内存碎片编译流程预编译(预处理)编译汇编链接include头文件双引号""和尖括号<>的区别库静态库动态库重载的底层原理虚拟内存VM大小端定义及判断C++程序组成编译内存相关内存泄漏定义分类如何防止内存泄漏检测检测原理后果使用new、delete常见问题段错误 编译底层...原创 2022-01-09 10:00:00 · 1425 阅读 · 0 评论 -
【C++面试宝典】C++11新特性知识总结
C++11新特性 auto自动类型推导 用于初始化表达式中推断出变量的数据类型 auto a;//错误,应该是auto i=1; 最常见用在迭代器vector<int>::iterator it = v.begin();auto it = v.begin(); 基于范围的for循环:for(auto x: str){...} 使用限制 auto的使用必须马上初始化,否则无法推导类型 auto a; ...原创 2022-01-08 09:00:00 · 1868 阅读 · 0 评论 -
【C++面试宝典】C++STL知识点总结
容器、迭代器、算法 实现对多个类型的数据结构和相关操作 序列容器 序列容器未排序 vector 底层数据结构为数组 支持快速随机访问 可以使用== ,!= 比较是否相等 vector底层机...原创 2022-01-07 18:48:13 · 1303 阅读 · 0 评论 -
【C++面试宝典】C++基础知识总结
博主精心总结的C++技术面试基础知识,原文件为脑图,见下图。文字版由脑图文件直接转换而成,所以格式上略显粗糙。基础知识 数组与指针 概念 数组 数组是用于存储多个相同类型数据的集合 指针 指针是一个变量,这个变量存储的事另一个变量的地址(十六进制数) 关系 使用数组作为参数传递时,数组名将退化为指针,指针指向数组首元素的地址 指针数组 存放指针变量的数组,int * arr[8] ...原创 2022-01-06 20:50:58 · 1574 阅读 · 0 评论 -
使用Gitee用作图片床写博客(Picgo+typora+Gitee)
使用Gitee用作图片床写博客(Picgo+typora+Gitee):第一步:安装PicGo并在Typora中配置.第二步,在Gitee中创建图片仓库.在PicGo中配置Gitee图床原创 2022-01-06 19:26:25 · 1354 阅读 · 1 评论 -
论文高效率工具总结
一,写作工具技巧1:使用Markdown进行快速码字使用md文件码字,简单高效,不仅速度比word快,而且论文前期写作不用担心格式问题,文件体积小。推荐使用Typora等md工具进行论文前期的快速码字。Typora目前已经开始收费,但是其他的md工具也同样出色。读者可以自行百度选择工具。论文初稿完成后,可以将md文件直接转成word格式,使用pandoc工具进行转换,准确度很高。参考文章:使用pandoc将md文件转成word或者pdf_DayDayUp-CSDN博客_md转word p..原创 2021-12-21 12:18:05 · 1858 阅读 · 2 评论 -
使用神器-Zetero进行论文文献管理
目录一,相关工具准备二,简单使用教程1,新建分类2,添加文献添加方式1:直接将PDF文档拖入软件中添加方式2:使用DOI,ISBN等文献索引号搜索文献添加方式3:使用Chrome浏览器插件Zotero connector添加方式4:从剪切板导入三,文献信息导出使用word插件将文献全部导出为指定样式一,相关工具准备Chrome浏览器 zotero PC版 zotero connector (浏览器插件)zotero下载地址:Zote...原创 2021-12-03 14:16:16 · 5665 阅读 · 0 评论 -
新设备使用git+Tortoisegit克隆GitHub中的项目以及修复图标不显示问题(360安全软件屏蔽)
最近新添了一个PC设备,想在上面继续之前的项目,但克隆时出现了一些问题,遂记录下来:问题一:“fatal: Could not read from remote repository.“问题原因:出现这错误一般是以下两种原因:客户端与服务端未生成 ssh key 客户端与服务端的ssh key不匹配为解决以上问题,我们需要重新生成一次ssh key ,并重新配置一下GitHub账户即可。解决步骤:1. 生成新的SSH keyssh-keygen -t rsa -.原创 2021-10-07 20:06:07 · 1178 阅读 · 0 评论 -
gitignore文件编写规则(忽略不需要git管理的文件)
.gitignore文件的作用是开发一个项目时可以规定哪些文件夹或者文件不需要提交到仓库中。匹配规则空格不匹配任意文件,可作为分隔符,可用反斜杠转义 # 开头的模式标识注释,可以使用反斜杠进行转义 ! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义 / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件 / 开始的模式匹配项目跟目录 如果一个模式不包含斜杠,则它匹配相对于当前 .gitigno..原创 2021-09-06 14:45:27 · 1048 阅读 · 0 评论 -
使用pandoc将md文件转成word或者pdf
首先需要下载pandoc的安装包:GitHub下载地址:https://github.com/jgm/pandoc/releases如果github链接点不进去,可以去CSDN上下载:pandoc安装完成后,使用命令行的方式进行转换,通过 cd 进入md文件所在文件夹,然后输入以下命令:pandoc 文件名.md -o -s 文件名.docxpandoc命令解释:pandoc --helppandoc [OPTIONS] [FILES] -f FORMAT, -...原创 2021-06-27 11:21:29 · 4029 阅读 · 0 评论 -
软件著作权申请注意事项(微信小程序)
最近成功申请了微信小程序的软件著作权,特此记录一下。主要参考的教程在GitHub上:软著申请教程,如果觉得有用请给这位作者一个star。请先去中国版权保护中心官网查看软著申请指南:申请须知申请材料列表:1.单人申请材料 1)申请表(单面打印,签名) 2)源码文档(单面打印,签名) 3)软件设计文档或者使用说明文档 4)个人身份证复印件(正反面都要) 5)如果是帮别人代理申请,则需要代理人也提供身份复印件,以及一份委托说明,委托人签字 2....原创 2021-01-06 12:11:11 · 22292 阅读 · 66 评论 -
git笔记记录
打开文件: C:\Windows\System32\drivers\etc\hosts在hosts文件中添加:# GitHub Start 140.82.113.3 github.com140.82.114.20 gist.github.com151.101.184.133 assets-cdn.github.com151.101.184.133 raw.githubusercontent.com151.101.184.133 gist.git.原创 2020-12-18 17:31:27 · 130 阅读 · 1 评论 -
C语言储存类别和内存分配malloc、calloc和realloc函数
可修改的左值如果可以使用左值修改对象中的值,则该左值就是一个可修改的左值。cosnt char * pc = "Behold a string literal!";程序根据声明,把相应的字符串常量存储在内存中,内含这些字符值的数组就是一个对象,由于数组中的每一个字符都能被单独访问,所以每个字符也是一个对象,该声明还创建了一个标识符为pc的对象,储存着字符串的地址。由于可以设置pc重新指向其他字符串,所以标识符pc是一个可以修改的左值,const只能保证被pc指向的字符串内容不被修改,但是无法保证p原创 2020-09-21 13:32:27 · 688 阅读 · 0 评论 -
C++STL通用函数使用记录
std::memsetDefined in header < cstring >void* memset( void* dest, int ch, std::size_t count );作用是将某一块内存中的内容全部设置为指定的值ch, 这个函数通常为新申请的内存做初始化工作。作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法. int a[20]; std::memset(a, 0, sizeof a); for (int原创 2020-10-16 16:39:57 · 434 阅读 · 0 评论 -
C++引用变量、函数中引用参数&、引用和指针的区别
引用是充当另一个变量别名的变量。引用类型最常用于函数的参数,它使得一个函数能够对传递给他的变量做出永久性的改变。引用更正确的称呼是左值引用。#include <iostream>using std::cout;using std::cin;using std::endl;int add(int &a);int main(void) { int a = 11, b = 22; int i = 0; int &j = i;//j是i的一个别名 j++;//更改i原创 2020-10-13 10:34:47 · 1331 阅读 · 0 评论