主页

python正则表达式的括号

今天用到python的正则表达式时,遇到括号()的用法问题,折腾了一晚上,这里记录一下。 python的正则表达式中,括号()的用法是比较特殊的,分为捕获(capturing)和非捕获(non-capturing)两个版本,官方文档是这么说的: (…) Matches whatever regular expression is inside the parentheses, and indicates the start and end of a group; the contents of a group can be retrieved after a match has been performed, and can be matched later in the st...

阅读更多

ftrace简介

测试环境:VMware 15.5.6 + Debian 10 ftrace是用来跟踪Linux kernel函数调用情况的一个工具,想要使用它,首先要开启该功能: sysctl kernel.ftrace_enabled=1 随后进入/sys/kernel/debug/tracing,使用ftrace需要用到的工具都在该目录下: root@drdestiny:~# cd /sys/kernel/debug/tracing root@drdestiny:/sys/kernel/debug/tracing# ls available_events per_cpu stack_trace available_filter_functi...

阅读更多

串口登录Linux (Debian 10)

太长不看 用minicom -s进入configuration页面,选择Serial port setup,将Serial Device改为你选定的串口设备,我这里选择/dev/ttyS1 修改/etc/default/grub,在文件末尾加上这几行: # 9600为波特率,n8表示数据位为8bit GRUB_CMDLINE_LINUX="console=tty0 console=ttyS1,9600n8" GRUB_TERMINAL=serial # parity:是否奇偶校验;stop:停止位位数 GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" ...

阅读更多

UART截取字符到字符设备

要求: msm_geni_serial_init() (drivers/tty/serial/msm_geni_serial.c) -> platform_driver_register(&msm_geni_serial_platform_driver) (include/linux/platform_device.h) static struct platform_driver msm_geni_serial_platform_driver = { .remove = msm_geni_serial_remove, .probe = msm_geni_serial_probe, /* probe函数,在这里进行uart_add_one_port */ ...

阅读更多

Linux Kernel添加syscall

部门的培训课程有一个实验,要求是这样的:在内核中增加一个系统调用,获取系统启动以来,经过了多少 tick(jiffies),根据内核配置换算成毫秒。 环境为ARM64 + Linux 5.14-rc4(如果之前是按照教程用git clone下载了最新版本的内核代码,那么版本就是一样的,无须担心;你也可以查看内核代码顶层目录下的Makefile的前几行判断内核版本)。不同的架构以及内核版本,过程不一定完全相同,请注意。 本文分成三个部分,分别对应该实验的三个步骤:添加系统调用、编译与文件传输、patch提交。 添加系统调用 首先要明确,添加一个系统调用可以分为三个部分:添加系统调用号、添加函数声明、函数实现。 添加系统调用号 内核代码中有关于添加系统调用的文档(./Docum...

阅读更多

python显示该文件所在目录

有时在代码中会有一些保存文件到当前目录的操作,而这个“当前目录”是会随着运行方式不同而改变的,看以下例子: import os # 在目录C:\Users\HP\Desktop新建Untitled-1.py # 在当前目录下打开test.txt,没有就新建一个,写入字符串,并保存 with open('test.txt', 'w+', encoding='utf-8') as f:     f.write('This is a test line.') 我们在IDE中运行这段代码,结果在C:\Users\HP\Desktop发现了test.txt,确实是在和代码相同目录下。 接下来在命令行中运行该文件,首先是不cd到其他路径,直接运行: python C:\Users\HP\Des...

阅读更多

VOT(Visual Object Tracking)评价指标综述

2018.09.30更新: 在VOT2015部分补充R score的定义 上一篇博文简单介绍了vot-toolkit的使用方法。当然,那只是操作层面的东西,更重要的是我们通过这个工具得到的各种图表以及图表中的数据。而想要完整地评价一个tracker的性能,其指标必然不会过于简单,所以就有了这篇文章。我想通过梳理VOT2013到VOT2016评价指标的变化,呈现一个更加清晰的思路,让各位对VOT的认识更加深刻。 这篇文章先对VOT进行总体概述,再按照时间顺序分别叙述,循序渐进。 首先简单介绍VOT是什么: VOT (Visual Object Tracking) 是一个针对单目标跟踪的测试平台,从2013年发展到现在,已经成为单目标跟踪领域主流的三大平台之一(另外两个是OTB...

阅读更多