自定义博客皮肤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)
  • 收藏
  • 关注

原创 pinctrl和gpio子系统

linux下子系统

2024-01-26 17:03:07 230 1

原创 linux下使用设备树的简单字符驱动编写

linux设备树/简单字符设备驱动

2024-01-26 16:24:54 200 1

原创 Linux中OF相关函数

linux设备树的信息读取

2024-01-26 14:57:49 238 1

原创 Linux无设备树简单寄存器读写

Linux字符设备驱动、虚拟内存与硬件地址映射

2024-01-25 20:19:58 251 1

原创 Linux中file_operations结构体

file_operation常用函数

2024-01-23 20:52:51 433 1

原创 Linux文件目录

1.1 arch/arm/boot目录中,包含了编译好的ZImage、Image等内核的镜像文件。1.2 arch/arm/boot/dts目录中,含有板载信息的设备树二进制文件xxxx.dtb。3最后,将相关的ZImage和xxx.dtb文件通过nfs下载到ARM设备上。1.3 arch/arm/configs目录条件编译的选项,1 .交叉编译过程中配置及生成的相关文件目录。2.配置vscode工程,排除不相关文件。

2024-01-23 15:56:55 348 1

原创 uboot笔记

uboot的目录结构1.1 api关于与硬件 不相关的api函数1.2 arch文件中包含了与架构相关代码,主要看/arm文件夹下1.3 board文件夹主要与板卡信息相关,找到该文件夹下对应板卡的文件如/board/freescale/mx6ullevk/文件夹下的xxx.c文件1.4 configs文件夹包含了配置信息,最终的uboot.bin文件会通过如下方式得到1.5 include/configs/xx.h文件和xxx.c文件,对uboot进行配置,主要初始化串口、mmc,ddr及

2024-01-22 16:01:24 342

原创 Linux内核通过uboot自动加载

其中mmc中的文件如何下载,可通过FAT格式的指令,如。Uboot启动后加载kernel及rootfs。零EXT格式文件及其他类型类比查询。1.1 通过网络的方式加载。1.2 从mmc中下载。

2024-01-21 22:34:39 330 1

原创 C#字节数组和字符数组与字符串之间的转换

C#笔记

2022-06-22 19:10:33 981 1

原创 opencv人脸识别

在这里插入代码片#include<opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc_c.h>#include <opencv2/imgproc.hpp>#include <opencv2/core/core.hpp>#include <opencv2/objdetect/objdetect.hpp>#include <iostream>using

2021-06-30 16:48:18 165 2

原创 基于Qt的简易局域网聊天工具mychar

该实例乃是《Qt及Qt quick开发实战精解》第五章案例:主要基于UDP与TCP实现消息传递和文件传输,其具体主窗口函数和布局如下在这里插入代码片//widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include<QUdpSocket>class TcpServer;//表示消息,新用户加入,用户退出,文件名,拒绝文件enum MessageType{ Message , NewPartici

2021-06-19 20:46:41 818 3

原创 c++中int和string转化

一、int转换成stringstring to_string(int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);string

2021-06-18 20:45:49 320

原创 atoi()和stoi()函数的用法和区别

相同点:都是c++的字符处理函数,把数字字符串转换成int输出。不同点:atoi()的参数是 const char* ,因此对于一个字符串str我们必须调用 c_str()的方法把这个string转换成 const char类型的,而stoi()的参数是const string,不需要转化为 const char*在这里插入代码片cout<< atoi(str.c_str()<<endl;stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runti

2021-06-07 17:06:36 423

原创 linux内核下半部:软中断、tasklet、工作队列

#软中断、tasklet和工作队列是linux中存在的关于中断下半部的机制,更早之前的内核中的“小半部”(bottom half)演变而来(1)、 中断上半部和小半部的区别上半部是指中断处理程序,其对于时间敏感,如键盘事件需要能立即响应,应用中断实现。下半部是指一些虽然与中断相关但是可以延后处理的程序。如网络传输中,网卡收到数据包事件不一定需要马上被处理。两者区别:中断不能被相同类型的中断打断,而下半部依然可以被中断打断;中断对于时间非常敏感,而下半部基本上都是一些可以延迟的工作。由于二者的这种区别,

2021-06-02 11:20:48 251

原创 priority_queue用法记录

#优先对列优先队列具有队列的所有特性,包括队列的基本操作`#top 访问队头元素#empty 对列是否为空#size 返回对列内元素个数#push 插入元素到队尾#pop 弹出队头元素#swap 交换内容#emplace 原地构造一个元素并插入对列中#include<queue>//升序对列priority_queue<int,vector<int>,greater<int>> q;//降序对列 默认为降序对类可食用p

2021-05-24 19:05:22 69

原创 linux中线程的4中锁机制

1.互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当 获取锁擦操作失败时,线程会进入睡眠,等待锁释放时被唤醒。在这里插入代码片pthread_mutex_t Device_mutex ;int count=0;void thread_func1(){ while(1) { pthread_mutex_lock(&Device_mutex); printf("thread1: %dn",count); pthread_mutex_unlock(&

2021-05-20 16:42:35 221 1

原创 进程间通信之管道

#匿名管道匿名管道作为进程间通信的方式之一,有大小受限(一般65536)、半双工和在有亲缘关系的进程中使用的特点。使用int pipe(int fds[2])函数创建,fds[0]代表读; fds[1] 代表写 ; 函数成功返回0在这里插入代码片#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>//父子进程间通信int main(void)

2021-05-20 15:06:00 100

原创 基于Arduino的智能垃圾桶

#斜体样式智能垃圾桶概述:现实生活中家庭中都会有一个小型的垃圾桶或者纸篓,但是在使用的过程中都会遇见以下情况,当需要扔一张废纸时需要跑到垃圾桶所在位置,回来时却打断了思路和灵感…#方案实现:以Arduino版为控制中心的主控单元,添加以下模块:1、无线遥控功能,在垃圾桶主体设置一个信号接收模块,以及外置遥控器,当其发送控制指令时,接收模块接受指令,并将信号转化为电信号发送给主控Arduino,再由主控单元处理并发出指令,驱动发动机转动和控制轮子以改变方向。2、自动避障功能,设置一个避障模块和电机驱

2021-05-17 15:01:17 2970 3

空空如也

空空如也

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

TA关注的人

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