自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cortex-A7核IIC实验--采集温湿度传感器的值

停止信号:传输数据结束,时钟线SCL高电平,数据线SDA从低到高(上升沿)2)起始信号:开始数据传输,时钟线SCL高电平,数据线SDA从高到低(下降沿)2)传输速率:低速:100K 中速:400K 全速:3.4M。机模式,但 同一时刻,只能单主机单从机进行通讯。IIC总线传输,既可以传输8位数据位,或者。从机:只能被动接收数据。6)每一个从机设备都有自己唯一的。外接两个上拉电阻的作用。7)发送器:发送数据。传输的数据---必须。

2023-11-08 20:48:47 259

原创 cortex-A7核 中断实验(按键中断实验)

4)设置GICD层中断目标分配给那个CPU(cpu0 cpu1)3)设置中断不屏蔽,EXTI层中断转发到GIC层。3)设置GICD层中断优先级,需高于GICC层。1)设置GPIO引脚信号与EXTI进行连接。2)清除EXTI层中断挂起标志位。3)清除GICD层中断挂起标志位。2)设置GICC层中断优先级。2)设置中断信号的触发方式。2)设置GICD层中断使能。1)设置引脚为 输入模式。1)ARM中:延时消抖。1)使能GICD层使能。1)设置GICC层使能。4)清除获取到的中断号。1)使能GPIOF组。

2023-11-08 19:50:35 903

原创 异常处理流程

引发处理器进入对应的异常模式。

2023-11-07 15:04:48 368

原创 cortex-A7核UART总线及代码

GPIO章节:1)设置复用功能模式 2)设置引脚为对应复用功能。UART4_TX-----PG11------引脚为复用功能。UART4_RX-----PB2-------引脚为复用功能。RCC章节:使能GPIOB/GPIOG/UART4组控制器。章节:1)初始化相关操作 2)实现数据收发、串口配置信息8N1代表什么?各个部件之间传输一种媒介。

2023-10-31 23:15:54 203

原创 设备树(以STM32MP1为例)

设备树并不是从开始就存在,而是后来加入到Linux中,设备树主要用来描述系统的硬件结构。,以提供一个统一的方式来描述各种硬件设备的特性和连接方式。注:软件(例如内核)最终使用二进制设备树文件。它是一个文本文件,通常以。(已编译的设备树二进制文件)为扩展名。注:并不是只有dtsi才能被包含。注:二进制设备树文件。

2023-10-31 11:40:56 175

原创 交叉编译工具链(以STM32MP1为例)

在一个系统上进行编译,在另一个系统上进行执行。

2023-10-30 23:05:38 554

原创 混合编程 ATPCS规范及案例(汇编调用C、C调用汇编、内联汇编)

2.汇编调用C3.内联汇编例子:

2023-10-30 21:21:33 167

原创 汇编的各种指令(数据搬移、移位、位运算、算数、比较、跳转、特殊功能寄存器、单寄存器、多寄存器、栈指针指令)

保存现场:stmfd sp!,{r1-r5,lr}恢复现场:ldmfd sp!

2023-10-30 17:21:13 623

原创 Makefile三个版本的编写、以及分析案例

在Makefile中,会把编译的过程分为两步,先生成.o文件,再对.o文件链接,生成可执行文件。,简化编译的流程,完成自动化编译的过程。Makefile是一个。

2023-10-28 12:33:31 183

原创 图书管理系统的服务器(ubuntu)--使用expoll

【代码】图书管理系统的服务器(ubuntu)--使用expoll。

2023-10-28 10:58:03 175

原创 shell算数运算指令、shell的if分支结构使用场景及相关代码

(( ))$[ ]letexpr。

2023-10-27 22:18:40 194

原创 shell脚本的编写(输入、输出、变量、数组等的使用规范及实例)

例子:例子:作用:把指令的运行结果赋值给变量

2023-10-27 18:42:17 361

原创 I2C子系统、读取温湿度的逻辑及代码

scl:时钟线 sda:数据线起始信号(start):scl是高电平,sda下降沿终止信号(stop):scl高电平,sda上升沿应答信号(ack):第9个周期,sda是低电平非应答信号(NACK:)第9个周期,sda维持高电平: 串行同步半双工1)写时序)读时序。

2023-09-21 18:49:25 249

原创 platform驱动模型(工作流程及代码)

为了能够让驱动更加适配,我们可以在驱动端构建一个名字表。只要设备的名字和名字表中的任何一个名字一样,都可以执行驱动端probe函数内核3.10版本以后要求将所有的设备信息都保存在设备树中,所有以后驱动端获取设备信息都在设备树中获取,所以需要使用驱动端的设备树匹配方式2.

2023-09-20 21:43:34 252

原创 Linux内核中断(内核中断实现过程、注册三个按键中断实例、中断底半部实例、工作队列)

工作队列用于底半部原理:内核中存在工作队列对应的内核线程,这个线程从内核启动就存在,处于休眠态。当有任务需要执行时,只需要将任务提交到工作队列中,然后唤醒休眠的内核线程,由内核线程去处理对应的任务即可。工作队列既可以用于中断,也可以用于进程。

2023-09-19 19:03:44 482

原创 GPIO子系统编写LED灯的驱动、linux内核定时器

一个芯片厂商生产出芯片后会给linux提供一个当前芯片中,我们当前只需要调用对应的厂商驱动即可完成硬件的控制。而linux内核源码中的gpio厂商驱动有很多,这里linux内核对,提供了一系列的API,我们在自己编写的设备驱动中只需要调用这些API即可访问对应的厂商驱动,进而完成GPIO的控制。

