自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (20)
  • 问答 (2)
  • 收藏
  • 关注

原创 变更docker的缓存路径

docker配置修改;docker缓存;磁盘清理

2024-04-12 20:00:00 560 1

原创 linux磁盘清理_docker/overlay2爆满

磁盘清理;/var/lib/docker/overlay2;docker prune

2024-01-10 19:19:08 729 2

转载 win10与ubuntu双系统如何为ubuntu扩容,挂载新的硬盘空间

如何为 Ubuntu 扩容(添加新的硬盘空间)? X_Imagine 于 2021-12-11 16:29:36&...

2022-05-31 10:21:38 5200 5

原创 git commands 总结

git功能很强大,但往往只用自己熟悉的命令,有很多神奇的魔法没有用到,总结记录一下。一、配置git config 改变git的默认配置,例如你的名字,指定的终端颜色,指定的编译器等。git help 用来显示任何命令的git自带文档。二、获取与创建项目有两种方式获得一个git仓库;一种是从网络或者其他地方拷贝一个现有仓库,另一种就是再一个目录中创建一个新的仓库。git init 可以将一个目录转化为一个git仓库。git clone...

2022-05-19 11:47:00 307

原创 C++笔记之值传递,地址传递,引用传递

值传递:形参不会修饰实参;地址传递:形参会修饰实参;引用传递:形参会修饰实参;可以简化指针修改实参。

2021-09-07 20:22:51 210

原创 C++笔记之std::map容器_demo_示例

C++中的std::map容器链接是概念介绍和简单用法笔记,下面是一个比较全的代码。

2021-08-02 19:49:11 261

原创 C++笔记之std::queue容器

queue容器:是一种先进先出(FirstInFirstOut,FIFO)的数据结构,它有两个出口。队列中只有队头和队尾才可以被外界使用,队列不允许有遍历行为。入队:队列中进数据-----push出队:队列中出数据-----pop构造函数:queue<T>que;//默认构造采用模板类实现,queue(constqueue&data);//拷贝构造赋值操作:queue&operator=(constqueue&am...

2021-08-02 19:41:15 682

原创 C++笔记之std::stack容器

stack容器:是一种先进后出(FirstInLastOut)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。入栈:栈中进入数据-----push出栈:栈中弹出数据-----pop构造函数:stack<T>data;//stack采用模板类实现,stack对象的默认构造形式stack(conststack&data);//拷贝构造函数赋值操作:stack&op...

2021-07-20 20:15:48 397

原创 C++笔记之std::vector容器

vector实质是C++的一个类,与数组很相似,但是vector的优势是可以动态扩展,不需要考虑其内存大小。1.vector的构造函数原型:vector<T>data;//使用模板类,默认构造函数vector(data.begin(),data.end());//将data的【begin(),end())区间中的元素拷贝给本身,注意是数学中的前闭后开区间vector(n,elem);//将n个elem元素拷贝给本身vector(co...

2021-07-02 21:50:14 923 4

原创 C++笔记之std::string容器

string是C++风格的字符串,其本质是一个类。char * 是一个指针;string是一个类,类内部封装了char*,string类内部封装了he

2021-06-29 20:29:45 278 4

原创 C++基础之标准模板库STL

1. STL(Standard Template Library;标准模板库)STL从广义上分为:容器;算法;迭代器;容器和算法之间tong'guo

2021-06-15 19:56:08 105

原创 C++基础之Vector容器中存放自定义数据类型

1. 先介绍一下存放内置数据类型的Vector容器使用。#include <iostream>#include <vector> //vector的头文件#include <algorithm> //标准算法的头文件void fun_creat_vector (){ std::vector<int8_t> data; // 创建一个vector容器 data.push_back(1); // 向容器中插入数据1 data.

2021-06-09 15:04:02 1617

原创 C++基础之map容器

