中断向量表LED test
来源:互联网 发布:沙钢网络培训教育学院 编辑:程序博客网 时间:2024/05/16 05:53
.text.global _start_start: b reset ldr pc,_undefined_instruction ldr pc,_software_interrupt ldr pc,_prefetch_abort ldr pc,_data_abort ldr pc,_not_used ldr pc,_irq ldr pc,_fiq_undefined_instruction: .word _undefined_instruction_software_interrupt: .word _software_interrupt_prefetch_abort: .word _prefetch_abort_data_abort: .word _data_abort_not_unsed: .word _not_used_irq: .word irq_handler_fiq: .word _fiqreset: ldr r0,=0x40008000 mcr p15,0,r0,c12,c0,0 @ Vector Base Address Register mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0 @ Enable svc mode of cpu mov r0,#0xfffffff mcr p15,0,r0,c1,c0,2 @ Defines access permissins for each coprocessor /* * Invalidate L1 I/D */ mov r0,#0 @set up for MCR mcr p15,0,r0,c8,c7,0 @invalidate TLBs mcr p15,0,r0,c7,c5,0 @invalidate icache @ Set the FPEXC EN bit to enable the FPU: MOV r3,#0x40000000 fmxr FPEXC,r3 /* * disable MMU stuff and caches */ mrc r15,0,r0,c1,c0,0 bic r0,r0,#0x00002000 @ clear bits 13 (--V-) bic r0,r0,#0x00000007 @ clear bits 2:0 (-CAM) orr r0,r0,#0x00001000 @ set bit 12 (---I) Icache orr r0,r0,#0x00000002 @ set bit 1 (--A-) Align orr r0,r0,#0x00000800 @ set bit 11 (Z---) BTB mcr p15,0,r0,c1,c0,0/*LED Test Code*/ ldr r0,=0x114001E0 ldr r1,[r0] bic r1,r1,#0xf0000 orr r1,r1,#0x10000 str r1,[r0] ldr r0,=0x114001E8 ldr r1,[r0] bic r1,r1,#0x300 str r1,[r0] ldr r0,=0x114001E4 ldr r1,[r0] orr r1,r1,#0x10 str r1,[r0]init_stack: ldr r0,stacktop /*get stack top pointer*/ /**********svc mode stack*************/ mov sp,r0 sub r0,#128*4 /*512 byte for irq mode of stack*/ /****irq mode stack**/ msr cpsr,#0xd2 mov sp,r0 sub r0,#128*4 /***fiq mode stack***/ msr cpsr,#0xdl mov sp,r0 sub r0,#0 /***abort mode stack***/ msr cpsr,#0xd7 mov sp,r0 sub r0,#0 /***undefine mode stack***/ msr cpsr,#0xdb mov sp,r0 sub r0,#0 /*** sys mode and usr mode stack ***/ msr cpsr,#0x10 mov sp,r0 /*1024 byte for user mode of stack*/ b main .align 4 /**** swi_interrupt handler ****/irq_handler: sub lr,lr,#4 stmfd sp!,{r0-r12,lr}// bl do_irq ldmfd sp!,{r0-r12,pc}^stacktop: .word stack+4*512.datastack: .apace 4*512
阅读全文
0 0
- 中断向量表LED test
- 浅析中断向量表
- 中断向量表
- 中断向量表
- 中断向量表
- 中断向量表
- 中断向量表
- 中断向量表
- 中断向量表
- BIOS中断向量表
- XS128 中断向量表
- 中断向量表小计
- STM8中断向量表
- x86中断向量表
- ARM 中断向量表
- 中断向量表
- 8086中断向量表
- 中断向量表
- day_11_9 实现数组交换,排序
- 不再傻傻分不清:atoi, itoa, iota
- C语言学习内容总结2017/11/2
- 343. Integer Break (动态规划)
- BAT文件语法和技巧(bat文件的编写及使用)
- 中断向量表LED test
- 贪心(未完成)
- 【摘抄】字符串的再次补充(常量池)
- Java Lambda表达式入门
- 数据库为何要有复合主键(多主键)
- Unity API常用方法和类的解析
- poj2367Genealogical tree 拓扑排序
- java.util.concurrent.TimeUtil类
- 洛谷P2639 [USACO09OCT]Bessie的体重问题Bessie's Weight Probiem