自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 【freeRtos】内存管理

参考1参考2

2023-12-21 11:34:03 401

原创 freertos——任务管理

一、freeRtos任务管理二、前置知识2.1 任务的状态2.2 任务调度中的各种时间2.3 抢占 非抢占 进程饥饿现象2.4 时间片 系统时钟节拍2.5 任务调度器三、常见的任务调度算法。

2023-12-14 20:15:29 418

原创 vscode调试C++程序

项目路径中不要包含中文,否则会出现** “unexpected GDB output from command” **报错。

2023-12-11 10:37:59 463

原创 【】正点原子I.MX6ULL开发板通过nfs挂载文件系统出错

2.正点原子官方推荐的是ubuntu14的虚拟机,若ubuntu系统版本较高,可能是ubuntu支持的nfs版本过高导致无法挂载文件系统。1.setenv bootargs的设置是否出错?比如:ip和目录之间用英文冒号分隔,

2023-06-15 10:31:17 294

原创 开发板ping ubuntu主机

一开始就理解错了,错误的以为wifi网卡就是pc的局域网地址,pc无法作为路由器,应该设置usb网口的地址,使其和开发板在同一局域网下。

2023-06-14 11:03:19 169 2

原创 Linux下交叉编译器安装以及uboot编译时出现的arm-linux-gcc未找到问题

使用正点原子推荐的交叉编译器。

2023-05-29 22:15:46 2161

原创 【Linux开发环境】gdb

一、 主要内容1.1 bug基础知识1.2 gdb 简介

2023-04-22 21:17:11 65

原创 【算法】回溯算法

   本质是一个递归过程,一种暴力搜索方法。能够解决的问题:   为方便理解和使用回溯方法,使用图形记忆和使用。抽象为一个树形结构(n叉树)。宽度:for循环,深度:递归。

2023-04-21 21:46:30 34

原创 【apollo】泛型编程 与 STL

Cpp 除了oop思想外还有一种思想:泛型编程思想。

2023-04-17 15:37:56 161

原创 【Apollo】行为决策和局部轨迹规划综述

pass。

2023-04-17 08:29:36 158

原创 【Apollo】自动驾驶决策规划

自动驾驶四大特点。

2023-04-16 00:22:35 911 1

原创 【apollo之porotocol buffer】

配置文件作为序列化和反序列化的一个应用广泛存在于apollo项目中,因此,掌握pb协议的使用后续对源码实现功能拓展。效率高:采用L(length)-V(value)-T(Tage),方式编码,不需要", {, }, :等分隔符来结构化信息,因此序列化之后的体积小,同时序列化速度和反序列化速度比XML和Json块。apollo中主要是将protobuf用于CyberRT的不同主机间通信时的序列化和反序列化,以及用为模块配置文件。的字节数据,反序列化就是把存储过来的或网络传输过来的数据解析为进程中对象。

2023-04-14 08:59:48 295

原创 【cpp】构造函数

构造函数主要分为三类:默认构造函数(无参构造函数)、有参构造函数、拷贝构造函数(包括了拷贝赋值运算符,移动构造函数,移动赋值运算符)

2023-04-13 20:17:21 709

原创 【程序员自我修养】运行库

在执行main函数第一行的时候,有很多事情已经完成了。

2023-04-13 20:16:56 110

原创 【apollo】设计模式

整体通过构造函数传进来部分对象,从而构成了整体class。当整体class销毁后,部分的对象可以单独存在。

2023-04-13 20:16:20 119

原创 【apollo】凸优化

三个要素:可行解集合(约束),定义最优的含义,如何寻找最优的。等式约束能够转化为两个不等式约束。因此约束只考虑不等式约束最优解未必只有一个,最优解组成的集合称为“最优解集”

2023-04-12 21:21:20 529

原创 【Apollo】自动驾驶模型

Frenet坐标系,能够将纵向控制和横向控制解耦(横纵向控制用这种坐标系)。其他两个坐标系无法实现解耦控制(MPC中就用这种坐标系)。

