- 博客(38)
- 资源 (4)
- 收藏
- 关注
原创 新版vscode remote ssh不兼容老系统 (waiting for server log)
2.28),导致各种旧版本的linux发行版(如centos 7)都无法用remote-ssh来连接了,会一直控制台报错waiting for server log。最近vscode发布了1.86版本,该版本中,更新了对glibc的要求(
2024-02-23 16:13:12
895
原创 BIOS中断向量表
中断描述INT 00hCPU:除零错,或商不合法时触发INT 01hCPU:单步陷阱,TF标记为打开状态时,每条指令执行后触发INT 02hCPU:非可屏蔽中断,如引导自我测试时发生内存错误。INT 03hCPU:第一个未定义的中断向量,约定俗成仅用于调试程序INT 04hCPU:算数溢出。通常由INTO指令在置溢出位时触发。INT 05h在按下Shift-Print Screen或BOUND指令检测到范围异常时触发。INT 06hCPU...
2021-06-03 19:43:07
659
原创 linux平台学x86汇编语言学习集合帖
linux平台学x86汇编语言学习集合帖linux平台学x86汇编(一):https://blog.csdn.net/shallnet/article/details/45543237linux平台学x86汇编(二):https://blog.csdn.net/shallnet/article/details/45543631linux平台学x86汇编(三):https://blog.csdn.net/shallnet/article/details/45544075linux平台学x86汇编
2021-06-02 14:46:51
142
原创 【ROS】Android开发环境搭建
这里写自定义目录标题ROS Android开发环境搭建1.安装ROSJAVA2.Android Core安装3.Creating Android Packages4.ROS Android开发环境搭建目前ROS和Android的通信方式主要分两种:一、rosbridge 通过Websocket以JSON格式的API为非ROS环境提供ROS通信支持,这种通信方式轻量级,跨平台二、rosjav...
2021-03-16 00:39:42
503
原创 树莓派3B使用u-boot启动linux内核
树莓派3B使用u-boot启动linux内核准备交叉编译环境编译u-boot编译linux kernel编译boot.scr1. zImage格式2. uImage格式准备交叉编译环境编译u-boot编译linux kernel编译boot.scr1. zImage格式# boot.cmdfatload mmc 0:1 ${kernel_addr_r} kernel7.imgfatload mmc 0:1 ${fdt_addr_r} bcm2710-rpi-3-b.dtbsetenv b.
2021-03-16 00:11:41
944
原创 Linux 内核编译
1、工具链2、 内核源码git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --depth=13、内核配置3.1、使用deconfigarmhfmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfigarm64ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make defconf
2021-03-15 23:53:13
184
1
原创 debootstrap 制作根文件系统
制作根文件系统准备环境第一步换源debootstrap是debian/ubuntu下的一个工具,用来构建一套基本的系统(根文件系统)。生成的目录符合Linux文件系统标准(FHS),即包含了/boot、/etc、/bin、/usr等等目录,但它比发行版本的Linux体积小很多,当然功能也没那么强大,因此,只能说是“基本的系统”。制作根文件系统,在PC上最全面的莫过于LFS(linux form scratch,从头做一个linux系统),而嵌入式中,busybox是不二之选。当然,随着芯片的强大及一些l
2021-03-15 23:23:12
2536
2
原创 VS code 阅读内核代码
注:以下均基于 全志 芯片修改,其他芯片对应修改即可。一、添加头文件路径(1)ctrl+shift+P:输入 edit,然后选择以下文件编辑(2)打开 c_cpp_properties.json ,修改如下(根据需求添加头文件路径):{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**".
2021-03-13 14:01:53
1811
1
原创 Linux MInt 20 安装配置 tftp
1. 安装 tftp 服务端,客户端sudo apt-get install tftpd-hpa #tftp服务端,必选sudo apt-get install tftp-hpa #tftp客户端,选择安装2. 配置服务端subl /etc/default/tftpd-hpa修改 /etc/default/tftpd-hpa 文件内容如下# /etc/default/tftpd-hpaTFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/user/tftp
2021-03-07 16:43:23
157
原创 u-boot启动流程分析
U-Boot启动流程分析(一)u-boot启动流程分析(二)u-boot启动流程分析(汇编部分)(三)u-boot启动流程分析(C语言部分board_f.c)(四)u-boot启动流程分析(C语言部分board_r.c)(一)u-boot启动流程分析(二)u-boot启动流程分析(汇编部分)(三)u-boot启动流程分析(C语言部分board_f.c)(四)u-boot启动流程分析(C语言部分board_r.c)...
2021-03-02 16:33:42
112
原创 ROSJava安装和在Android中使用ROS
这里写自定义目录标题1.ROSJava 安装Debs安装创建工作区在非Java工作区中禁用GenJava2.在Android中使用ROS修改build.gradle文件修改AndroidManifest.xml文件1.ROSJava 安装官方安装教程地址Debs安装这里以ROS Kinetic为例,其他版本类比sudo apt-get install ros-kinetic-rosjav...
2019-08-19 00:07:00
4762
2
原创 树莓派3 基于Ubuntu mate 16.04的无线WIFI连接
```bash sudo nano /etc/network/interfaces ```在文末添加auto wlan0iface wlan0 inet dhcppre-up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.confpost-down killall -q wpa_su...
2019-07-31 14:39:48
508
原创 YOLO目标检测
下载数据集我们将使用Pascal VOC数据集训练我们的模型,该数据集可以用来做图像分类、目标检测、图像分割。Annotations文件夹:用于存放图片描述,文件格式为.xml,文件保存了图片文件名,尺寸,标注,坐标,是否分割等信息。ImageSets文件夹:保存了不同用途的图片名字列表,文件格式是.txt。其中包括,layout文件夹:保存具有人体部位的图片名字列表。...
2019-07-11 22:04:34
4438
原创 目标检测性能评价指标 (IOU mAP)
检测评价函数 Intersection-over-Union (IOU)1、概念在目标检测的评价体系中,有一个参数叫做 IOU ,简单来讲就是模型产生的目标窗口和原来标记窗口的交叠率。具体我们可以简单的理解为: 即检测结果DetectionResult与Ground Truth的交集比上它们的并集,即为检测的准确率 IOU :IOU=GT⋂DRGT⋃DRIOU = \frac{GT\bigc...
2019-07-05 16:09:16
3276
原创 YOLO:实时目标检测
你只看一次(YOLO)是一个最先进的实时物体检测系统。在Pascal Titan X上,它以30 FPS的速度处理图像,在COCO test-dev上的mAP为57.9%。与其他探测器的比较YOLOv3非常快速准确。 在mAP测量为.5 IOU时,YOLOv3与Focal Loss相当,但速度提高约4倍。 此外,您只需更改模型的大小即可轻松在速度和准确度之间进行权衡,无需再培训!Perfo...
2019-07-05 01:19:47
4615
原创 机器人-数理基础(二)
机器人学基础(第2版)2.2 坐标变换平移坐标变换: 设坐标系{B}与坐标系{A}具有相同的姿态,但两者原点不重合。用位置矢量 APBo^AP_{B_o}APBo 描述{B}相对于{A}的位置,称 APBo^AP_{B_o}APBo为{B}相对于{A}的平移矢量。如果点P在坐标系{B}中的位置为BP^BPBP,那么它相对于坐标系{A}的位置矢量AP^APAP可由矢量相加得出,即(2....
2019-01-15 00:34:23
743
原创 机器人-数理基础(一)
机器人学基础(第2版)2.1位置和姿态的表示位置描述: 一旦建立了坐标系,就可以用一个3×1的位置矢量对世界坐标系中的任何点进行定位。因为在世界坐标系中还有其他坐标系,因此必须在位置矢量上附加信息,表明是在哪个坐标被定义的。位置矢量用一个前置的上标来表明其参考坐标系。例如:AP^APAP。表明AP^APAP的数值是在坐标系{A}中的表示。矢量中的各个元素用下标x,y,z来表示:(2.1)AP...
2019-01-13 21:25:00
834
原创 手机蓝牙控制树莓派(代码,软件)
文章目录手机控制树莓派前期准备编译运行代码蓝牙配对总结手机控制树莓派前期准备环境:树莓派系统版本:2017-07-05-raspbian-jessie.img安装wiringPi库:教程地址IOS App:走你Android App:走你(GOBLE_V2.apk)代码:下载地址蓝牙模块:波特率:115200、UUID : 0xDFB0、CHAR : 0xDFB1(购买时让卖家...
2018-09-26 18:31:48
7671
原创 基于 Socket 的 Android与树莓派通信
个人博客地址:http://icharles.top/2018/04/29/Socket/一、Socket定义即套接字,是一个对 TCP / IP协议进行封装 的编程调用接口(API)1.即通过Socket,我们才能在Andorid平台上通过 TCP/IP协议进行开发2.Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)成对出现...
2018-04-29 11:05:30
7185
4
原创 脉宽调制功能(PWM)
名词解释PWM 是 Pulse Width Modulation 的缩写,它的中文名字是脉冲宽度调制,它利用微处理器的数字输出来对模拟电路进行控制,其实就是使用数字信号达到一个模拟信号的效果。首先从它的名字来看,脉冲宽度调制,就是改变脉冲宽度来实现不同的效果。我们先来看三组不同的脉冲信号,如图 10-1 所示。 图片来源于c语言中文网 这是一个周期是 10ms,即频率是 10...
2018-03-06 00:05:57
7546
原创 畅通工程再续
题目地址:畅通工程再续①Kruskal算法:#include #include #include #include #include using namespace std;const int maxn = 110;const int MAX = 10010;int fa[maxn];struct Node //建立坐标{ double x;
2018-01-23 21:32:36
185
原创 KMP算法Next数组的应用
题目一:Count the string思路给定一个字符串,输出这个字符串的前缀出现次数,根据next的性质知,当next有值的时候,就证明肯定有一个匹配,所以我们统计出next数组里面>0的个数就是有多少个匹配,再加上与自身的匹配n就是答案代码#include #include #include using namespace std;const i
2018-01-20 19:21:20
510
原创 关于使用Next数组求连续字符串个数
题目地址:Power Strings 个人博客地址: http://icharles.top/2018/01/19/KMP/ 题目大体意思就是求连续字符串个数 由于刚学习完KMP,就想到了利用Next数组来求连续字符串的个数,发现存在以下关系: N = len / (len - next[len] ) #include #include #include
2018-01-19 21:25:54
368
原创 【笔记】位运算技巧
一.获得int型最大值 代码代码如下:int getMaxInt() { return (1<<31) - 1; //2147483647, 由于优先级关系,括号不可省略} 另一种写法 代码代码如下:int getMaxInt() { return -(1<<-1) - 1; //2147483647 } 另一种写法 代码代码如下:int getMaxIn
2017-12-15 10:21:15
218
原创 【笔记】STL-Vector
vector(向量) vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。 用法:#include<vector>using namespace std;vector <int > aint b =
2017-12-15 09:19:21
160
原创 欧几里得算法
欧几里得算法计算的是两个自然数a和b的最大公约数,两个数的最大公约数通常写成gcd(a, b),如果有gcd(a, b)==1,则有a,b互质。欧几里得算法递归int Gcd(int a, int b){ if(b == 0) return a; return Gcd(b, a % b);}迭代int Gcd(int a, int b){ whi
2017-12-14 19:20:09
216
转载 十大经典的排序算法
十大经典的排序算法及其时间复杂度和稳定性如上表所示。判断一个排序算法是否稳定是看在相等的两个数据排序算法执行完成后是否会前后关系颠倒,如若颠倒,则称该排序算法为不稳定,例如选择排序和快速排序。(图片来源 http://www.jianshu.com/p/d2a02050a183)一、快速排序介绍 (原文:http://www.sczyh30.com/posts/Algorith
2017-12-01 23:38:06
359
原创 并查集&欧拉路
我的个人博客:地址HDU1878——欧拉回路(并查集)http://acm.hdu.edu.cn/showproblem.php?pid=1878题意:这道题讲的是判断是否是一个欧拉回路。欧拉通路: 通过图中每条边且只通过一次,并且经过每一顶点的通路。欧拉回路: 通过图中每条边且只通过一次,并且经过每一顶点的回路。无向图是否具有欧拉通路或回路的判定:欧拉
2017-11-29 22:13:07
212
原创 快速幂算法
快速幂算法题目地址#include #include using namespace std;long long a, b, c;long long ans;int PowerMod(){ ans = 1; a %= c; while(b>0) { if(b & 1 == 1) ans = (ans *
2017-11-26 20:26:39
125
原创 暴力枚举
#include #include #include using namespace std;int main(){ int n, x, y, i, j; int flag, num[11], k=0; while(~scanf("%d", &n) && n)// while(scanf("%d", &n) != EOF && n) {
2017-11-17 15:37:40
738
原创 【笔记】在主函数内声明int a[1000000],运行出错
#include int main(){ int a[1000000]; //局部变量 return 0;}//编译运行后发现溢出错误。#include int a[1000000]; //全局变量int main(){ return 0;}//编译运行后正常。在解释原因前我们先看由C/C++编译的程序占用的内存分为几个部分:1、栈区(stack
2017-11-17 15:04:41
2005
2
原创 【笔记】C++排序函数
函数名功能描述sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有元素部分排序partial_sort_copy对给定区间复制并排序nth_element找出给定区间的某个位置对应的元素is_sorted判断一个区间是否已经排好
2017-10-29 21:45:10
240
原创 SDNU 1011(第二类stirling数)
1011.盒子与球Time Limit: 1000 MS Memory Limit: 32768 KBTotal Submission(s): 667 Accepted Submission(s): 165Description现有r个互不相同的盒子和n个互不相同的球,要将这n个球放入r个盒子中,且不允许有空盒子。则有多少种放
2017-10-24 16:41:37
573
原创 SDNU 1017 (冒泡排序法)
1017.陶陶装苹果Description陶陶想把苹果装到袋子里,找来找去就找到了一个小袋子,苹果太多,袋子根本装不下,并且袋子最多可以装的质量为M,陶陶想使装的苹果个数尽量多。请你来帮他。Input第一行袋子的最大承受重量M(0第二行苹果的个数N(0紧跟N行,每行一个整数,每个苹果的质量a(0Output
2017-10-21 19:54:59
436
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人