首页1
发现
标签
搜索
注册
登录
首页
全书
全文
蜘蛛
搜索
注册
登录
搜索
软件工具 SofTool.CN
本次搜索耗时
0.331
秒,为您找到
208
个相关结果.
搜书籍
搜文档
11_看门狗驱动
6362
2020-12-26
《Linux 嵌入式开发》
看门狗的用途是当cpu进入到错误状态后,无法恢复的情况下,使系统重新启动。Linux内核已经支持s3c2416的看门狗驱动。 1. watchdog设备 watchdog设备包含了名字、独有的资源等等一些驱动程序的硬件或自定义信息。通过platform_add_devices(platform_device_register)函数将定义的平台设备注册到...
06_MMU映射
6335
2020-12-26
《S3C2416 裸机开发》
S3C2416带有CP15协处理器,里面集成了16KB的I/D-Cache和MMU。MMU负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。笔者此处就MMU的使用作一个简单的介绍。 1. MMU映射时存储器访问 ARM CPU使用表格存储虚拟地址对应的物理地址,这类表格称为页表 ,页表由一个个条目组成,每个条目存储了一段虚拟地址对应的物理...
三步自动创建Makefile的流程
6293
2021-05-04
《Autotools 学习笔记》
Autotools自动创建Makefile流程的三步 1. 生成配置脚本 configure 2. 生成 Makefile的通用规则文件是 Makefile.in 3. 通过 configure 生成 Makefile 两个需要手动重点修改编写的文件示例 手动修改 configure.ac 手动编写 Makefile.am Autotoo...
条件码 条件助记符
6279
2020-12-25
《ARM 汇编》
规则: 当处理器工作在ARM状态 时,几乎所有的指令均根据CPSR中条件码的状态 和指令的条件域 有条件的执行; 当指令的执行条件满足时,指令被执行 ,否则指令被忽略; 条件码和条件助记符: 每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28] ; 共有16种条件码,每种条件码可用2个字符(简称:条件助记符)表示,这2个字符可以添...
CODE16
6203
2020-12-25
《ARM 汇编》
语法: CODE16 功能: CODE16伪指令通知编译器,其后的指令序列为16位的Thumb指令。 若在汇编源程序中同时包含ARM指令和Thumb指令时,可用CODE16伪指令通知编译器其后的指令序列为16位的Thumb指令,CODE32伪指令 通知编译器其后的指令序列为32位的ARM指令。因此,在使用ARM指令和Thumb指令混合编程的代码...
09_重点
6184
2021-02-18
《ARM32 内核是如何启动?》
重点 重点 _mmapswitched 位于文件 arch/arm/kernel/head-common.S 中,会执行一些特殊的事情。 首先是一条异常语句,又是因为原地执行(XIP):尽管内核的 .text 段可以继续在ROM中执行,但无法在 .data 段中保存任何变量。所以首先需要通过将该段复制到RAM中,或者使用某些代码将其解压到RAM中的...
CODE32
6172
2020-12-25
《ARM 汇编》
语法: CODE32 功能: CODE32伪指令通知编译器,其后的指令序列为32位的ARM指令。 若在汇编源程序中同时包含ARM指令和Thumb指令时,可用CODE16伪指令通知编译器其后的指令序列为16位的Thumb指令,CODE32伪指令 通知编译器其后的指令序列为32位的ARM指令。因此,在使用ARM指令和Thumb指令混合编程的代码里,...
EQU
6164
2020-12-25
《ARM 汇编》
语法: 名称 EQU 表达式 {类型} 备注:EQU可用 * 代替名称 为EQU伪指令定义的字符名称表达式 为32位的常量时,可以指定表达式的数据类型,可以有三种类型: CODE16、CODE32 和 DATA 功能: EQU 伪指令用于为程序中的常量、标号等定义一个等效的字符名称,类似于 C 语言中的 #define 例1: SO...
03_执行
6157
2021-02-18
《ARM32 内核是如何启动?》
在哪里执行? 在哪里执行? 我们继续看 arch/arm/kernel/head.S 处的符号 stext() 。 下一步就是处理在未知内存地址处运行的问题。 内核可以加载到任何地方(只要是合理的偶数地址 即可)并执行,所以我们要处理这一点。注意内核代码不是位置无关的,内核经过编译和连接后,必须在特定的地址执行。但我们还不知道这个地址。 内核...
05_连续加载及存储
6117
2021-02-16
《ARM Assembly Basics [中文版]》
连续加载/存储 PUSH和POP 连续加载/存储 有时连续加载(存储)会显得更加高效。因为我们可以使用LDM(load multiple)以及STM(store multiple)。这些指令基于起始地址的不同,有不同的形式。下面是我们会在这一节用到的相关代码。在下文中会详细讲解。 .data array_buff: .word 0x000000...
1..
«
8
9
10
11
»
..21