2023-04-12 21:10:47 230

原创 【Apollo】bazel中的python规则

【代码】【Apollo】bazel中的python规则。

2023-04-04 16:00:14 180

原创 【apollo之Git】

【精】通俗原理腾讯/Git内部类型【精】git出的介绍原理的书【精】git add + git commit + 分支创建 的原理1原理2$ sudo apt - get install git ///验证 $ git。

2023-04-01 22:21:49 245

原创 【Docker】Apollo CyberRT 运行 ./bazel-bin/cyber/examples/talker 缺少 libgflags2.2 动态库

在Container中安装对应的动态库。Container中缺少相应的动态库。

2023-03-17 16:27:32 412

原创 leetcode技巧——位运算

学习目标:1. 异或:学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇3、 学习的 vlog 视频 1 个...

2021-09-27 10:05:04 47

原创 STL——queue容器

1. 简介:队列。2.基本操作:queue的基本操作有:1.入队:如q.push(x):将x元素接到队列的末端;2.出队:如q.pop() 弹出队列的第一个元素,并不会返回元素的值;3.访问队首元素:如q.front()4.访问队尾元素,如q.back();5.访问队中的元素个数,如q.size();6.empty() 如果 queue 中没有元素的话,返回 true。...

2021-09-14 14:53:39 86

原创 STL——stack容器相关操作

1.stack容器:1.1 stack容器介绍:C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。1.2 stack容器相关操作函数:stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式: empty();//判断堆栈是否为空size();//返回堆栈的大小push(elem);//向栈顶添加元素pop();//从栈顶移除第一个元素top();//返回栈顶元素

2021-09-02 13:07:01 97

原创 链表中的一些技巧

