自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作系统内存(32位为例)

它使用哈希函数将内存块的大小作为关键字,将内存块的指针作为值存储在哈希表中。当释放内存时,将该内存块的指针存储在哈希表中,并将其状态设置为空闲。当释放内存时,将该内存块的指针存储在二叉树中,并将其状态设置为空闲。空闲列表:空闲列表是一种简单的内存池算法,它维护了一个空闲内存块的列表。当释放内存时,将该内存块的状态设置为空闲,并将其加入到空闲列表中。PAE paging分页模式增大了PTE的位数,让寻址空间大于4G,让32位操作系统支持更大的物理内存(最大支持64G)。64位4M以下的内存。

2023-09-05 21:21:55 382

原创 【香橙派5】(已解决)nmcli设置完静态ip后ping不通

原因:发现是PC和开发板的掩码不同,PC是25,开发板是24。结局办法:address后面加个/24,然后重启就可以了。问题:nmcli设置完静态ip后ping不通。

2023-04-24 00:27:17 1147 1

原创 【香橙派5】(已解决)HDMI外接屏幕没显示

硬件:orangepi 5,以及在咸鱼上买的7寸垃圾触屏显示屏操作系统:Linux5.10.110。

2023-04-22 19:30:02 3952

原创 【问题】TF卡烧了系统插入电脑中无法识别

再磁盘管理器中重新删除卷,新建卷,这样就可以识别了。

2023-04-20 17:12:16 914

原创 【Linux驱动实战驱动】走过的坑~

注意‘-’左右是有空格的!要不然会一直卡在start kernel上!!!

2023-03-29 20:06:37 847

原创 vscode插件自用清单

光标放在某个函数或类上面,就可以在边栏或面板中显示相关文档远控查看文件大小。

2023-03-24 10:50:54 159

转载 Linux设置脚本开机启动的五种方法

Linux设置脚本开机启动的五种方法 - 简书 (jianshu.com)

2023-02-21 19:28:56 282

原创 ssh:Permission denied, please try again.

这里一定要选择存在的用户名称!原因2:远程登录选择的用户名不对。

2023-02-21 09:49:26 1697

原创 Linux驱动学习笔记

Linux 内核将 RTC 设备抽象为 rtc_device 结构体,因此 RTC 设备驱动就是申请并初始化rtc_device,准备好RTC设备驱动函数集 rtc_class_ops。卸载input驱动的时候需要先使用input_unregister_device函数注销掉注册的input_dev, 然后使用 input_free_device 函数释放掉前面申请的 input_dev。transfer 函数,和 i2c_algorithm 中的 master_xfer 函数一样,控制器数据传输函数。

2023-02-17 21:15:47 1359

原创 【Arduino Due】识别不到设备,上传代码失败

后来才想起来有人说过不能占用TX,RX口。

2023-02-16 15:24:23 367

原创 【VSCode Remote SSH】远程连接失败过程试图写入的管道不存在

解决办法:找到本地电脑的.ssh;也就是c:\users\user_name\.ssh找到knownhosts删掉我要远程连接的这个ip这一行保存,再重新连接一次就好了。

2023-01-03 17:44:31 1113

原创 【Esp32】用esp32和max30102制作一个血氧仪

(本来是想用屏幕去显示的,但是我发现我的esp32只有一个iic引出来,而max30102模块正好是iic通讯,我又懒得弄spi的屏幕,所以用手机app或者网页去起到显示数据的一个作用了)+物联网平台内置的lot Studio来。点灯科技账号or阿里云物联网平台账号。先直接上代码,用的是blinker库。外面的资料都比较少,只能看官方文档。阿里云我用的是物联网平台。焊笔还没到,所以还没实现。实现网页上线显示数据。

2023-01-01 17:51:13 5997 15

原创 【踩坑汇总】CLion开启QT编程

一下全部内容全都是大佬lht的经验,我只是记录一下给大家。问题:Qt5Config.cmake找不到找到Qt5Config.cmake路径,添加上面这句或者在红线区域加上上面那句话,空格可以忽略。

2022-11-28 20:20:02 1891 2

