- 博客(55)
- 收藏
- 关注
原创 day54-驱动之系统移植
Linux内核Linux系统5大子模块,互相关联1.内存管理2.多任务(时间轮转调度算法)3.多任务间的通信(进程间通信)4.文件系统的管理(IO一切皆是文件)所有的硬件设备都可以以文件的形式显示在操作系统中5.网络功能(协议栈、TCP/IP、蓝牙、zigbee)Shell:1.保护内核2.命令解释器库函数:库函数:针对与系统调用的封装 fopen、 fclose、fputs。
2025-07-03 20:06:12
1150
原创 day50-硬件学习之I2C(III)及SPI
SPI其中,MOSI(主出从入);MISO(主入从出);CS(片选信号[chip select],一般低电平有效)
2025-06-28 15:18:26
611
原创 day48-硬件学习之GPT定时器、UART及I2C
先发送起始位,传输设备地址和数据流向位,数据流向位为低电平(表示主机向从机发送信息),接受从机应答(ACK)后,发送数据存放地址,从机应答,发送数据内容,发送完毕,从机发送应答,主机在时钟信号线为高电平时,将数据线由低电平拉向高电平,结束发送。从机发送数据,主机发送应答信号;(2)传输数据,根据高位先行原则(MSB)且在低电平时,发送方可以修改SDA,高电平时不可以修改SDA,是接收方接收的时间;(3)发送完一个字节后,等待接收方应答信号,若为低电平,则表示已接收(ACK),反之为NACK。
2025-06-26 20:18:32
953
原创 day46-硬件学习之 小练习及中断
首先在新的工程文件夹里创建一个之后我们编写的类似led驱动,clk驱动等等外设驱动程序都放在这文件夹里面,,用来保存NXP的相关库cc.h、fsl_common.h、fsl_iomuxch和 MCIMX6Y2.h 这四个文件;是指在处理器发生异常时,通过改变异常向量表的物理地址与逻辑地址之间的映射关系。GPIOx_IMR //设置中断屏蔽寄存器 ,若为1,开中断。,存放 start.s和 main.c 文件,也就是应用文件;GPIOx_ISR //设置中断标记寄存器 ,
2025-06-24 21:02:47
689
原创 day45-硬件学习之GUN工具链常用工具、SDK工具及链接脚本
1. .bss段用于存放未初始化或初始化为0的数据在运行时会被自动清零- 典型例子://静态变量(全局或局部)//显式初始化为0的全局变量2.COMMON段用于存放未初始化的非静态全局变量链接时才确定最终大小和位置允许多个目标文件定义同名符号- 典型例子://未初始化的非静态全局变量3. .data段用于存放已初始化的全局变量和静态变量(非零值)需要在程序文件中保存实际的初始值- 典型例子:// 初始化为非零值// 初始化为非零数组。
2025-06-23 18:44:30
736
原创 day44-硬件学习之arm启动代码
(2) 于r0中,设置相关数据,设为User模式(10000)(1) msr指令:读取cpsr、spsr寄存器。(3) msr指令:写入cpsr、spsr寄存器。在汇编中,声明c的函数,import main。保护时,SP先写,再加;恢复时,SP先减,再读;保护时,SP先加,再写;恢复时,SP先读,再减;保护时,SP先减,再写;恢复时,SP先读,再加;保护时,SP先写,再减;恢复时,SP先加,再读;(4)将User模式下的SP进行设置。入栈保护时,使用stmfd指令;出栈恢复时,使用ldmfd指令;
2025-06-21 18:49:24
2491
1
原创 day42-硬件学习之温度传感器及(ARM体系架构)
两个或多个输出信号连接在一起可以实现逻辑“与”的功能。51单片机ds18b20公共总线111100010000拉高的过程为释放总线的过程;接收方一定要释放总线,来实现接收数据;上拉电阻:保证双方释放总线后,总线能够呈现高电平;首先,DS18B20的小数点是定点存放的,低四位为二进制小数,高十二位为整数部分,最低的小数部分为0.0625;ARM Cortex A(应用于消费类电子产品)M(应用于微控制器MAU方向,如STM32)R(应用于实时性方向,如军事,通信)
2025-06-19 19:13:32
762
2
原创 day40- 硬件学习之 51单片机II (中断处理)
中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断;实现这种功能的部件称为中断系统请示CPU中断的请求源称为中断源51单片机中嵌套优先级最多两层;若中断优先级相同,中断号越小,越先响应;中断源发出中断请求;CPU检查是否响应中断及该中断源是否屏蔽;检查中断优先级;保护现场;执行中断服务函数;恢复现场;
2025-06-17 18:47:49
803
原创 day39-硬件学习简介及51单片机
在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序;位选:选择哪个数码管显示(LEDS1、LEDS2、LEDS3、LEDS4来控制)GPIO(general purpose in out)通用目的的输入输出。注意:本次共阴极,在三极管中,将P10置一,LEDS1即为0被选中。段选:选择数码管中某段的亮灭状况(P0来控制)sfr 特殊功能寄存器。
2025-06-16 19:10:43
1177
原创 day37-TCP的并发(tcp_fork&&tcp_thread)| 数据库
vim中对齐:按v和=快速对齐:61,75d直接剪切,61-75行。
2025-06-10 17:46:09
897
原创 day36-多路IO复用
比如我现在用的电脑,需要同时处理键盘鼠标的输入、中断信号等等事件,再比如web服务器如nginx,需要同时处理来来自N个客户端的事件。逻辑控制流在时间上的重叠叫做 并发(时间段是并行,但时间点上是串行的)并行:在一个时间点上同时运行。而CPU单核在同一时刻只能做一件事情,一种解决办法是。
2025-06-09 23:31:44
1962
原创 day35-系统编程之网络编程IV及MQTT协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。2.2设计原则。
2025-06-06 17:21:50
1009
原创 day34- 系统编程之 网络编程(TCP)
什么是P2P?P2P(Peer-to-Peer)网络是一种分布式网络架构,其中每个节点(或称为“对等体”)都是网络的参与者,节点之间直接进行数据交换与通信有链接,可靠传输方式应答机制超时重传全双工连续,无边界有顺序三次握手:(握手触发在accept()和connect()函数之间,断开出现在双方调close());UDP称为用户报TCP称为流式套接字注意:内容是有顺序的。
2025-06-05 22:16:41
1322
原创 day33-系统编程之 信号通信II 及 网络编程
OSI 模型 ===》开放系统互联模型 ==》分为7层:理想模型 ==》尚未实现tftpa /etc/123//此七层,自下向上看应用层表示层加密解密 gzip会话层网络断开,连接状态,keep-close keep-alive传输层tcp协议//可靠传输方式,但网络延迟大 udp协议//不可靠传输方式,可能会数据缺失,但网络延迟低,开销小 传输:文件(TCP) (实时性,UDP) 视频,音频网路层ip NAT链路层。
2025-06-04 17:11:16
880
原创 day32-系统编程之 进程间通信IPC
空间独立,需要一些操作;分为三大类:1、古老的通信方式无名管道 有名管道 信号2、IPC对象通信 system v BSD suse fedora kernel.org消息队列(用的相对少,这里不讨论)共享内存信号量集3、socket通信网络通信(不同主机间交互)
2025-06-03 18:29:02
849
原创 day29- 系统编程之线程
共同点:都可并发优点: 比多进程节省资源,可以。概念: 线程是轻量级进程,一般是一个进程中的多个任务。进程是系统中线程是系统中特征:1、共享资源(线程共享,进程不共享)2、效率高 30%(并发度更高,调度比进程更快)3、三方库: pthread clone posix (一种协议,便于移植)3.1 编写代码头文件: pthread.h3.2 编译代码加载库: -lpthread library缺点:1,线程和进程相比,2,线程的调试gdb,些。
2025-05-27 22:00:09
868
原创 day27- 系统编程之 进程
sprintf函数打印到字符串中(要注意字符串的长度要足够容纳打印的内容,否则会出现内存溢出),而printf函数打印输出到屏幕上。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛除了外,可选参数可以是任意个。buffer是名;format是格式化字符串(像:”%3d%6.2f%#x%o”)可以将多个数值数据连接起来可以将多个字符串连接成字符串。
2025-05-23 18:39:32
1105
1
原创 day25- 系统编程之 标准IO(II) 及 文件IO
为了匹配计算机与设备之间的速度,让低速的输入输出设备和高速的用户程序能够协调工作行缓冲,1k,terminal(终端),主要用于人机交互stdout缓存区满或者遇到\n刷新 1024行缓存多是关于终端的一些操作1.遇到\n刷新2.缓存区满刷新3.程序结束刷新4.fflush刷新 fflush(stdout);FILE*fp stdin stdout stderr //主要刷输出方向全缓冲,4k,主要用于文件的读写缓存区满刷新缓存区 4096。
2025-05-21 20:22:58
2546
原创 day24- 系统编程 概述 及 标准IO
I: 键盘是标准输入设备 默认输入就是指键盘 /dev/inputO: 显示器是标准输出设备 默认输出就是指显示器一般都是对普通文件操作是一种有缓存的IO 在文件IO和用户程序之间,加入缓冲区,可以有效减少系统调用的效率,节省系统IO调度资源linux中一切都是文件。文件用来存储数据(数据,指令)
2025-05-20 18:04:49
1291
原创 day23-数据结构之 树
树:n(n>=0)个结点的有限集合n = 0 ,空树在任意一个非空树中,树的度数是指,这棵树中,最大的结点的度数,称谓树的度数树的深度或高度,从根开始,根为第一层,根的孩子为第二层。
2025-05-19 18:29:58
1184
原创 day17-结构体与共用体&位运算
为原有的数据类型,起一个别名;int INT;//INT为变量名(具体)//INT为类型名(抽象)int id;//起别名int id;}Student;
2025-05-09 17:23:42
809
原创 day16-指针IV
如: int (*p)(int ,int) // 此时p指向一类两个整形作为参数且返回值为基类型的指针。首先,写函数声明,去掉函数名,在去掉的位置加(*p)int *a[10];函数的函数名为该函数的入口地址。
2025-05-08 17:22:27
535
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