自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 window重装后,wsl重新加载未导出的ext4.vhdx虚拟硬盘

然后就可以在wsl中看到/mnt/wsl有个新的文件夹PHYSICALDRIVE3了,这就是新挂载的ext4.vhdx虚拟硬盘。- 要列出 Windows 中的可用磁盘。磁盘路径位于“DeviceID”列下。系统要重装,记得先将使用下面的命令将磁盘导出,要不就只能通过挂载虚拟硬盘的方式读取数据了。首先要重新安装一个wsl的ubuntu系统,我还是选择安装18.04。我的输出结果如下,找到有虚拟磁盘的那个盘的DeviceID。然后在window的powerShell使用下面命令进行。闲话少说,详细命令如;

2024-04-26 10:47:39 389

原创 zmq出现莫名奇妙的发送错误,zmq::zmq_abort (errmsg_=errmsg_@entry=0xa18f7de0 “\001“)

排查了好久,因为在其他设备上也运行过同样的代码,都是正常的,只是还了一个环境和编译器而已。以为是zmq的问题,后面一次偶然的打印,发现是前面调用编码函数的对象没有初始化,直接调用函数接口,有些版本编译器不会出段错误,有些就会偶发性出现段错误。这种直接调用未初始化对象的函数,是不安全的。

2024-03-14 14:54:30 283

原创 使用arm-linux-gnueabi-gcc交叉编译valgrind

需要注意的是,configure里面用--prefix指定了安装目录/XXX/XXX/valgrind,在嵌入式板子中也要将文件放在这个目录,要不有可能会报错。在其他文件的交叉编译的过程中,很少出现这个问题,不知道是不是版本原因。

2024-02-27 15:38:35 422

原创 Apollo编译卡死问题

最近在研究apollo,按照他们官方教程下载安装后。输入下面命令开启并进入dockerbash docker/scripts/dev_start.shbash docker/scripts/dev_into.sh然后就进入编译就卡死的状态了。1、开始是硬盘空间不足,查网上说,编译过程可能需要几十G的硬盘空间,然后给虚拟机扩充了100G。2、后面出现编译一段时间就完全卡死的问题,本来虚拟机是4个G内存,给扩充到10G,还是出现问题,网上找了很久,都是说要限制资源(bash apollo

2021-10-15 15:48:30 3142

原创 SmartGit功能介绍

克隆仓库:然后填写仓库地址,填写完成后点击next:使用默认选择就可,点击next,填写好本地地址后,点击finish:提交修改到远程仓库本地修改文件并保存后:查看修改前后文件对比:修改后,在相应仓库上单击右键,然后点击Commit选择要提交的文件后,填写提交信息,最后点击commit提交后,在分支图上就会又一个节点,该节点和之前...

2019-03-14 15:38:01 11780

原创 linux 0.11内核完全注释阅读笔记:linux内核源代码目录结构

1、boot目录主要存放系统引导汇编程序,包括3个汇编文件,是最先编译的程序。主要功能是计算机上电后,引导内核启动,将代码加载到内存中,并做一些进入32位保护运行方式前的系统初始化工作。bootsect.s程序是磁盘引导块程序。编译后会驻留在磁盘的第一个扇区中,PC上电ROM BIOS自检后,将被BIOS加载到内存0x7C00处进行执行。setup.s程序主要用于读取机器的硬件配置参数...

2018-12-10 19:46:18 1297

原创 Ubuntu下安装SmartGit

安装java环境在安装前,首先需要确定java环境是否正确,SmartGit需要jdk8以上的才能运行。打开终端,输入:java -version查看一下java版本,如果是1.8以下的,就需要安装java环境了,这里使用PPA安装在终端输入:sudo add-apt-repository ppa:webupd8team/javasudo apt-get update...

2018-11-24 13:55:37 8107

原创 重新安装VMware tool后,脚本执行失败解决方法

重新安装前,一定要先将VMware tool去除掉可以执行以下命令sudo apt-get autoremove open-vm-tools也可以执行这个命令(如果vmware-uninstall-tools.pl在这里的话,没有的话,用find寻找到位置后执行就好) sudo /usr/bin/vmware-uninstall-tools.pl然后再重新安装vmware to...

2018-11-10 13:54:37 1986 1

原创 GPS经纬度数据为0的异常排除方法

今天测试了很久,发现在APP上一直收不到数据,然后以为是APP问题,换了个正常使用的APP后,还是有问题。仔细看了下log的数据,发现经纬度都为0。检查硬件后发现是串口松了。这种数据为0的情况,最大的可能就是数据没传进来,需要检查模块,通信渠道的问题。模块通常不大会坏,但是通信渠道如串口线更有可能会坏。下次再遇到问题,首先仔细查看log数据,找到异常数据。如果再遇到数据为0的异常,检查一下是不...

2018-10-11 15:01:31 5916

转载 strcpy、sprintf、memcpy的区别

char*strcpy(char *dest, const char *src);其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出现段错误。int sprintf(char*str, const char *format, ...)函数操作的源对象不限于字符串:源对象可以是字符串、也可以是任意基本类型的数据

2018-01-10 11:54:48 195

原创 SPI协议学习笔记

SPI优点与缺点 优点:支持全双工,通信简单,数据传输速率快 缺点:在数据可靠性上存在一定的缺陷,因为它不像I2C一样有ACK应答机制 SPI总线的构成及信号类型 SPI总线只需四条线(如图1所示)就可以完成MCU与各种外围器件的通讯: 1)MOSI – Master数据输出,Slave数据输入 2)MISO – Master数据输入,Slave数