1. map的依赖--pair对组pair是成对出现的数据: 两种定义形式:①默认构造 pair<type,type> data (value1,value2);②make_pair构造 pair<type,type> data = make_pair(value1,value2);pair<string,int> p("code_dZt",28);std::cout << p.first << " " << p.s

2021-05-28 19:28:04 1094

原创 Linux嵌入式开发笔记(十二)智能指针和实例化的两种写法

一,使用智能指针class AA{public: AA(); ~AA(); void StartService(); void EndService();private: std::unique_ptr<std::thread> t1_; std::unique_ptr<NAMESPACE::CalMqtt> Srv_Mqtt_;};AA::AA(){ Srv_Mqtt_.reset(new CalMqtt

2021-05-10 13:38:55 207

原创 MQTTClient_connect return -1的解决方法

调用函数 rc = MQTTClient_connect(client, &conn_opts);rc = MQTTClient_connect(client, &conn_opts); //将先前创建的客户端连接到MQTT服务器。 // MQTTClient handle,//指向MQTT客户端句柄的指针。句柄被成功从函数中返回的客户端引用所填充 // MQTTClient_connectOptions * options //op...

2021-02-01 14:30:40 6722 4

原创 Protobuf学习笔记(二)proto类与vector,数组的相互转换

一,protobuf定义的类与std::vector的相互转换。①使用protobuf定义结构化的类,这里不做描述,可参考上一篇。②protobuf定义的类 转 std::vector。CanBasicInfo st_can_basicinfo; //实例化protobuf定义的类st_can_basicinfo.set_socdsp(11); //给类中的对象(信号)赋值【只对其中一个举例】int len = st_can_basicinfo.ByteSizeLong();...

2021-01-19 14:06:53 4837

原创 Protobuf学习笔记(一)

Protobuf(Protocol Buffer)是谷歌开源的性能优异、跨语言、跨平台的序列化库。一, 发展过程:proto1:2001年,Protobuf首先在Google内部创建,把它称之为proto1,一直以来在Google的内部使用,其中也不断的演化。proto2:Protobuf的开发者重写了Protobuf的实现,保留了proto1的大部分设计。开源的proto2不依赖任何的Google的库,代码也相当的清晰。2008年7月7日,Protobuf被公布出来。Protobuf得到了大.

2021-01-15 13:32:58 438

原创 Linux中git安装和使用

一,在Linux中安装git。使用ubuntu,在终端中输入:sudo apt install git -y安装结束后,查看安装版本,输入:git --version创建一个git的空间:在自己想要的路径中:mkdir git_workspacecdgit_workspacegit initgit config --global user.name "Your Name" (自己的用户名)git config --global user.email "you@exa.

2020-12-03 09:39:07 341

原创 Linux嵌入式开发笔记(十一)开机自动运行自定义程序

为了实现自己的服务程序可以开机自启,这里采用的是systemd的方式:1,在systemd/system中新建一个 zt_start.service;其内容为.service文件标准格式,实质是为了启动自定义路径下的sh脚本【这里可以直接启动程序,但是为了后续变更方便,这里增加一个适配的sh脚本,这样 zt_start.service就永远不用更新了】。2,systemctl enable zt_start.service 在开机时启动该服务3,在自定义下的路径中新建sh脚本,sh脚本中启动..

2020-11-17 11:15:16 311

原创 Linux嵌入式开发笔记(十)ROS2中SharedPtr指针与结构体的相互赋值

定义三种变量类型:①soa_messages::msg::BasicInfo::SharedPtr g_last_BasicInfo_1;②soa_messages::msg::BasicInfo g_last_BasicInfo_2;③auto g_last_BasicInfo_3= soa_messages::msg::BasicInfo();实质上g_last_BasicInfo_2与g_last_BasicInfo_3是一致的,g_last_BasicInfo_1是指针类的。把变

2020-11-09 17:34:35 795

原创 Linux嵌入式开发笔记(九)ROS2中调用自定义库(cpp+h)的方法

首先,已经可以根据demo仿写自己的工程,同时也就调用了系统自带的函数,这些函数在demo都有使用,很容易成功;其次,在上一篇中介绍了ROS2中系统API函数原型,这样也就可以调用demo中没有用到的系统中的函数;现在记录一下,ROS2中如何调用自定义cpp文件和h文件的方法。先来干货再举例,在Ubuntu1804中是没有IDE编译器的,所以自定义的cpp文件和h文件需要手动关联起来,同时调用路径也需要手动添加。新建一个include文件夹,在其中新建ZtMathLibrary.cpp和ZtMathLi

2020-06-19 18:52:24 1332 1

原创 Linux嵌入式开发笔记(八)自定义msg数据类型报错解决方案

这里主要是笔记,是基于自己的工作空间和包,文件结构进行的。有一定基础可借鉴在/zt_package_project/msg中新建一个Ztuint32.msg 在文件中输入 uint32 data 在CMakeLists.txt中相应位置添加上/msg/Ztuint32.msg 在主函数文件夹中声明#include <zt_package_project/msg/ztuint32.hpp> 在函数中定义变量auto message_zt3 = zt_package_project.

2020-06-03 15:11:29 511

原创 Linux嵌入式开发笔记(七)ROS2中C++的API函数原型

学着学着,网上的资源就越来越少了,只有匹配自己项目的资源越来越少,授之以鱼不如授人以渔。我就记录一下学习的过程经验,相互学习。学习完ROS2中的pub/sub,service/client,action等通信示例,大概了解其机制,也就可以自己创建工程,实现一个节点从节点A订阅,处理后发布给节点B;同时作为服务器,处理节点C中客服端的请求,再作为客服端向节点D中服务器请求数据算法处理。总之,可以实现单节点的多重形式通信,但是很多都是在ROS2示例中学习的,函数原型是什么,是如何处理的,就不得而知了。今天记

2020-05-22 18:38:42 1492

原创 Linux嵌入式开发笔记(六)在ROS2中运行小乌龟实例

在ROS2中运行小乌龟,其实主要就是安装两个工具,turtlesim和rqt。A: 安装turtlesim。输入【sudo apt update】输入【sudo apt install ros-dashing-turtlesim】注意:上一条指令中红色标识的dashing是我安装的ROS2的dashing版本,个人需要根据自己安装的版本去修改。输入【ros2 pkg executables turtlesim】如果提示 不识别 ros2,需要如下处理:先输入【. ~/ros2_w

2020-05-13 18:58:59 1335

原创 Linux嵌入式开发笔记(五)Ubuntu1804安装ROS2_dashing版本

项目需要变更ROS2的版本,不是太低,是安装官网安装的版本太高了,有一些插件还不支持,所以这里介绍一下Ubuntu1804中安装ROS2-dashing 版本,并且运行小乌龟和倒立摆等实例。安装步骤确保有一个支持UTF-8的locale设置。locale设置例子如下:$ sudo locale-gen en_US en_US.UTF-8$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8$ export LANG=en_US.U

2020-05-13 18:54:36 929 1

原创 Linux嵌入式开发笔记(四)Ubuntu1804中安装ROS2,并在ROS2中运行ROS1中乌龟实例

Ubuntu1804中安装ROS2,这个网上有很多资源,我也安装了并运行了demo,可以订阅和发布。但是在ROS2中运行小乌龟的demo却遇到很多问题,有无法安装插件,有不识别指令,花式Bug。最终我找到了解决办法:因为小乌龟是ROS中的,不是ROS2中。所以需要做桥接,但是网上的资源与个人安装的版本和方法不太一样,所以会有各种各样的问题。我这里介绍的方案是官网的一整套介绍,也为以后的查看做记录。安装ROS2,一定要去官网,网上资源有些过时了,ROS2的安装教程:https://index.ro

2020-05-11 16:18:42 619 1

原创 在Windows10系统中Perl安装Tk模块

写在前面,很简单的一个操作,但是从网上搜出来的都不适用,不知道是年代太久远了还是版本不一样。我在如下解决的:首先按住:“WIN"+"R"键,召唤出【运行】,输入cmd,打开命令行。然后输入:”cpan"(如果"cpan"bu's不识别可以试试“ppm”。 )再输入“install Tk”(注意区分大小写)之后就等待就可以了,有询问【Y/N】,输入Y,回车键。(注意需要一定时间,注意等待)会有一大串的命令自动执行。耐心等待,直至安装完毕。...

2020-05-08 18:37:22 1712 1

原创 Linux嵌入式开发笔记(三)Ubuntu中新建一个自定义工程

新建工程之前需要安装vim和gcc。输入【sudo apt-get install vim】输入【sudo apt-get install gcc】安装过程中,输入【y】 继续执行安装。新建工程前,需要有两个人性化的设置:设置TAB键为4空格; 设置VIM编译器显示行号;输入【 sudo vi /etc/vim/vimrc 】,在打开的文件最后输入(在文本中无法输入,先...

2020-05-07 19:45:26 596

原创 Linux嵌入式开发笔记(二)ubuntu常用命令

第一次打开Ubuntu1804后,右击“打开终端”。页面提示“To run a command as administrator (user “root”),user “sudo <command>” . See “man sudo_root” for details .”如果是管理员权限登入,显示(#);普通用户登入显示($)。打开终端后,默认是安装时注册的用户名登入,...

2020-05-05 16:43:20 435

原创 Linux嵌入式开发笔记(一)虚拟机和ubuntu的安装

虚拟机和ubuntu的安装,这里介绍安装免费的VirtualBox虚拟机。下载VirtualBox到本地。百度VirtualBox进入其官网或者链接进入https://www.virtualbox.org/点击Download VirtualBox6.1 进入下载界面。这里下载需要在什么环境下安装的版本,我们一般都是在Windows系统,所以点击下载“Windows host...

2020-05-05 15:35:33 379

转载 转载 C语言0长度数组(可变数组/柔性数组)详解

转载 文章,供自己学习,原文链接在文末。1 零长度数组概念众所周知, GNU/GCC 在标准的 C/C++ 基础上做了有实用性的扩展, 零长度数组(Arrays of Length Zero) 就是其中一个知名的扩展.多数情况下, 其应用在变长数组中, 其定义如下struct Packet{ int state; int len; char cData[0...

2019-10-16 16:20:44 488

原创 算法仿真时,将Excel中真实数据导入simulink中的方法

方法比较有用,记录下来,自己以后还会用到;不然又要四处寻找方法。模拟数据进行算法仿真可行后,需要用到大量的真实试验数据评测算法的可信度;如何将Excel数据导入到simulink中,在此介绍一下自己找到的方法,简单可行。一个用From workspace模块;另一个用Constant模块。情况一:如果需要导入一个随时间变化的变量【From workspace】Excel中第一列为时...

2019-09-19 17:27:52 15926 3

原创 STM32F1的IIC硬件调试之EV5,EV6,EV7,EV8,EV9

以前接触的都是车规级芯片,最近了解了一下STM32F1,用到了其IIC。听说STM32F1库函数的IIC有许多坑,很多人都推荐用IO模拟IIC,只能说这很“51”。上手两天发现,官方库函数的IIC是可以用的,这里介绍一下我解题思路。 初调IIC,很容易陷入库函数中的死循环,为啥呢。EV5,EV6,EV7是啥,死循环干什么;查询了芯片手册,对症下药,一步一步调试,...

2019-08-22 17:35:51 6784

转载 嵌入式系统启动及初始化——关于#pragma指令的简要说明

本文出自一本北京航空航天大学出版的书籍,仅供学习交流。关于#pragma指令的简要说明#pragma声明是基于单片机开发的特点而对标准C语法的一个扩充,对充分利用MCU内各类有限的资源起到不可或缺的关键作用。下面介绍几个最常用的#pragma声明。(1)#pragma DATA_SEG定义变量所处的数据段。其语法形式为:#pragma  DATA_SEG 名称  数据段名称可以自己任意命名,但习惯...

2018-03-28 21:20:06 1236 2

转载 嵌入式系统启动及初始化——链接文件Project.prm

本文出自一本北京航空航天大学出版的书籍,摘抄至此,标为转载,仅用来学习交流。链接文件Project.prm prm文件主要实现了芯片的RAM和ROM的定义,初始化RAM中的变量、堆栈的大小;定义复位向量,即应用程序的默认入口;还包括了启动代码,即硬件复位后的函数入口。prm文件有5个组成部分构成:(1)NAMES~END部分 用于指定在链接时加入除本项目文件列表之外的额外目标代码文件,这种用法不常...

2018-03-26 22:37:34 1919

原创 SD卡中,比SPI总线模式通信更加快速的SD总线模式通信

   随着项目中存储数据量的增加,之前用SPI通信模式读写SD卡数据效率有些低,已经跟不上大数据的收集,所以改用比SPI总线模式通信更加快速的SD总线模式通信,效率提高了几倍。现在简单介绍一下,也算是自己的备忘录。   嵌入式中,单片机与SD卡通信由两种模式:SPI总线通信模式;SD总线通信模式。编号(按SD卡引脚)SD总线模式SPI总线模式名称描述名称描述1DAT3数据线3CS片选2CMD命令/...

2018-03-26 22:23:37 5756

原创 SD卡安全加密之锁卡与解除、写保护以及内设密码

    上一篇介绍了SD卡底层驱动程序的调试手段和时序过程,适合初学者学习,但是在汽车级的涉及安全的大型项目中就需要一些数据安全保护。现在介绍一下SD卡的保护与解除方面的知识点。        SD卡官方英文资料中(可在该链接中下载   https://download.csdn.net/download/code_dzhangteng/10278568)介绍了三种方式:1, 硬件写保护;2,SD...

2018-03-10 00:53:07 15385 1

原创 掌握与SD卡“交流”的方法,轻松完成单片机读写SD卡的底层驱动程序

    从大二开始写代码至今已经五六年了,之前做过很多嵌入式项目,参加过很多竞赛;慢慢才发现之前很多是知其然不知其所以然,很多东西都是从CSDN,论坛,各个网站学习过来的;工作以后才发现,做出一个东西并不难,重要的是方法,思路。很久以前写出了单片机读写SD卡的程序,前些日子拿出来用,发现不能直接用,自己写的程序现在不能用,很是着急。后来是静下心来,分析SD卡的反馈,修改相应的地方,很快就解决了问题...

2018-02-08 22:59:38 7787 4

汽车软件SOA架构+软件定义汽车服务API (原子服务API+设备抽象API)+软件定义汽车行业规范SDV

2022年3月30日,中国汽车工业协会SDV工作组发布了《软件定义汽车服务API参考规范》2.0正式稿。 涉及BCM,TMS,VCS,EMS等原子服务API和BCM,TMS,PWT,CHS等设备抽象API。 涉及SOA架构;软件定义汽车;SDV。

2022-04-02

汽车软件SOA架构和服务API.rar

2021年10月15日,汽车行业的首版整车级软件定义汽车API参考规范《SDV服务API参考》规范。国家推荐标准,包括软件框架和函数原型,热乎的优质资源。 国产规范,若壮大将是另一个AUTOSar.

2021-10-19

S19,HEX,BIN等文件互转工具win32+linux.rar

S19,HEX,BIN等文件互转工具;包含windows版和linux版两个不同环境的工具;我是用linux中转换工具的。

2021-05-28

XCP协议下载ASAM版V1.1全.rar

XCP协议,ASAM版的XCP协议,主要分为5部分,其中part3分为5分文档,分别基于CAN,以太网,FlexRay,Sxi,USB;还有一份Seed&Key的使用文档。共计十份资源,是ASAM的全版资源。

2020-06-23

JLink_Windows_V646i.exe

Jlink驱动,适用于WINDOWS系统的驱动程序,版本为V646, 可以用在 IAR8.32 平台上 也可以用在S32DS 平台上

2020-01-10

WEOPEN2.rar

直接对寄存器进行控制的,不用SDK和中间层,代码量小; 对于真的实际工程用处很大、占用FLASH小,执行效率高

2020-01-09

WEOPEN.rar

一些demo,从S32DS转到IAR平台,所用的必要文件; 收藏备用,下载方便。实现底层库的中间层代码

2020-01-09

clockMan1.h

#include "Cpu.h" #ifdef __cplusplus extern "C" { #endif /* TBD Cpu configuration will be generated here. */ #ifdef __cplusplus } #endif

2020-01-08

clockMan1.c

S32DS转IAR时,缺少的文件; 自己专用,收藏备用 COLCK时钟,S32DS自动生成的,其他美哟

2020-01-08

IEEE 802.3-2018以太网标准

学习汽车以太网,寻找资料,发现好多资源都是旧的,此资源是截止目前IEEE官网最新版本 为IEEE 802.3_2018版 以太网标准;另附一个获取IEEE官网资源的方法,授之以鱼不如授之以渔,可以自行查看最新资料,并下载。

2019-08-27

ISO26262 2011英文版+2011中文版+2018英文版.rar

ISO26262标准,道路车辆_功能安全 。共计三个版本部分,①2011英文版,10部分;②2011中文版,10部分;③2018英文版,12部分。

2019-07-12

STM32F1芯片寄存器.rar

内含两个高清资源,一个2010版的中文STM32F1系列的芯片寄存器数据手册;一个2018版的英文STM32F1系列的芯片寄存器数据手册; 官方库函数使用方便,但不能过分依赖,熟知下层的寄存器手册也是有必要的,各个模块的有介绍,各个寄存器每一位的介绍都有,利于立即运用。

2019-07-11

SD卡物理层协议(共四版)

该资源中为SD卡官方技术资料,内含四个版本的SD卡物理层协议。

2018-03-10

基于AVR的多节锂离子电池的BMS系统工程

完整工程可直接使用;基于AVR的多节锂离子电池的BMS系统工程;附带显示屏驱动,可直接通过显示屏观察所有数据

2018-02-26

基于AVR单片机通过AM2301采集与解析环境准确温湿度

该资源为完整的工程,可直接使用;基于AVR单片机通过AM2301采集与解析环境准确温湿度;有明确的注释,便于学习

2018-02-26

触摸屏240128的底层驱动与测试工程(可直接下载测试)

该资源为完整的工程,可以直接使用;触摸屏240128的底层驱动与测试工程(可直接下载测试);内含多层次中断嵌套;精准时序控制;数据反馈与矫正;

2018-02-26

基于AVR的240128显示屏整个测试工程

基于AVR的240128显示屏底层驱动程序;资料为整个测试工程,可以直接下载使用

2018-02-26

基于AVR的12864显示屏底层驱动程序

资源为整个开发过程的工程,可直接使用;基于AVR的12864显示屏底层驱动程序;重点包含时序图的学习与应用,有助于学习时序;

2018-02-26

基于AVR的显示屏底层驱动与整个测试工程

资源为整个开发过程的工程,可直接使用;基于AVR的显示屏底层驱动程序;重点包含时序图的学习与应用,有助于学习时序;

2018-02-26

基于飞思卡尔MC9S12XEP100单片机读取8G 高速SDHC卡完整底层驱动程序(汽车级)

基于飞思卡尔MC9S12XEP100单片机读取8G 高速SDHC卡完整底层驱动程序;重点讲述了如何分析SD卡返回值,SD卡和SDHC卡初始化时的区别。

2018-02-08

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

TA关注的人

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