ARM学习笔记020之_asm_、CPSR、SPSR、位置无关码等问题
来源:互联网 发布:javascript delay 编辑:程序博客网 时间:2024/05/22 00:34
2014-01-05
1、_asm_:warning: implicit declaration of function '_asm_'
如果asm两边都是两个下划线就没有错误了:__asm__
2、 makefile中-O -S必须大写
3、lds文件中:SECTIONS必须大写
4、ARM920T 包含了一个当前程序状态寄存器(Current Program Status Register-CPSR),另外还有5 个用于异
常程序处理的程序状态保存寄存器(Saved Program Status Registers-SPSR)。这些寄存器的功能为:
● 保存最近已处理的ALU 操作的信息
● 控制中断的使能与禁止
● 设置处理器的运行模式
CPSR是指这个寄存器的整个32位,而CPSR_C是指其【7:0】这8个控制位
5、如果memsetup中各寄存器的值不设置为位置无关码,就会出现如下连接错误:
原因是这样的,我们先看一下s汇编文件:
存储管理器都没有设置好,memsetup后面的函数编译器自然不认识。
在链接脚本lds中,全部代码的起始运行地址都被设为0x30000000,但在memsetup中代码还在内部SRAM(steppingstone)中,为了能够在steppingstone运行这个函数,memsetup中的寄存器就应该位置无关,手动赋值。如果赋值时使用了数组,就是位置相关了,因为数组是局部变量或者全局变量,在调用它时会涉及到地址。
6、在设置一些寄存器时,如果某些位为1,某些位为0,我们最好使用直接给寄存器赋值的方法。如果用位操作,就需要使用两条语句:”&=~(1<<n)“,“|=(1<<n)”(这两个没有先后顺序)
1、_asm_:warning: implicit declaration of function '_asm_'
如果asm两边都是两个下划线就没有错误了:__asm__
2、 makefile中-O -S必须大写
3、lds文件中:SECTIONS必须大写
4、ARM920T 包含了一个当前程序状态寄存器(Current Program Status Register-CPSR),另外还有5 个用于异
常程序处理的程序状态保存寄存器(Saved Program Status Registers-SPSR)。这些寄存器的功能为:
● 保存最近已处理的ALU 操作的信息
● 控制中断的使能与禁止
● 设置处理器的运行模式
CPSR是指这个寄存器的整个32位,而CPSR_C是指其【7:0】这8个控制位
5、如果memsetup中各寄存器的值不设置为位置无关码,就会出现如下连接错误:
原因是这样的,我们先看一下s汇编文件:
存储管理器都没有设置好,memsetup后面的函数编译器自然不认识。
在链接脚本lds中,全部代码的起始运行地址都被设为0x30000000,但在memsetup中代码还在内部SRAM(steppingstone)中,为了能够在steppingstone运行这个函数,memsetup中的寄存器就应该位置无关,手动赋值。如果赋值时使用了数组,就是位置相关了,因为数组是局部变量或者全局变量,在调用它时会涉及到地址。
6、在设置一些寄存器时,如果某些位为1,某些位为0,我们最好使用直接给寄存器赋值的方法。如果用位操作,就需要使用两条语句:”&=~(1<<n)“,“|=(1<<n)”(这两个没有先后顺序)
0 0
- ARM学习笔记020之_asm_、CPSR、SPSR、位置无关码等问题
- ARM CPSR+SPSR
- ARM CPSR+SPSR
- ARM状态寄存器 CPSR SPSR
- ARM CPSR/SPSR 的示意图
- ARM状态寄存器CPSR SPSR
- ARM CPSR/SPSR 的示意图
- arm 中cpsr和spsr
- cheng@ARM结构与编程之day3-CPSR+SPSR
- ARM体系中的CPSR与SPSR
- arm中CPSR,SPSR功能与访问
- ARM CPSR/SPSR (Program status registers)
- arm CPSR/SPSR寄存器的访问、修改
- CPSR SPSR
- CPSR SPSR
- CPSR SPSR
- ARM的位置无关码
- ARM处理器的程序状态寄存器(CPSR,SPSR)访问指令
- gbk-utf8 在java类中进行转换
- 学习自动收集表统计信息比较重要的几个数字字典
- cmd循环调用native2ascii.exe
- 解析JSON问题(一)包含特殊字符
- 修改Chrome打开mms链接的默认程序
- ARM学习笔记020之_asm_、CPSR、SPSR、位置无关码等问题
- XP定时关机、查看和取消指令
- Create Aliases in Ubuntu
- JDBC连接MySQL数据库及示例 (http://blog.csdn.net/cxwen78/article/details/6863696)
- 新浪微博登录,QQ登录网页javascript脚本实现RSA加密的原理
- HBase技术介绍
- android include标签的使用,在RelativeLayout中使用include标签需注意!!!!!
- 16、高级工具页面设计
- 计算机书籍小结