自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux驱动编程(一)

其中字符设备驱动是使用最多的一种,从点灯到IIC,SPI,音频设备等的驱动都是字符设备驱动。块设备和网络设备驱动要比字符设备驱动复杂,所谓的块设备驱动就是存储器设备的驱动,比如 EMMC、NAND、SD 卡和U 盘等存储设备,因为这些存储设备的特点是以存储块为基础,因此叫做块设备。网络设备驱动就更好理解了,就是网络驱动,不管是有线的还是无线的,都属于网络设备驱动的范畴。一个设备可以属于多种设备驱动类型,

2025-02-21 23:19:47 1389

原创 linux驱动编程配置----(二)

上次提到启动uboot的步骤,那么接下来需要启动linux内核以及挂载根文件系统。

2025-02-21 22:14:58 356

原创 linux 驱动编程配置(minis3c2440)

SDRAM(同步动态随机存取存储器),同步是指Memory工作需要步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是由指定地址进行数据读写,简单的说,它就是cpu使用的外部内存,即我们常说的内存条。SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,速度比SDRAM快,一般用作高速缓冲存储器(Cache)。

2025-02-20 23:56:58 1737

原创 day 41 51中断系统以及定时器

1.寄存器:具有固定地址值的内存空间,对于soc来说具有特殊的功能的变量。2.中断:当cpu处理事件时,外界发生紧急请求,要求cpu暂停当前工作去处理这个紧急事件,处理完之后回到原来中断的地方,继续原来的工作。3.中断源:产生中断请求的事件本身4.中断向量表:中断函数的入口地址的数组(函数指针数组)

2025-02-07 19:17:30 525

原创 day 40 复习makefile以及51单片机

1.将源文件和头文件以及库分别放在src include lib中2.在源码目录下创建一个名为makefile的文件3.编写makefile代码。4.make编译。

2025-02-06 21:49:50 872

原创 day39 实现在线商品信息的查询系统

【代码】day39 实现在线商品信息的查询系统。

2025-01-15 23:39:05 571

原创 day 27 日志文件(枚举,时间函数),目录io,多文件管理

0##可以直接定义枚举变量,结构体也可以。

2025-01-15 23:16:09 458

原创 day38 tcp 并发 ,linux下的IO模型----IO多路复用

由于tcp协议只能实现一对一的通信模式。为了实现一对多,有以下的的处理方式开销大效率低创建线程需要耗时多线程模型创建线程耗时问题,提前创建在不创建进程和线程的前提下,对多个文件描述符进行同时监测IO:fd读写, 共用一个进程。

2025-01-11 00:19:51 733

原创 day 36 tcp协议粘包问题 http协议

【代码】day 36 tcp协议粘包问题 http协议。

2025-01-09 01:03:53 396

原创 day37

对网站上的天气数据进行查询分析, 最终使客户能够通过简单的操作快速准确的获取目标天气数据。主要包括两部分的功能, 第一部分是实时天气数据查询;第二部分是未来天气数据查询。并且可以由用户选择城市。

2025-01-09 01:01:57 328

原创 day35 ------TCP协议,共享内存练习

也可以三次挥手,但是要确保二三次之间没有数据传输。

2025-01-06 23:37:56 778

原创 day 34网络通信————udp

【代码】day 34网络通信————udp。

2025-01-06 21:59:10 389

原创 day 33 进程间的通信方式---信号通信,共享内存

【代码】day 33 进程间的通信方式---信号通信,共享内存。

2025-01-04 00:56:16 394

原创 day 32 进程间的通信方式---管道

无名管道 :只能给有亲缘关系进程通信(pipe)有名管道 :可以给任意单机进程通信(fifo)共享内存*消息队列信号量集网络通信。

2025-01-03 01:03:23 568

原创 day31线程 互斥与同步

互斥锁一般全局变量,初始化放main函数里。

2025-01-01 23:41:03 514

原创 day 30 线程创建回收,线程属性,指针函数

线程是轻量级的进程定义:正在执行的程序;进程是操作系统资源分配的最小单位;线程是轻量级进程。线程一定属于进程。与同一进程中的其他线程共用进程的堆区,数据区,文本区线程是cpu任务调度的最小单位。资源消耗:进程消耗的资源空间大消耗的资源空间小,只需分配栈区效率角度:创建线程比创建进程效率高任务切换跨进程效率低于跨线程安全角度:由于进程空间独立,所以安全性比线程高。通信角度:进程间不能直接通信,需要使用进程间通信方式(IPC)实现。

2025-01-01 20:45:24 635

原创 day 29 进程exec函数族 ,进程实现无人机模块,exec实现minishell

第一个参数可以是编译后的文件的地址例l:参数以列表形式传递v:参数以指针数组形式传递p:在系统路径下找要执行的代码。

2024-12-31 00:39:54 536

原创 day28 多任务——进程

进程就是正在执行的程序;执行过程中需要消耗内存和cpu内存就是存在硬盘 的的源文件,以及可执行文件,开始执行就是进程。

2024-12-29 03:22:37 639

原创 day26 文件io

标准io是在文件的基础上增加了缓冲区,提高对普通文件操作的效率。文件对底层操作,速度快,一般操作硬件对应的设备文件。文件描述溢出就是文件使用完没有及时关闭文件。:系统为用open打开的文件分配的标识符。使用完时及时释放,避免文件描述符溢出。

2024-12-27 21:37:57 546

