- 博客(16)
- 收藏
- 关注
原创 ARM-Linux驱动开发 gpio-keys子系统源码 (1)-各个结构体内容解析及读设备树函数解析
源码中的gpio-keys驱动(gpio-keys.c)按照input子系统和platform总线编写,驱动文件入口函数为,即挂载platform驱动,出口函数为,卸载platform驱动。
2023-10-08 21:35:14
636
1
原创 Linux图形化配置界面memuconfig详解(二)-Enable loadable module support
打开可装载模块支持,如果打开它则必须通过”make modules_install”把内核模块安装在/lib/modules/中。
2023-08-28 16:15:31
284
1
原创 Linux图形化配置界面memuconfig详解(一)-General setup
交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认不使用。嵌入式linux不需要。
2023-08-28 16:00:37
851
1
原创 Linux顶层编译SHELL和MAKEFILE
作用为清理所有产生的文件和config配置文件。make ARCH=arm选择Linux的版本为arm,CROSS_COMPILE选择编译器,-distclean执行清理。作用为选择预设的.config文件,这里选择的是imx_alientek_emmc_defconfig作用为启动图形化配置界面选择编译使用的资源,-j后的数字越高编译速度越快。
2023-08-27 20:46:55
117
原创 ARM相关知识总结-寄存器
ARM处理器共有37个寄存器,包含31个通用寄存器和6个状态寄存器。(1)31个通用寄存器,包括PC(程序计数器)在内,都是32位的寄存器。(2)6个状态寄存器,都是32位的寄存器。ARM处理器共有七种不同的处理模式:用户模式(User),快速中断模式(FIQ),普通中断模式(IRQ),管理模式(SVC)终止模式(ABT),未定义模式(UND),系统模式(SYS)未分组寄存器R0-R7在所有运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途。
2023-08-02 22:09:20
313
原创 ARM相关知识总结-ARM流水线技术
流水线使用分为三个阶段,因此指令分为三个阶段执行:取址(从存储器装载一条指令)、译码(识别将要被执行的指令)、执行(处理指令并将结果写回寄存器)。PC总是指向正在取址的指令,而不是指向正在执行或正在译码的指令。当ARM工作时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即PC值=当前程序执行位置+8。ARM指令是三级流水线(取值、译址、执行)同时进行的,PC指向正在取址的地址,则CPU正在译址的指令是PC-4,CPU正在执行的指令地址是PC-8。当突然发生中断时,保存的地址是PC的地址。
2023-07-28 22:25:41
337
1
原创 ARM相关知识总结-什么是哈佛结构和冯诺依曼结构
冯诺依曼结构采用指令和数据统一编址,使用同条总线传输,CPU读取指令和数据的操作无法重叠。冯诺依曼结构主要用于通用计算机领域,需要对存储器中的代码和数据频繁的进行修改,统一编址有利于节约资源。
2023-07-28 22:07:09
396
1
原创 ARM相关知识总结
基于ROM运行方式一般都应用于性能较低的芯片,例如STM32,程序运行时需要从flash等rom存储单元取指令运行。对响应速度有要求的部分关键程序、部分变量和代码在运行时需要加载到RAM中运行。芯片的片内RAM资源一般较为紧张,这种运行方式可以节省RAM资源。
2023-07-28 21:57:09
86
1
原创 ARM相关知识总结
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,编译过程就是交叉编译,简单来说,就是在一个平台上生成另一个平台上的可执行代码。
2023-07-28 21:45:50
51
1
原创 ARM相关知识总结-CPU,MPU,MCU,SOC,SOPC联系与差别
CPU,即中央处理器,是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。CPU的运行原理可分为四个阶段:提取、解码、执行和写回。CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程是不断地取出指令、分析指令、执行指令的过程。CPU从存储单元(存储器或高速缓冲存储器)中取出指令,放入指令寄存器,对指令译码,进而执行指令。计算机的可编程性主要指对CPU编程。
2023-07-28 21:20:39
546
1
原创 ARM相关知识总结
相关寄存器:NFCONF:配置寄存器,NFCONT:控制寄存器,NFCMD:命令寄存器,NFADDR:地址寄存器,NFDATA:数据寄存器,NFSTAT:状态寄存器。相关寄存器:NFCONF:配置寄存器,NFCONT:控制寄存器,NFCMD:命令寄存器,NFADDR:地址寄存器,NFDATA:数据寄存器,NFSTAT:状态寄存器。写入速度较快,写之前需要擦除,因此写只能是1–>0,擦除可以使0->1。写入速度较慢,写之前需要擦除,写只能是1->0,擦除可以使0->1。较低,位反转比较常见,必须有校验措施。
2023-07-28 21:06:15
330
1
原创 控制系统仿真学习(1)- 机械手独立PD控制(1)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-01-12 19:05:49
1453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人