2017-11-25 10:19:45 1386

原创 I2C协议学习笔记

通信分为四大步骤,握手、数据交换、准备结束、正式结束如以下场景: 两个陌生人是进行沟通,为了显得更有主次关系,选取老板和新员工进行沟通的场景,老板一般占有主动权,而且手中有新员工的基本信息,比如姓名,年龄,性别等。沟通开始:    老板:“XXX,欢迎你加入我们公司,为公司注入新的血液!”伸出握手姿势              —— 主握手    新员工:“承蒙厚爱

2017-11-24 11:56:34 468

转载 PCB设计时覆铜应注意的问题

为了让敷铜达到我们预期的效果,那么敷铜方面需要注意那些问题:     1.如果PCB的地较多,有SGND、AGND、GND,等等,就要根据PCB板面位置的不同,分别以最主要的“地”作为基准参考来独立覆铜,数字地和模拟地分开来敷铜自不多言,同时在覆铜之前,首先加粗相应的电源连线:5.0V、3.3V等等,这样一来,就形成了多个不同形状的多变形结构。     2.对不同地的单点连接,做法是通过0

2017-11-22 11:18:51 2237

转载 AltiumDesigner PCB布局布线过程与技巧

不管用什么软件,PCB设计有个大致的程序,按顺序来会省时省力。首先是原理图设计。原理图设计是前期准备工作,对简单的板子,如果熟练流程,不妨可以跳过。但是对于初学者一定要按流程来,这样一方面可以养成良好的习惯,另一方面对复杂的电路也只有这样才能避免出错。在画原理图时,层次设计时要注意各个文件最后要连接为一个整体,这同样对以后的工作有重要意义。由于,软件的差别有些软件会出现看似相连实际未连

2017-11-21 16:46:50 16142

转载 SIM800使用AT进行GPRS建立TCP远程连接

先介绍模块建立一路链接的过程,建立多路连接时,方法基本相同。目前SIM800系列模块共支持6路链接。从模块开机到建立TCP链接过程如下:1、等待模块开机后,向模块串口发送“AT”指令,让模块自适应主机串口波特率,设置成功时,返回:OK2、向模块串口发送“AT+CPIN?”指令,检查SIM状态,SIM正常时,     返回:+CPIN:READY       OK

2017-11-17 09:00:15 17621 3

转载 AT命令简单介绍

AT命令以AT开头,一回车符结束。一个简单命令如:AT回车符,模块对命令的响应为:回车符、换行符response回车符、换行符AT命令大致可分为三类:  1、基本AT命令:AT或者AT&,如:ATE1(打开串口回显),AT&D1(开启DTR低电平切换)。2、S参数型AT命令:ATS,如:ATS0=1(设置模块来电一声自动接起)。3、扩展型AT命令(四种):a

2017-11-17 08:37:00 2633

转载 STM32F030 STM32F042 STM32L053 STM32F411 STM32F303对比

几款比STM32F103系列性价比更高的MCU       STM32F030----ARM Cortex-M0内核。最高主频48MHZ,特别是STM32F030F4,16K FLASH,4K RAM , TSSOP20封装。价格在3块钱左右。       STM32F042----同样Cortex-M0内核 。14年初推出的芯片,号称带USB,CAN总线的最便宜的MCU。可以和S

2017-11-14 10:48:22 3638

原创 蓝牙4.0协议栈基础

蓝牙4.0协议栈主要由两部分组成,主机和控制器。协议栈的实现方式采用分层的思想。主机包括:逻辑链路控制及自适应层(L2CAP),安全管理层(SM),属性协议层(ATT),通用访问配置文件层(GAP),通用属性配置文件层(GATT)。控制器主要包括物理层(PHY),链路层(LL),主机控制接口层(HCI)。上层可以调用下层提供的函数来实现需要的功能。协议结构如图所示:链路层(LL):发起

2017-10-11 15:43:55 512

原创 数组强制转换成结构体指针

今天看公司代码,遇到一个数组指针强制转换成结构体指针的地方,就在想这样做的结果会是什么,和别人讨论了一下。得到结果是,这样做是让结构体按照自己的属性重新读取数组中的数据,字节对齐如果结构体中所有属性所占字节和数组的类型所占字节一样(如果数组类型是16位的,属性也是16位的),那就直接按照属性的顺序,将数组中的数据依次读取出来(是读取,不是复制,因为是指针强制转换)字节不对齐如果结构

2017-09-20 21:35:54 6745

十二届恩智浦智能车山东省第十

随便找个山外的库,把prj,setting复制进来就可以打开了,圆环补线,十字补线,障碍,起跑线都有,通讯什么的也都弄好了,但是超车有概率不成功

2017-09-12

空空如也

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

TA关注的人

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