原创 【QT】【C++】undefined reference to 报错处理

但是在.cpp源文件定义的时候忘了给类的范围Chart::函数,直接用了函数,所以报错。我的原因是因为在.h头文件声明了一个类成员函数。

2022-11-27 16:15:27 654

原创 【QT】信号与槽和Lamda表达式

使用lamda表达式的话就不能用SIGNAL函数,不然会报错。SIGNAL函数和SLOT函数要一起用。

2022-11-26 23:49:40 284

原创 【正点原子linux应用编程】编译linpng出现问题

现在在ubuntu上ARM编译出现下面的问题。

2022-11-26 19:35:54 372

原创 【C/C++】malloc,calloc,realloc

num_byte为要申请的空间大小,需要我们手动的去计算,如int *p = (int *)malloc(20*sizeof(int)),如果编译器默认int为4字节存储的话,那么计算结果是80Byte,一次申请一个80Byte的连续空间,并将空间基地址强制转换为int类型,赋值给指针p,此时申请的内存值是不确定的。(及已申请的动态空间不够使用,需要进行空间扩容操作),ptr为指向原来空间基址的指针, new_size为接下来需要扩充容量的大小。calloc函数由于给每一个空间都要初始化值,那必然。

2022-11-16 16:14:25 353

原创 【C++】如何修改set的值

也就是说我们虽然改了元素的值,但是它在红黑树中的位置其实是没有变的。这样的结果就是会导致元素失去有序性,比如上面的结果输出的顺序是:"(2)可以通过insert_iterator函数把迭代器强转为可插入形式。尝试通过begin方法得到的迭代器去修改值,发现会报错。但是我们需要注意一点,我们这样强行修改其实是没有经过。当中的元素,我们只需要绕开迭代器的这个限制即可。",按道理应该是按照字典顺序排序的。我们可以在源码里找到问题根源。底层限制了禁止修改,而是通过。原来迭代器的定义是一个。,搞了半天,其实并不是。

2022-11-04 17:43:27 3282

原创 【C++】 容器区别

C++容器学习笔记

2022-11-03 13:18:18 624

转载 【C++】cin、cin.get()、cin.getline()、getline()的区别

cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。

2022-11-02 11:55:49 352

原创 鲈鱼的面试题库+答案

大三了要准备实习了。大伙儿一起加油冲冲冲!

2022-08-31 01:19:50 227

原创 FreeRTOS中汇编指令

