- 博客(14)
- 收藏
- 关注
原创 ioctrl
问题:下面这句话的意思我不是很懂,请帮我举例子。设计出 ioctl 函数的主要原因是:内核设计者希望将用户空间和内核空间的驱动模块的交互分成两部分:数据读写以及状态控制。引入 ioctl 函数之后,数据读写和状态控制将被区分开进行管理,互不干扰。ioctl(Input/Output Control)函数是Unix和类Unix系统(包括Linux)中用于设备I/O操作的一个系统调用。它提供了一种机制,允许用户空间程序向设备驱动程序发送控制命令或查询设备状态,同时它也可以用于数据的特殊传输,但这些通常不是。
2024-09-21 21:51:29 238
原创 同步异步传输
这种传输方式利用每一帧的起、止信号来建立发送与接收之间的同步。特点是:每帧内部各位均采用固定的时间间隔,而帧与帧之间的间隔时随即的。同步通信进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。可以这样说,不管是异步通信还是同步通信都需要进行同步,只是异步通信通过传送字符内的起始位来进行同步,而同步通信采用共用外部时钟来进行同步。所以,可以说前者是自同步,后者是外同步。每传输一个字符就用起始位来进来收、发双方的同步。不会因收发双方的时钟频率的小的偏差导致错误。
2024-09-05 20:49:35 264
原创 大小端存储,借鉴笔记
我们常用的 X86 结构是小端模式,而 KEIL C51 则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。计算机读数据是从地位开始读的,先分清高低位。在所表示的数据的内存的第一个字节中,便于。2.内存的低地址处存放低字节,所以在。1.CPU做数值运算时。,这样的运算方式会更。
2024-08-18 22:21:39 115
原创 bootload和kernel的区分之:嵌入式系统启动流程
板子上电的第一个程序bootloader =>> 硬件初始化 ,加载内核 == kernel(uImage)=>>初始化,挂在rootfs ===APP。
2024-07-05 17:58:35 99
原创 uboot启动步骤
1.设置为svc模式获取最高权限。为了避免影响,关闭中断,mmu,看门狗等。2.基本硬件初始化,包括时钟,串口,flash,内存等。(uboot to ram)1.大部分硬件初始化(sd卡,usb等)2.搬移内核到内存。4.设置好栈,跳转到c部分。
2024-07-05 17:36:17 113
原创 关于字符数组和字符串
char a[]={'a','b','c'} 这是一个字符数组,占3个字节。 char a[]="abc" 则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节char占一个字节char*占两个字节
2022-08-20 22:20:55 497
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人