摘要:
UART 通信格式: 空闲位:数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲,没有数据传输。 起始位:当要传输数据的时候先传输一个逻辑“0”,也就是将数据线拉低,表示开始数据传输。 数据位:数据位就是实际要传输的数据,数据位数可选择 5~8 位,我们一般都是按照字节传输数据 阅读全文
摘要:
串的定义: 由0个或多个字符组成的有限序列 //01串_String #include "string.h" #include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #def 阅读全文
摘要:
栈的定义: 仅在表尾进行插入或删除操作的线性表;表尾被称为栈顶,表头为栈底;也即先进后出 顺序栈: 利用一组地址连续的存储单元来存储自栈底到栈顶的元素,同时附设top指示栈顶元素在顺序栈中的位置 //01顺序栈_Stack #include "stdio.h" #include "stdlib.h" 阅读全文
摘要:
1.线性表的特点:(在数据元素的非空集合中) 存在唯一的“第一个”数据元素 存在唯一的“最后一个”数据元素 除第一个元素外,每个元素只存在一个前驱(只适用大部分线性表,循环链表就不符合) 除最后一个元素外,每个元素只存在一个后继(只适用大部分线性表,循环链表就不符合) 1.2顺序表: 特点: 特点: 阅读全文
摘要:
1.Linux的应用程序是怎么调用驱动程序的? 2.应用程序的open是怎么与驱动的open对应起来的?(https://blog.csdn.net/dengdun6257/article/details/102283350) 应用层: 当应用程序调用open打开设备文件时会返回一个文件描述符,以供 阅读全文
摘要:
1:设备树:描述板级硬件信息的内容都从 Linux 内中分离开来,用一个专属的文件格式来描述,这个专属的文件就叫做设备树,文件扩展名为.dts;dtsi 描述 SOC 级信息(也就是 SOC 有几个 CPU、主频是多少、各个外设控制器信息等),一般.dts 描述板级信息(也就是开发板上有哪些 IIC 阅读全文
摘要:
字符设备驱动: 1:驱动模块的加载与卸载 1.1:module_init(xxx_init); //注册模块加载函数,通过insmod或modprobe命令加载驱动的时候,xxx_init 这个函数就会被调用。 例如:insmod chrdevtest.ko ; modprobe chrdevtes 阅读全文
摘要:
1:新建nfs目录以存放我们构建的根文件系统,因为通过nfs挂载根文件系统,更加方便调试工作;在/etc/exports文件中添加如下内容/home/zonda/linux/nfs *(rw,sync,no_root_squash) 2:解压busybox,设置架构与编译器 CROSS_COMPIL 阅读全文
摘要:
1:编译内核 1.1:修改顶层Makefile:定义 ARCH 和 CROSS_COMPILE 这两个的变量值为 arm 和 arm-linux-gnueabihf- 1.2:第一次编译清理一下:make clean 1.3:配置内核:make imx_v7_mfg_defconfig 1.4:编译 阅读全文
摘要:
1:首先新建脚本编译uboot后再好好观察它是怎么回事,编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树 阅读全文