自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++自学篇 泛型编程(模板与具体化)

C++的泛型编程是一种基于模板的编程技术,它允许在编写代码时使用未知的数据类型。泛型编程的目标是实现可重用、灵活和高效的代码。在C++中,泛型编程主要通过模板来实现。模板是一种用来生成代码的蓝图,它可以根据不同的数据类型生成特定的代码。和。除了C++提供的函数模板和类模板,还有介于这两者之间的。2.模板具体化(Template Specialization)是一种特殊情况,它允许为特定的模板参数提供特定的实现。

2024-01-12 19:55:17 358

原创 C++自学篇 构造函数与拷贝构造函数

在构造函数和拷贝构造函数这一块知识点上迷糊了很久,因此做个深入的探究。

2023-12-20 16:04:56 336

原创 汽车通信网络

BU_: 描述了网络上的节点,即ECU(Electronic Control Unit)。它包括节点名称、节点地址等信息。SG_: 描述了CAN消息中的信号。每个信号包括起始位、长度、信号名称、信号的物理值范围等信息。BO_: 描述了CAN消息的定义,包括消息ID、消息长度、发送方节点等信息。

2023-12-18 21:17:09 926

原创 C++自学篇 lamda表达式

参考链接:链接:链接:本篇使用的编译与运行命令为是捕获列表,在应用中填。是参数列表,在应用中填。是限定符,在应用中填。是异常说明符,在应用中填。是返回值类型,在应用中填。是表达式的函数体,在应用中填。

2023-12-15 14:11:28 367

原创 C++自学篇 遍历容器的元素与删除指定位置的元素

无。

2023-12-14 19:52:15 439

原创 C++自学篇 以类似结构体数组的形式生成与解析数据流

实际工程面临 进程A需要将发送类似结构体数组给进程B,即发送的数据流需要分为多组数据,每组可包含不同类型的数据,但每一组数据的类型必须一致。因此开发数据流生成与数据流解析的demo。

2023-11-03 16:56:47 59

原创 C++自学篇 回调函数

笔者以前只学过C语言,没有学过C++,在新项目中用到C++做开发,因此需要快速学习C++。注:1.编译环境:g++.exe (x86_64-posix-seh-rev3, Built by MinGW-W64 project) 11.2.02.本篇使用的BaseClass代表基类,使用的DerivedClass代表衍生类。

2023-09-20 13:50:25 54

原创 C++自学篇 虚函数

笔者以前只学过C语言,没有学过C++,在新项目中用到C++做开发,因此需要快速学习C++。注:1.编译环境:g++.exe (x86_64-posix-seh-rev3, Built by MinGW-W64 project) 11.2.02.virtual关键字主要用于基类申明虚函数,override关键字主要用于衍生类申明重写函数。在项目中,只要基类使用virtual关键字申明了虚函数,其衍生类如果想改变此成员函数的实现,则必定会出现override关键字申明重写函数。

2023-09-17 21:30:49 63

原创 Python小工具之bin文件读取

在项目中,每次发布Flash的镜像文件之后,bin文件都比较大。为了使产线和OTA升级使用同一个文件,且为了OTA升级时间相对较短,需要将bin文件缩小。

2023-09-17 20:52:59 932

原创 指针、数组、函数的组合,“const”、“char”、“*”、“p”的组合

前言:结合含义普通函数返回类型为基本类型(int、float、char等)、构造类型(struct、enum等)、空类型(void)的函数指针函数返回类型为指针类型((int *)、(float *)、(char *)、(struct XX *)、(void *)等)的函数函数指针指向函数的指针,格式为:type (*func)(参数列表)普通数组由基本类型(int、float、char等)、构造类型(struct、enum等)、空类型(void)构成的数组

2020-08-18 09:17:05 269

原创 使用Matlab将传感器采集到的数据导入,拟合成曲线

函数:通过使用函数,可以对程序进行更加好的组织。将一些相对独立的代码变成函数,可以提高程序的可读性和重用性。避免重复编写大量相同的代码。121.语法方法...

2020-08-17 15:09:48 3825 1

原创 嵌入式Linux设备启动logo设置

