自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 原子操作的理解

今天学习了原子操作,原子操作的本质其实在我看来是做了一对指令标记,因为我们知道单条指令是不会被打断的。当我们修改一个变量的值时,比如i++,从C语言的角度看是一个语句,但是到指令层次其实涉及读出修改写入三个指令,那么可能在我们读出时被其他cpu或者其他线程抢占,把该变量处理成了其他值,这时候再返回我们之前程序时,我们是不知道的此变化的,我们会继续进行之前的操作,从而引发一系列错误。这里内核提供了两种方案:第一种:关中断,因为我们都知道任务线程等切换是依赖于中断进行的,我们关中断,...

2022-03-23 21:06:56 952

原创 PCIE最易懂最基础的理解第一章

本文力求去掉很多很深概念性的内容,留下PCIE的框架和干货!自己理解难免有误,用词可能也不太准确,但是却是初学者的第一视角!

2022-03-22 19:36:54 505

原创 细致分析C中栈的使用(适合初学者)

关于C中函数调用时栈的具体变化前言:一些简单的堆与栈的区域划分这里请自行了解不做赘述。今天深度剖析在函数调用时发生了什么。具体栈的变化情况以及SP与FP的关系与它们的作用。我们都知道栈简单来说是保存和恢复上下文的。但是其中的每个细节,哪些会先入栈,哪些不入栈,什么是栈的销毁?以及讨论一些编译器中有意思的现象。首先明白堆栈不是一回事,没有堆栈,堆是堆,栈是栈。四种栈:网上很多介绍,总的来说就是SP指向内容是否为空(是否满栈),以及栈的增长方向的组合(增减栈),一共四种。这会影响数据出栈

2022-03-16 16:23:10 1273

原创 QT交叉编译arm

QT环境以及交叉编译环境的搭建提示:这个操作比较常规,我就说一下自己遇到的一些问题然后一些注意事项文章目录QT环境以及交叉编译环境的搭建前言一、QT使用方面,先得知道QT是怎么回事QT是什么和我认为的优势干货来了qmake编译器二、自己使用遇到的问题总结前言提示:整个项目是调用摄像头完成画面采集并且调用百度OCR API接口进行Post上传,并且得到所识别画面内容,并且画面实时显示,再将结果通过TCP协议上传至服务器,QT应用程序ubuntu上验证,交叉编译后移植到嵌入式arm平台下,各平台大

2022-01-04 16:04:13 3400 1

原创 opencv移植到ARM

文章目录前言一、opencv是什么?二、怎么安装成自己想要的1.拿到源码用cmake-gui进行配置cmakecmake-gui配置总结前言最近项目需要在arm平台上去调用opencv的一些接口,所以这里讲解一下如何将opencv移植到arm平台,对于其他源码的一些交叉编译以及移植有一些帮助和理解。一、opencv是什么?OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.自己对它的看法:首先那肯定就是加快开发速度,意味着一些图像处理你不需要自己调用opencv的接口你能很轻松.

2022-01-04 16:04:00 3239

原创 QT V4L2 调用USB摄像头

QT V4L2 调用USB摄像头文章目录QT V4L2 调用USB摄像头前言一、V4L2二、核心概念及操作1.整个流程2.详细流程打开文件(设备)open查询设备能力capabilities枚举输入设备选择输入设备枚举所有支持fmt type,确定我们要的fmt type申请缓存 (给内核说呀,要多少块unit)查询缓存(主要是得到内核中真实的物理地址)内存映射(内核真实的得到了,自己再整一块儿一样的,这不就可以映射了吗)我读你取就完事最后不用的时候解除一下映射,该清的清一下,close一下总结前言

2022-01-04 16:03:50 2921 16

原创 基于QT的嵌入式OCR文本实时识别

基于QT的OCR实时文本识别文章目录基于QT的OCR实时文本识别前言项目梳理项目细化1.首先我们要能成功获取视频数据make 编译时一些宏定义找不到动态库文件缺失libgtk-3.0.so.2在配置时有选项问我们选择的系统V4L2请你简述一下V4L2你是怎么调用V4L2的什么是内存映射,为什么要建立内存映射POST请求简述一下http或者https协议,或者问区别,或者问你了解多少,甚至问到tcp/udpTCP的三次握手和4次握手,TCP协议简介什么是base64编码,为什么用base64编码在项目中发现

2022-01-04 16:03:22 2509

原创 NXP飞思卡尔回顾

文章目录前言- - - 项目回顾一、项目思路1.首先让车能跑起来2.让车知道车往哪里跑难点与处理方法1.输入进来的图像处理二、使用步骤1.引入库2.读入数据总结前言- - - 项目回顾我们需要完成一辆搭载摄像头智能车,并且成跑在规定赛道内,成功识别并且通行各种赛道元素,然后同时完成一圈赛道耗时越少越好,我们做的是提高的双车会车,即两场车背道而行,先达到断道的A车停在场外,等待另外一辆B车到来,等到B车通过后,A车再自己回到赛道,然后最终一起回到起跑线。一、项目思路1.首先让车能跑起来说明.

2021-02-24 17:25:25 583

原创 嵌入式常用协议总结

