ARM中异常模式的跳转
时间:11-09
来源:互联网
点击:
View Code
在程序中,
volitale_init()函数的作用就是获得处理异常函数的地址,存到变量source中并返回.
voctor_start汇编函数主要就是实现了从SVR模式跳入到UND模式,在UND模式中打印了一句话
hello undefined并且跳出来在代码中,跳转模式主要有三步,而跳出模式也有两步,代码中没给出,就是/1:将CPSR保存在SPSR中2:将PC保存到新模式下的lr中;。
memcopy()函数的作用是:将source_addr里的数据拷贝到0x64地址,一共拷贝len个地址
实际上就是将处理异常函数的地址存到可以读写的地址。下次到0x04地址找处理函数的时候久直接调用到了处理异常函数。
接下来是enable_mmu()函数,用法与上一个一样。但是,此时在制表函数init_ttb()中。新把
从00-10的地址映射到了60--70 地址
对于汇编部分,对于不太了解的没关系,主要了解实现功能是什么。掌握主要流程, 到最后再作
统一总结。
Makefile:
1 2 all:3 arm-none-linux-gnueabi-gcc -c mmu.c -o mmu.o4 arm-none-linux-gnueabi-ld -Ttext=0x41 mmu.o -o mmu 5 arm-none-linux-gnueabi-objcopy -Ielf32-littlearm -Obinary mmu mmu.bin6 7 clean:8 rm -rf mmu mmu.o mmu.bin9 10 11
View Code
在PC终端make
在minicom板子上dnw到41地址go41
ARM异常模式跳 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)