2023-09-18 19:03:31 255

原创 epoll的并发服务器(TCP服务器与客户端通信)

【代码】epoll实现TCP的服务器与客户端通信。

2023-09-17 16:37:19 508

原创 linux驱动开发day6--(epoll实现IO多路复用、信号驱动IO、设备树以及节点和属性解析相关API使用)

红黑树、一张表以及三个接口、int epfd=epoll_create(int size--无意义,>0即可)----------成功:返回根节点对应文件描述符,失败:-1a.struct epoll_event event;定义事件结构体b.struct epoll_event events[10];定义存放就绪事件描述符的数组c.添加准备就绪事件进入epoll,如:event.events = EPOLLIN; // 读事件event.data.fd = fd1;epoll_ctl(epfd, EPOL

2023-09-15 20:34:51 593

原创 linux驱动开发--day4(字符设备驱动注册内部流程、及实现备文件和设备的绑定下LED灯实验)

inode对象里字符设备结构体成员(struct cdev)里,有操作方法结构体成员(struct file_operations *ops)4.数组每个成员都是struct file类型,存储的是打开文件的相关信息,里面有操作方法结构体(驱动中的操作方法)去驱使硬件实现特定功能。应用层打开文件系统中的存在文件,会有inode号,且系统内核中就会存在一个inode对象(struct inode)保存文件相关信息。2.在进程里打开一个文件,内核就会存在一个struct file对象,用于保存打开文件的信息。

2023-09-13 20:12:16 379

原创 linux驱动开发---day3(自启动创建设备节点进行点灯实验、ioctl函数实现点灯实验)

用户空间。

2023-09-12 19:40:56 526

原创 驱动开发--day2(内核不同模块的相互访问、字符设备驱动、led控制实验代码及现象)

【代码】驱动开发--day2。

2023-09-07 19:54:40 383

原创 linux驱动开发--day1(驱动、内核模块及相关命令、内核模块传参)

【代码】linux驱动开发--day1(驱动、内核模块及相关命令、内核模块传参)

2023-09-06 19:52:05 304

原创 系统移植--day6(根文件系统的制作,制作根文件系统镜像文件)

2023-09-04 19:38:48 51

原创 系统移植--day5(linux内核移植步骤、分析make menuconfig、kconfig语法)

linux内核移植后测试串口工具的现象:

2023-09-01 20:20:50 47

原创 系统移植--day4(安全版本移植步骤、TF-A移植、开发阶段部署)

移植linux操作系统成功现象:

2023-08-31 19:47:38 102

原创 系统移植--day3(非安全版本启动流程)

config备份成功的现象。

2023-08-30 20:16:17 89

原创 系统移植--day2(uboot的介绍和命令、移植前的准备工作、组网、uboot源码移植)

2023-08-29 19:20:10 52

原创 系统移植--day1(安装tftp以及nfs服务器步骤、gnu二进制工具集、分析Makefile文件)

2023-08-29 18:37:51 65

原创 A7核PWM实验---实现蜂鸣器、马达、风扇

【代码】A7核PWM实验---实现蜂鸣器、马达、风扇。

2023-08-25 18:49:19 146

原创 A7核SPI实验--数码管显示相同和不同的值(SPI总线协议)

【代码】A7核SPI实验--数码管显示相同和不同的值(SPI总线协议)

2023-08-24 18:52:16 117

原创 A7核IIC实验--采集温湿度传感器值(IIC时序、IIC协议的介绍)

【代码】A7核IIC实验--采集温湿度传感器值(IIC时序、IIC协议的介绍)

2023-08-23 21:22:29 95

原创 A7核中断实验

2023-08-22 21:59:39 63

原创 ARM--day7(cortex_M4核LED实验流程、异常源、异常处理模式、异常向量表、异常处理流程、软中断编程、cortex_A7核中断实验)

软中断代码:(keil软件)

2023-08-21 19:21:02 522

原创 ARM--day6(实现字符、字符串收发的代码和现象,分析RCC、GPIO、UART章节)

【代码】ARM--day6(实现字符、字符串收发的代码和现象,分析RCC、GPIO、UART章节)

2023-08-18 19:29:51 267

原创 ARM--day5(C语言点灯实验、总线、串口通信信息、串口通讯协议)

【代码】ARM--day5(C语言点灯实验、总线、串口通信信息、串口通讯协议)

2023-08-17 19:34:58 399

原创 ARM--day4(电灯实验、分析RCC、GPIO控制器,PMOS管、NMOS管的基本原理)

【代码】ARM--day4(电灯实验、分析RCC、GPIO控制器,PMOS管、NMOS管的基本原理)

2023-08-16 18:58:33 460

原创 ARM-day3(特殊功能寄存器指令,内存操作指令,汇编调用C,C调用汇编,内联汇编,双极型晶体管两种类型)

2023-08-15 18:45:12 57

原创 ARM--day2(cpsr、spsr、数据搬移指令、移位操作指令、位运算操作指令、算数运算指令、比较指令、跳转指令)

用for循环实现1~100之间和5050。

2023-08-14 20:30:54 1355

原创 ARM--day1(ARM的相关知识点)

2023-08-10 20:31:50 85

原创 C高级--day5(gdb调试、Makefile语法规则、四版Makefile应用)

2023-08-08 16:07:03 70

空空如也

空空如也

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

TA关注的人

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