U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(17): Entry.h
来源:互联网 发布:淘宝商家发快递的成本 编辑:程序博客网 时间:2024/05/18 00:52
在include/asm/entry.h中定义了几个用于中断处理时的宏,如下所示:
/*
* Code to save processor context.
* We even save the register which are preserved by a function call
* - r4, r5, r6, r7, p3, p4, p5
*/
.macro save_context_with_interrupts
[--sp] = R0;
[--sp] = ( R7:0, P5:0 );
[--sp] = fp;
[--sp] = usp;
。。。
.endm
.macro save_context_no_interrupts
[--sp] = R0;
[--sp] = ( R7:0, P5:0 );
[--sp] = fp;
[--sp] = usp;
。。。
.endm
.macro restore_context_no_interrupts
sp += 4;
SYSCFG = [sp++];
SEQSTAT = [sp++];
RETE = [sp++];
RETN = [sp++];
RETX = [sp++];
r0 = [sp++];
RETI = r0;
RETS = [sp++];
。。。
.endm
.macro restore_context_with_interrupts
sp += 4;
SYSCFG = [sp++];
SEQSTAT = [sp++];
RETE = [sp++];
RETN = [sp++];
RETX = [sp++];
RETI = [sp++];
RETS = [sp++];
。。。
.endm
在之前的文章提过,应该用define来代替.macro,行动起来吧!
不过这里还有一个问题:
( R7 : 0, P5 : 0) = [ SP ++ ]; /
在VDSP下必须写成:
( R7:0, P5:0) = [ SP ++ ]; /
就是空格惹的祸。
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(17): Entry.h
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(4):提示信息
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(5):ENDPROC
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(10):__xchg
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(11):bsz
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(13):使用L1
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(15):DECLARE_GLOBAL_DATA_PTR
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(16):*cplb_add
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(18):const
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(19):分号惹祸
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(21):收工
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(6):使用u-boot的crt代码
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(7):改造u-boot.lds.s
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:#if
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(2): .macro
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(3): 汇编空语句
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:全文
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(9):bool的问题
- Linux系统下的多线程编程入门
- 需要注意的C++中11个要点
- 什么是Ajax?
- 商业智能BI的困惑
- 触发器的样例,存储过程样例
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(17): Entry.h
- Ajax让Web设计人性化:新应用 新体验
- 增量处理解决方案
- 浅析Java语言中两种异常的差别
- 单件模式 Single Pattern HeadFirst学习系列
- 加壳相关的一点点知识,跟病毒类似
- 注入DLL的几种方法
- IBM Google等巨头联手支持Open Ajax计划
- 平均值滤波之鬼斧神工算法