前言PBM/PGM/PPM的分类PBM:位图(bitmap),仅有黑与白,没有灰,老大PGM:灰度图(grayscale),老二PPM:通过RGB三种颜色显现的图像(pixmaps),老三PBM/PGM/PPM 图片是同类图片格式,图像文件格式为文件类型(P1/P2/P3/P4/P5/P6/)+ 注释(“# XXXX”) + 宽度与高度(XXX XXX)+ 最大像素值(XXX) + 编码(ASCII 或 Binary)Magic NumberTypeEncodingP1

2020-08-17 14:02:41 427

原创 用户态和内核态的内存映射

前言:参考链接:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h> #include <sys/mman.h>#include <linux/fb.h>#if 0struct fb_var_screeninfo vinfofb0;struct fb_fix_screeninfo finfofb0;#endift

2020-08-14 13:57:15 887

原创 码农的工具

前言:工欲善其事必先利其器,所以工具在工作或者日常使用中很重要。笔者总结自己使用过工具和知道的工具,长期待更。1. 翻译工具1.1 谷歌翻译笔者评价:用于翻译专业性语段。1.2 网易有道词典笔者评价:用于翻译单词、截屏翻译。1.3 Copytranslator笔者评价:该工具可以监听剪贴板,实现复制即翻译,翻译、查词引擎可以选择谷歌。2. 编辑工具2.1 Source Insight 4.0笔者评价:代码编辑、阅读神器,能查看调用的模块。2.2 Beyond Compare 4笔

2020-08-13 18:03:23 928

原创 终端SSH连接Ubuntu、开发板NFS连接Ubuntu

前言:无前言1. 终端SSH连接Ubuntu,以XShell为例1.1 Windows端安装完XShell安装过程略1.2 Windows端设置虚拟机网络连接模式将网络连接设置为桥接模式1.3 Ubuntu端的设置1.3.1 查看当前虚拟机IP地址# 查看当前Ubuntu的IP地址$ ifconfigens33 Link encap:以太网 硬件地址 00:0c:29:88:9b:ba inet 地址:192.168.4.xxx 广播:192.16

2020-08-13 15:08:16 1097

原创 嵌入式Linux 文件系统制作,使其支持中文

前言:本文涉及到制作嵌入式Linux文件系统,也涉及到编码种类继续完善中,待更……参考链接UTF、GBK等编码以及嵌入式linux支持中文显示:https://blog.csdn.net/weixin_43369409/article/details/90380100说明1:Windows的编码方式为GB2312验证方式:cmd中输入“chcp”,返回值为“活动代码页:936”,如下图所示说明2:虚拟机装的Ubuntu的编码方式为UTF-8验证方式:在终端中输入“locale”,返回

2020-08-13 10:52:18 1831

原创 关于嵌入式Linux的存储设备热插拔、挂载与映射至电脑

前言:本文所说的嵌入式Linux存储设备包含:U盘、SD卡、NandFlash分区。本文主要实现嵌入式Linux在开机后,可自动检测存储外设(U盘/SD卡)是否插入,对存储设备(U盘/SD卡/NandFlash分区)进行自动挂载。也实现模拟嵌入式Linux设备当成U盘设备插入电脑,即通过USB数据线连接电脑,可指定存储设备(SD卡/NandFlash分区)其中一种映射到电脑上,即“计算机”下的“可移动存储设备”下有XX盘。笔者的开发板存储设备对应的设备如下:存储设备设备路径挂载路径

2020-08-13 10:47:35 1364

原创 Linux下C语言实现文件读写操作(包含在应用层与驱动层)

前言:配合团队内的小伙伴做数据转换,他需要我将保存在.txt文件内的字符数据(十六进制)转换为二进制,也需要我将.Bin文件内的二进制数据转换为字符数据(十六进制)。下面所贴的程序有很大的优化空间,每次读取数据的量太小,需要频繁IO操作,导致运行速度变得很慢。1. 数据转换程序的原始模板(C语言的文件操作):#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){}

2020-08-10 10:34:44 2358 1

原创 Linux下的共享内存的使用

前言:工作中有一块涉及到Linux下两个进程以上的进程间数据交互,后来因为种种原因不使用了。当时参考网上的接收端与发送端的共享内存程序,重新编写为适合加进工程内使用的形式。程序中进程间通信使用了共享内存(Share Memory)与信号(Signal)这两种方式。笔者对共享内存(Share Memory)的理解:Linux系统上开辟一块内存空间,而这块内存空间是所有进程都能访问的空间,不是进程的独有资源。笔者对信号(Signal)的理解:类似MCU、SoC等嵌入式芯片的中断机制,可理解为操作系统的软

2020-07-31 15:16:37 606

原创 关于Ubuntu软件/依赖库的降级问题

前言:在Ubuntu中安装新的软件/依赖库时,经常会遇到环境中已经安装了该软件/依赖库的依赖文件的新版,而需要安装的软件/依赖库所需的为旧版依赖文件。1. 关于Ubuntu软件/依赖库的降级问题:1.1 安装软件/依赖库时出现的问题:sudo apt-get install libglib2.0-dev正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态

2020-07-28 15:00:47 5030 1

原创 通用Makefile模板与编译Linux的脚本

前言:由于工作,编译应用层程序、编译动态库、编译静态库、编译Linux驱动模块,因此需要一个强大的Makefile的模板,只需要通过开关方便控制编译方向。后面附带一个用于Linux源码下的内核配置(.config)、编译内核(zImage)、编译设备树(.dtb)、编译内核模块(.ko)、清除配置的Shell脚本。需要执行某个功能时,指定交叉编译器的命令不可注释(条件),取消注释可实现该功能的命令,其他行功能的命令继续注释。1. 编译应用层程序的Makefile模板2. 编译动态

2020-07-28 14:52:25 418

原创 Linux Shell脚本入门第一步到第N步

前言:个人认为,Shell的本质就是将需要在终端运行的命令写成一个可运行的文件[可称其为脚本],并通过各种方法使脚本很方便的运行1. 第一个Shell脚本cd Shell_Probject/vim shell01.sh#!/bin/bashread stringecho "Hello"echo -e "World!\n"echo "$string write"echo "This is a Test File" >> ./test.txt# 运行:./shell01.

2020-06-09 15:11:34 513

《嵌入式Linux应用程序开发标准教程-第2版》PPT.7z

《嵌入式Linux应用程序开发标准教程》(第2版全)的PPT文件,可配合课本,迅速提取文中的重点知识,帮助阅读

2020-08-18

跟我一起写 Makefile.7z

《跟我一起写Makefile》小白的Makefile编写从入门到入坑,该课本算是小白入门的必备助力。

2020-08-18

空空如也

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

TA关注的人

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