原创 day24文件操作--标准IO

数组初始化时长度不能放变量 (例a【n】 ={})

2024-12-20 23:44:59 407

原创 linux文件操作——标准IO

打开文件,读写,关闭。

2024-12-20 00:51:48 445

原创 day_23 二叉树,哈希表,排序以及查找算法

二叉树的操作主要使用递归。

2024-12-19 00:34:49 501

原创 day22 栈,队列,二叉树

栈顶有元素是满栈,反之是空栈。入栈向高地址移动是增,反之减。满增栈:入栈数据时,栈顶先移,后入栈数据,且栈顶向高满增栈地址移动;出栈数据时,先数据出栈后移栈顶,且栈顶向低地址移动。满减栈:入栈数据时,栈顶先移后入栈数据,且栈顶向低地址满减栈移动:出栈数据时,数据先出栈后移栈顶,且栈顶向高地址移动。空增栈:入栈数据时,先入栈数据后移动栈顶,且栈顶向高地址空增栈移动;出栈数据时,先移动栈顶后出栈数据,且栈顶向低地址移动。空减栈:入栈数据时,先入栈数据后移动栈顶,栈顶向低地址移空减栈动;

2024-12-18 00:17:53 713

原创 day-21 内核链表以及栈

找到删除就完事了,双向可以停在删除处。

2024-12-17 00:16:21 1207

原创 day 20______双向链表的操作

快慢指针,如果能相遇就成环.

2024-12-15 22:30:55 483

原创 day19————————单链操作

逻辑:把链表切为两个链表,让从新的链表一个一个取数据在旧的里面排序;(1)切链表(注意不能掉链子,以及切完旧的最后给NULL)(2)大循环是一个一个从新链表里拿,一次循环拿一个,注意拿完数据,最后停在空里面;(3)进入大循环,要从新链子里拿数据插到别的地方,为了不断链子,定义新的保存他的下一个地址,然后进入小循环找在那里插入(4)????????(怎莫找逻辑不清楚)(5)找到之后插入pinsert(注意先连后面再连前面)

2024-12-13 02:03:32 672

原创 day 18——————数据结构单向链表

常用的逻辑关系和物理结构逻辑关系指的是数据之间的关系1.集合2,线性结构:一对一(数组,链表,栈等)3.树形结构:一对多(二叉树)4,图形,多对多物理结构:顺序结构(数组),内存空间连续链式结构(链表),不连续散列结构(哈希存储):将储存位置与关键码之间确立对应关系进行查找的储存方式索引:通过索引表顺序存储结构和链式存储结构的区别,什么场景使用链式结构:在内存中选取一段非连续的内存空间(链表)

2024-12-12 01:18:28 433

原创 day 17

简单实现atoi。

2024-12-10 23:50:32 233

原创 day16

typedef:给现有的数据类型创造一个新的名字#define:定义一个宏名与宏值,在预处理阶段进行替换1.修饰变量,变量不能被赋值,但是通过初始化或者指针间接访问去修改2.修饰指针变量分两种情况,就近原则,char const *p :不能通过指针间接访问去修改值char * const p: 不能修改p1.修饰局部变量扩大他的生命周期,到程序结束。2.全局变量作用域限制在本文件内,防止命名冲突3.函数同上4.匿名变量(临时变量)

2024-12-09 23:54:46 530

原创 day 15

1.结构体的定义放在.h文件中,相当于声明(没开空间),头文件在哪里用放哪里2.结构体相关的四种传参3.\r回到行首刷新4.fflush(stdout)立即刷新控制台5.sleep()延迟。

2024-12-08 01:13:04 465

原创 day14

要点1.对于传入数组地址的函数,a[i],a+i,*(a+i)等都可以使用。2.了解其各个参数,以及compare的含义注意comapar参数是void*类型,需要进行强转才能使用。主管要调用程序员模块,程序员又反过来调用主管写的。通过函数指针的方式进行函数调用 – 叫做回调指针结束。

2024-12-06 23:48:33 562

原创 dya13

错误点:sccanf中不能有\n,记得取地址。

2024-12-05 23:54:09 345

原创 day12

从功能出发,一步步刨析明确递归结束条件。

2024-12-04 23:57:14 223

原创 day 11

说明电脑是小端传输。

2024-12-03 23:27:15 325

原创 day 10

gets()空格截断的字符串被认为是一个,用回车输入多个linux stack 默认8M,可以改变1,函数递归2.打印日历。

2024-12-02 23:56:47 318

原创 day9

需加深对于一维二维数组初始化的细节理解。

2024-12-01 23:48:38 237

原创 day-8

1.下载数据集2. 查看第一个数据的参数,以及数据集分类,六代表青蛙3.打印图片属性5,想使用他,需要转换为tensor类型compose是合并两个操作,此时只使用转换为tensor一个操作。6,之后便可以使用tensorboard了日志文件放在p10循环展示十张图片img已经是tensor类型7 打开网站。

2024-11-30 00:12:22 354

原创 liunx——算法 study day7

生成log文件在终端可以选择端口生成图像。

2024-11-28 23:32:10 521

原创 study day6

1.代码中字符最好用字符表示,改为整形可读性降低。

2024-11-27 23:21:30 468

原创 day 5

[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/fff124f6f2c9445592c6d01ec0c26bc8.png可知取值在01之间。

2024-11-26 23:51:51 842

空空如也

空空如也

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

TA关注的人

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