文章目录前言先简单聊聊单工,半双工,全双工,串行,并行,同步与异步下面这些都是讨论的串行情况同步与异步是指通信双方的时钟是否是统一的,统一即为同步,否则则为异步。这里聊一下,同步还好说,双方时钟同步,可以通过时钟信号确定每个信息位,但是异步信号及需要一些辅助信号,比如开始位,停止位,奇偶校验位。一、USART串口通信(上面的看懂了,自然知道串口是什么通信)波特率:每秒传输码元的位数。比特率:每秒传输二进制的位数。二、IIC通信(同理)三、SPI通信总结这里仅仅是自己的一个回顾,如果大家想详细了解上面那篇博客

2021-02-22 17:42:51 753

原创 设备树——platform_driver

设备树浅谈--led一、设备树是什么?二、自己写一个简单的LED驱动配合自己的treeinit: 注册driver到platformexit: 从platform卸载driverled_drvled_probe:myled_oprsled_remove总结文章目录一、设备树是什么?二、自己写一个简单的LED驱动配合自己的treeinit: 注册driver到platformexit: 从platform卸载driverled_drvled_probe:myled_oprsled_remove总结一、设备

2020-12-10 19:27:21 5190 3

原创 JZ2440-NFS挂载

设备树遇坑学会新烧写工具今天做设备树相关的,首先是烧写image(kernel uboot root device_tree)遇见了第一个坑,如果你不烧写设备树直接烧写其他三个,内核是跑不起来的,出现CRC错误,一般这个错误是内核image大小跟UBOOT中或者内核设置kernel大小不匹配,比如kernel 3.1M.但是你uboot中给的大小仅仅2M.或者Kernel中设置的仅仅2M,但是查看后发现这两个并没有错误,最后发现了由于没接触过设备树,不知道它应该必须是被设置的,烧写设备树成功后解决问题,

2020-12-07 11:43:02 169

原创 linux poll

今天学习了一下Linux poll的东西,当然还是看韦老师的视频,但是现在有自己的思路,带着自己的思路跟目的去想,会体会更深。也不知道是不是没看韦老师的新视频,反正觉得老视频里韦老师总是把一些东西带到函数里去一层又一层的剖析,但是毕竟很多看视频的都是初学者,这样子感觉清晰,实际绕晕了很多东西,而且很多函数的调用和一些去找相关类似函数运用的方式感觉没有说出自己的经验,比如Linux里调用irq_re...

2020-03-18 17:26:19 155

原创 第一次飞思卡尔----飞卡知识体会

我们这里是对一些基本知识的补充,关于PID的问题前面我们已经谈过了,后面会详细谈到。第一就来谈谈舵机:调试方法:1、一般调舵机的参数的时候一般都是先把I值和D值设为0,再通过调P值慢慢地使得小车能够比较好地转弯后,再引入I值和D值。2、不同的赛道类型有不同的处理方式,比如直角弯,S弯。3、D值比较容易理解,就是抑制误差剧烈变化,能够使得measure会比较平缓地接近targ...

2019-07-31 11:04:37 430

转载 Kconfig是菜单,Makefile是做法,.config就是你点的菜

三者的作用:简单来说就是去饭店点菜:Kconfig是菜单,Makefile是做法,.config就是你点的菜。Makefile:一个文本形式的文件,编译源文件的方法。Kconfig:一个文本形式的文件,内核的配置菜单。.config:编译内核所依据的配置。三者的语法Makefile参考:linux-3.4.2/drivers/Makefile作用:用来定...

2019-04-02 17:52:26 415

转载 基础知识

ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常是在掉电之后就丢失数据,典型的RAM就是计算机的内存。ROM有很多种,PROM是可编程的ROM,它和EPROM(可擦除可编程ROM)的区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这是早期的产品,现在已经...

2019-04-02 17:18:42 163

转载 觉得写的挺好的堆和栈

格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说...

2019-04-02 15:34:52 123

原创 迟到已久的一篇博客(linux驱动入门)

自从上一篇PID的初探后很久不再写博客,其实那之后的那段时间的学习挺顺畅,但是慢慢的有点迷失了方向,不知道自己会了那些自己以后又能干嘛,先开始害怕了。因为自己不坚定了,但是颓废了几天,又觉得人生不就是这个样子,总是在不断的反思中长大,我反思说明我又成熟了一些了吧。然后在超哥的一波奶之下学了Linux,开始安装虚拟机各种的麻烦,几乎让我这种暴躁性格的人想马上删掉它。但是又是超哥的服务器让我重新燃起了...

2018-12-22 14:27:12 240

原创 初探PID(个人的第一篇博客噢)

    这也不是第一次与PID接触了,但是前几次就只是听过名字,然后并没有去进行深入了解,后面是被闭环的那种成熟和那种掌控力再加上比赛的驱动所结缘。像今天我要谈的也只是浅浅地谈一下初探PID的一些自己的理解吧。我觉得PID是控制里最基础的,但是也是最精华的,是最简单的,也是最难的。谈PID,我们就分步去谈一下我对它每一个参数的理解吧。   首先来说Kp,Kp对应着角度,它是根据倾角,也就是所说的姿...

2018-07-06 22:58:26 300

PE4302-数采板-原理图+代码+资料-V0.3.zip

亲测能用,PE302电赛亲自调试,稳定衰减

2019-08-06

12.MSP-EXP430F5529Lanchpad.rar

MSP4305529最全例程驱动资料,电赛必备

2019-08-06

K60-04.飞思卡尔公司自带代码.rar

西南赛区双车会车的代码,单独拿出来也可以跑小白四轮和电磁两轮

2019-08-06

空空如也

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

TA关注的人

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