1.查找链表的等分结点:1.1描述:给定一个链表查找中间结点、第一个三等分点。。。。1.2方法:法一:先遍历一遍链表,使用变量i记录结点个数m,再遍历链表,每遍历一个结点,则i++,直到i==m/n;法二:使用快慢指针,慢指针走一步,则快指针走2步或3步。。。,直到快指针不满足循环体的循环条件(循环条件很重要,并且还要分偶数链表还是奇数链表)1.3代码实现:仅针对法二,查找中间结点ListNode* first_half_end(ListNode* head){ ListNo

2021-08-30 11:39:25 100

原创 C++ STL vector相关操作函数

emplace_back()功能:该函数是 C++ 11 新增加的,其功能和 push_back() 相同,都是在 vector 容器的尾部添加一个元素。应用场景:1.将用链表存储的线性表转化为用数组存储的线性表。leetcode.234 回文链表 法一...

2021-08-26 19:22:03 111

原创 递归——leetcode 21.合并两个有序链表

什么是递归函数在运行时调用自己,这个函数就叫递归函数,调用的过程叫做递归.递归的两个要点递归函数必须要有终止条件,否则会出错;递归函数先不断调用自身,直到遇到终止条件后进行回溯,最终返回答案。关键词:终止条件;回溯...

2021-08-25 08:52:35 77

原创 使用函数模板完成选择排序算法

算法实现:使用函数模板完成选择排序算法:#include <iostream>using namespace std;class Solution {public: template <class T> void seletion_sort(T (&arr)[9], T n) { //i永远指向剩余序列第一个元素的下标,j用于遍历剩余序列来查找出最小值,k用于记录剩余序列最小值的下标 for (i = 0; i < n; i++) { te

2021-08-03 11:10:54 198

原创 C++类模板成员函数创建时机

类模板成员函数创建时机:今天学习模板时看到一句话**“类模板中的成员函数并不是一开始就创建的,在调用时才去创建”。因为这个原因,类模板不能像以往的分文件编写。我不是很理解“创建”**是什么意思。经过查找资料和思考后,我的想法如下:1.编译器使用模板,通过更换模板参数来创建数据类型,这个过程就是 模板实例化2.从模板类创建得到的类型称之为 特例3.模板能否实例化创建特例,不仅仅需要模板的声明,而且还需要模板的定义,以及是否有模板的参数列表,三者缺一不可。因为只有在调用之时才有模板参数列表,所以模板

2021-07-29 16:49:39 749 1

原创 为什么需要多态

为什么需要多态:因为存在赋值兼容规则(向上类型转换原则),父类指针既能指向父类对象又能指向子类对象。我们在开发时,希望:如果父类指针指向父类对象时,则调用父类中定义的函数;如果父类指针指向父类对象时,则调用父类中定义的函数。但是,但是,但是:因为编译器的静态联编,编译器自动根据指针的类型判断指向的是一个什么类型的对象,如果指针是父类类型,则编译器认为指针指向的对象一定是父类,编译器编译的结果为:调用父类中定义的函数。这与我们开发的需求不相符。为解决此问题,引入了多态。...

2021-07-27 17:05:39 250

转载 socket可读可写条件

”可读事件"表示有数据到来,"可写事件"表示内核缓冲区有剩余发送空间,“错误事件“表示socket发生了一些网络错误。原文地址:http://blog.csdn.net/majianfei1023/article/details/45788591

2021-07-15 09:03:30 130

原创 C与C++中const关键字总结

1.C++不一定为const分配内存,除非使用extern或取地址。不分配地址的话,存放在符号表中。使用extern或取地址的话存放在.rodata2.C一定会为const分配内存:全局const分配在.rodata段(只读数据段),局部const分配在栈中。3.可通过指针修改局部const,不能通过指针修改全局const,因为.rodata段保护。那么在c++中:为什么p输出200?而m_B输出20呢?p既然存放m_B的地址,那么p不就是改变m_B的值么?原因:...

2021-07-13 17:00:23 33

原创 网络编程之select()总结

前言:Day05和Day06移植程序之后,老师布置了另一个任务:使用select和epoll多路IO复用写一个服务器。学习内容:自己写一遍程序加深了对多路IO复用中哥哥函数的理解,尤其是理解了四种网络IO模型。当有很多客户端来连接服务器时(高并发),仅仅使用阻塞IO,每次只能检测一个客户端是否连接,而使用多路IO复用(select/epoll)就可以一次监测多个客户端是否发起连接。使用select模型时,为提高效率,需要将cfd放入自己创建的数组中,然后遍历数组找出发生了读写事件的cfd(避免

2021-06-30 16:39:34 85

原创 使用tftp向开发板传输文件

前言昨天天(Day03),终于通过OTG烧录的方式将LInux系统移植到开发板了。接下来就是将在PC端linux系统中编写的hello_world程序传输到开发板上,然后在开发板上运行该程序。问题描述:本来打算用串口将程序传输到开发板上,但是公司没有DB9母头接口,全都是公头(开发板上的串口采用DB9公头接口),串口传输方案卒。导师说:用tftp传输吧!解决方案:Day04上午首先了解什么是tftp协议(我那时的想法:怎么这么多协议,又是tftp、又是ssh、http),什么是端口号(终于弄

2021-06-25 11:57:04 3238 2

原创 全志OKA40i-C开发板 Buildroot编译错误处理 fakeroot: preload library `libfakeroot.so‘ not found, aborting.

项目场景:实习Day02实习时,导师安排的任务:将linux移植到开发板上。问题描述:编译时,linux kernel编译和buildroot编译先后出错。内核编译出错没有记录,buildroot出错见照片。解决过程和方案:出现问题,不好意思直接问导师(不然显得自己没水平),先上csdn看看,csdn给出的几种回答:1)make clean + make2)sudo apt-get install fakeroot3)sudo apt-get install cramfsprogs验

2021-06-24 13:46:31 1652 4

原创 实习Day01

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇

2021-06-23 09:35:31 76

空空如也

空空如也

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

TA关注的人

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