- 博客(18)
- 收藏
- 关注
原创 uboot下动态修改dtb文件
以rk3588平台举例说明,rk平台uboot和kernel的镜像文件都含有dtb文件,这里只考虑内核镜像文件image末尾包含的dtb文件如何读取,因为内核镜像文件image末尾包含的dtb文件会在内核启动后生效,而uboot镜像文件包含的dtb文件只会在uboot下生效,只影响uboot的外设功能,相对改动可能性很小。函数新增属性或者修改属性时,dtb文件的大小会变化;uboot读取dtb文件需要考虑dtb文件名,dtb文件存放到什么内存地址,dtb文件的拷贝长度,拷贝完成后校验文件是否正确。
2024-04-17 14:56:41
1157
原创 vo_slam(slam14讲13章作业编译运行)
本意是打开config\default.yaml文件并存到config_->file_中,但是 cv::FileStorage对象不支持拷贝构造函数,config_->file_ 并没有真正赋值;OpenCV库不要指定版本,我设备是4.2版本了,所以指定版本会出错,最最新的4.2版本就好了。这样修改依旧会出错,因为std::move(fs)只是移交权限,并不会做内存拷贝,因此当。的空间将被释放,config_->file_ 指向的空间被释放了;必然会段错误,不想再花时间了,用了很low的方法,在。
2024-03-14 11:45:43
401
原创 直接法里程计设计
eiI1xiyi−I2xi△xiyi△yieiI1xiyi−I2xi△xiyi△yi在最小二乘法中,我们需要求△xi△yi△xi△yi使得ei{e_i}ei的平方和最小,所以目标函数是一个代表灰度的标量函数I2xi△xiyi△yiI2xi△xiyi△yi。
2024-03-06 20:40:37
1048
原创 CSDN-markdown编辑器
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2024-02-29 09:43:59
1110
原创 slam后端BA优化
边(Edge)代表两个顶点(Vertex)之间的关系,边连接了几个顶点则认为几条边;分可分为一元边,二元边,动态等;一元边例子:曲线拟合的例子,曲线的三个参数作为一个三维的顶点;整个图只有一个顶点,所以边只能连接到一个顶点。一元边类型:g2o\core\base_unary_edge.h// 误差模型 模板参数:观测值维度,类型,连接顶点类型二元边举例:此章节上一题ba问题,16个相机位姿加内参(9维)作为第一类顶点,路标点的三维世界坐标作为第二类顶点,红色边连接了2类顶点,称为二元边。
2024-02-27 14:57:52
774
原创 ubuntu软件包管理
apt-get update命令扫描 /etc/apt/sources.list 文件记录的源服务器,自动连网寻找每个源服务器对应的Packages/Sources/Release列表文件,将服务器所具有软件包资的索引文件下载更新到本地。:会解决和安装模块的依赖问题,并会咨询软件仓库,但不会安装本地的deb文件,apt-get是建立在dpkg之上的软件管理工具。:用来安装.deb文件时,不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。
2023-11-06 17:13:27
426
原创 使用ftrace跟踪内核函数
linux内核已经支持很多种类treacer了, 本文演示的函数调用图跟踪器(function graph),更多功能可以网上搜索一下,跟踪对象不同,但用法基本都一样。
2023-10-31 12:13:09
16
原创 空间三维坐标变换
以A为基坐标轴,B坐标系原点相对A坐标系原点的位置(x,y,z);RPY 角(固定轴):B坐标系绕A坐标的x,y,z三个轴进行旋转;齐次矩阵的逆物理含义为:齐次矩阵代表B坐标系相对A坐标系的位置和姿态;已知P点在B坐标轴的坐标,B坐标系以 A 坐标系为基础的相对位置和姿态,求解P点在A坐标轴的坐标。分解到 A 坐标的三个轴上,同理将P点在B坐标系的y,z坐标值也分解到A坐标系的三个轴上。RPY 角(固定轴):B坐标系绕A坐标的x,y,z三个轴进行旋转;坐标系A、B开始为重合的2个坐标系,坐标系。
2023-10-31 08:46:32
1369
原创 KASAN解决内核内存越界访问,释放后使用问题
KASAN是一个动态检测内存错误的工具。KASAN可以检测全局变量、栈、堆分配的内存发生越界访问 "out-of-bounds" 和 释放后访问 "use-after-free"等问题,但是不能解决内存泄漏问题。
2023-10-11 20:24:10
95
原创 kdump+crash 解决自旋锁(spinlock)死锁问题
* 三个不同的runqueue,供3个不同的调度器分别使用 *//* 当前运行的进程的调度实体 struct task_struct *curtask->se *//* 记录当前cpu正在执行的线程 */
2023-10-11 11:26:01
592
原创 kdump+crash 解决死机问题 全局变量及malloc堆变量的获取
目录1、实验目的2、实验步骤3、全局变量解析思路4、kernel内部全局变量获取5、模块化驱动全局变量5.1、 p 命令打印模块化全局变量错误5.2、sym/rd + struct 命令解析xxx.ko中的全局变量 5.3、使用rd命令解析xxx.ko中的全局变量环境:arm64,Linux version 5.10.66 使用crash解析全局变量 KdumpStack_st stKdumpStack 实验程序如下,当程序编译成ko并使用insmod加载到设备后,串口输入 echo kdum
2023-10-09 10:24:57
208
原创 比较困难的问题
最重要的是等客户的测试结果,改变客户的行为模式,让客户参与进来,体会到做测试需要时间,一起解决问题;我们很少做技术创新或者技术攻坚,只是应用现有的技术做产品或业务,因此遇到的问题要么被人都遇到过,要么就是自己使用不当;因此解决此类技术问题无非就是学习技术,找开源,找资料,找牛人。a、协调测试同事配合进行测试,我出程序,他测试。怀疑点,验证方案,方案实现,测试人员,验证结果,完成时间点。项目周期短时间紧,人员少,工作量大,多部门协调,设备紧缺等。技术困难:性能瓶颈,技术本身复杂,场景多,异常处理复杂等。
2023-10-08 09:20:15
66
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人