立即数很大,无法将立即数和指令合并成32bit,指令会被编译器拆分为LDR R0, [PC, #offset];.word 0xF00000000两条指令,即先将立即数利用.word指令存储在该LDR指令附近,编译器计算立即数与当前正在执行指令PC(program counter)指针的偏差offset,注意ARM是流水线指令,采用取指令,译指令和执行指令。BX 指令跳转到指令中所指定的目标地址, 目标地址处的指令既可以是ARM 指令,也可以是Thumb指令。

2022-08-24 15:25:42 2261

原创 C盘扩容好帮手——傲梅分区助手

这段时间由于实训和比赛需要配了好多环境,导致C盘直接爆红。焦虑死于是打算给C盘扩容。(无广!!!)

2022-08-21 15:13:28 19986 13

原创 Clion设置toolchains报错

报错理由:【cmake test wrong】See also "C:/Users/Weever 閺夛拷/AppData/Local/Temp/cmake_check_environment/重启后重新设置toolchains就没报错了。

2022-08-06 00:39:56 546

原创 Ubuntu部署apache服务

首先apache在软件包里不叫apache,而是apache2。记得先卸载nginx(如果安装了的话)

2022-08-01 12:01:44 745

原创 操作系统学习笔记

摘自视频。

2022-07-27 17:02:02 871

原创 【树莓派】USB摄像头+python+opencv

插入usb摄像头,在命令行模式下输入 lsusb 如果看到列举出来的信息有camera的话就说明识别成功,可以使用。1、拍照测试安装输入以下命令,开启摄像头2、录像测试安装输入以下命令,开启摄像头三、安装python2如果发现安装的是python3的话就需要把python改为python2分别运行以下两条命令即可~在命令行模式下输入命令,测试是否安装成功(如果提示不存在python这个命令,说明可能同时存在pyt

2022-07-14 13:34:40 10284 5

原创 嵌入式学习资料和项目汇总

目录C/C++单片机QT工具C/C++搞懂这个16个C语言问题,你也能进大厂单片机基于STM32+华为云IoT设计的健康管理系统+应用侧开STM32是如何软硬件结合,编译后怎么样一步步运行起来的QT基于QT设计的人脸考勤打卡签到系统(华为云)工具十六进制编辑软件-hexed.i基于QT的开源的通讯协议项目——Serial Studio,..................................................

2022-05-31 18:16:11 1233

原创 图解Linux进程调度(一)

一、进程调度解决什么问题?我们在使用电脑的时候,比如打开一个视频剪辑器,一个文本编辑器,可以认为它们都是一个进程。假如CPU是单核的,那么在同一时间只能运行一个进程,但是给我们的感觉是视频剪辑器和文本编辑器好像是同时运行的,也就是视频剪辑器在剪辑视频的时候,我们同时可以使用文本编辑器,这是怎么实现的呢?其实这只是我们从宏观上感觉它们是并行运行的,而微观上它们是串行运行的。也就是说,可以认为这两个进程在做频繁的切换,比如视频剪辑器运行10ms,然后文本编辑器运行10ms,如此交替,这样子它们其实串行运

2022-05-25 00:40:16 2786

原创 Linux学习笔记 驱动开发篇

ARM Linux 驱动开发篇本篇我们将会详细讲解 Linux 中的三大类驱动:字符设备驱动、块设备驱动和网络设备驱动。字符设备最多,从最简单的点灯到 I2C、SPI、音频等都属于字符设备驱动的类型。块设备驱动就是存储器设备的驱动,比如 EMMC、NAND、SD 卡和 U 盘等存储设备,因为这些存储设备的特点是以存储块为基础,因此叫做块设备。网络驱动,不管是有线的还是无线的,都属于网络设备驱动的范畴块设备和网络设备驱动要比字符设备驱动复杂,就是因为其复杂所以半导体厂商一般都给我们编写好了,大多数情

2022-05-15 12:36:50 2042

转载 每周一练 | 嵌入式基础知识(持续更新)

第一周(2022.04.01)(单选题)1.硬实时系统要求( B )A.事件响应实时B.事件和任务都实时C.任务响应实时D.事件和任务响应都不实时2.以下ARM处理器,只有Thumb-2状态和调试状态的是( D )A.ARM7B.ARM9C.ARM11D.ARM Cortex-M33.嵌入式Linux操作系统的组成,不包括( D )A.用户进程B.OS服务组件C.Linux内核D.编译程序4.把堆栈数据出栈到R0的指令为( B

2022-05-14 21:32:24 1593

原创 linux 应用编程(持续更新)

在嵌入式 Linux 系统中,我们编写的应用程序通常需要与硬件设备进行交互Tips:本篇将以正点原子 ALPHA/Mini I.MX6U 开发板开发板出厂系统进行测试开发板 电脑 虚拟机互传数据互连我看的是正点原子的视频。讲的挺好的网络环境搭建互传我看的是正点的 “【正点原子】I.MX6U网络环境TFTP&NFS搭建手册V1.3.1”我一般是用nfs共享文件夹的方法,好用,不需要记指令点灯应用层操控硬件的两种方式设备文件便是各种硬件设备向应用层提供的一个接口,包括字符设备文件和块设备

2022-05-12 20:03:51 2946

原创 linux系统编程

​第一章 系统调用内核提供了一系列的服务、资源、支持一系列功能,应用程序通过调用系统调用 API 函数来使用内核提供的服务、资源以及各种各样的功能1.2 库函数库函数也就是 C 语言库函数在 Linux 下,通常以动态(.so) 库文件的形式提供,存放在根文件系统/lib 目录下​库函数是属于应用层,而系统调用是内核提供给应用层的编程接口,属于系统内核的一部分库函数运行在用户空间,调用系统调用会由用户空间(用户态)陷入到内核空间(内核态)库函数通常是有缓存的,而系统调用是无缓存的,所以在

2022-05-07 21:46:49 6095

原创 linux裸机、驱动学习笔记(持续更新)

一、裸机开发(1)I.MX6ULL芯片简介NXP出品的,528~900MHz的Cortex-A7内核的MPU。(2)Cortex-A7架构七种处理模式Cortex-A 寄存器组是 Cortex-A 的内核寄存器组,注意不是芯片的外设寄存器ARM 架构提供了 16 个 32 位的通用寄存器(R0-R15)供软件使用,前 15 个(R0-R14)可以用作通用的数据存储,R15 是程序计数器 PC,用来保存将要执行的指令。ARM 还提供了一个当前程序状态寄存器 CPSR 和一个备份程序状态寄存器

2022-04-27 16:21:57 684

原创 makefile学习笔记

默认顺序是上到下= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值**反斜杠(\)**是换行符的意思clean.PHONY : clean​ clean :​ -rm edit $(objects).PHONY意思表示clean是一个“伪目标”rm命令前面加了一个小减号的意思就是,也许某些文件出现问题,但不要管,继续做后面的事*3.2 规则的语法*targets : prerequisites​ co

2022-04-27 15:17:11 146

原创 把本地文件上传到git仓库

一、前提1.下载并安装Git客户端→Git官网下载地址2.注册GitHub账号→GitHub官网二、创建本地仓库1.打开存放代码的文件夹目录,鼠标右键选择"Git Bash Here",打开Git命令行窗口;2.初始化本地仓库并配置签名,在命令行窗口依次输入以下命令:1.初始化仓库:git init2.配置签名:① git config user.name "Zhang3" ② git config user.email "zhang3@163.com" --签名配.

2022-04-15 20:20:36 9637

原创 ubuntu上安装QT

前言Qt作为一款C++的跨平台开发框架,不懂在Linux系统上安装怎么行呢?本文带大家详细地走一遍流程~下载Qt Linux安装包首先进入Qt的官方下载页面:https://download.qt.io/archive/qt/5.14/5.14.2/进入之后可以看到分别有Windows,Mac,Linux三个平台的安装包。​直接点击就开始下载了安装1,通过ls命令发现安装包是没有执行权限的,所以要添加以下​2,执行chmod命令添加权限​.

2022-04-11 22:46:14 10044 2

原创 ubuntu上玩云顶

主要是用到腾讯Start云游戏,下面开始教程用的是ubuntu20.04第一步 安装wine和winestrickssudo apt-get install winesudo apt-get install winestricks第二步 还需要在下载一个 Wine 游戏助手winegame.net/然后在 Wine 游戏助手搜索 START 云游戏并安装,这样就能愉快的玩各种游戏了。还可以安装微信,good...

2022-04-11 21:35:42 3299

原创 Wine——在Linux上运行Windows软件

参考:wikipedia教你使用Wine在Linux上运行Windows软件如何安装和使用Wine,以便在Linux上运行Windows应用程序?Ubuntu13.04(64bit)下用Wine安装百度云、360云、微云一、简介Wine是一个在x86、x86-64上容许类Unix操作系统在X Window System下运行Microsoft Windows程序的软件。另一方面,计算机程序设计师能经由Wine的程序库将视窗的程序转移至类Unix操作系统中运行。也有不少软件经过Wi

2022-04-11 21:29:56 15148 5

原创 十三届蓝桥杯嵌入式题目

今年题目挺简单的,就见到考考外设,没什么逻辑。不过第一批发的串口不知道是不是芯片是gd32的原因,串口功能是有问题的。赛前两天找老师要了新的好板子。我的答案有地方可以完善,就是可以那个输错密码三次后闪灯可以先刷新一次页面然后改变灯的状态来实现灯和lcd伪同时进行的现象。我现在就是要等灯闪完后才可以刷新屏幕。还有串口必须接收满七个字符才能进行操作,这个由于我水平有限,希望大佬能指点下。寄!代码昨晚删了。没事反正不难,看看题目就知道怎么写的了...

2022-04-10 19:06:03 475 3

空空如也

空空如也

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

TA关注的人

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