ARM基础

ARM基础

异常与工作模式的关系

  • USR正常程序执行的模式,
    在这个模式下,不能通过代码直接切换工作模式,除了swi产生软中断。

  • SYS运行操作系统的特权模式
    类USR模式,但可直接切换工作模式

  • FIQ
    通过FIQ异常进入,用于支持高速数据传输及通道处理

  • IRQ
    通过IRQ异常进入,用于支持通用中断处理

  • SVC操作系统保护模式
    通过Reset异常和软中断异常进入,

  • ABT
    Prefetch Abort和Data Abort异常进入,用于支持虚拟内存和存储器保护

  • UND
    Undefined Instruction异常进入,用于支持硬件协处理器的软件仿真

在PC上开发ARM程序时,win和linux系统中编译运行一个C程序的步骤有哪些不同?

  • 打开系统,打开集成环境、创建工程、编辑代码、编译、运行
  • 打开系统,打开终端命令窗口,使用命令和vim工具创建并编辑源文件,使arm-gcc和Makefile编译程序,使用命令运行程序

BANK存储管理控制器

行列单元格,存储单元和存储阵列,逻辑BANK,L-BANK
s3c2440对外引出27根地址线ADDR0~26,所以访问范围是128MB

BANK相关寄存器

以下寄存器按地址+4递增!

  • BWSCON位宽和等待控制寄存器,0x22011110
  • BANKCONx0 ~ 5. 6 ~7控制寄存器,0x00000700.0x00018005
  • REFRESH刷新控制寄存器,0x008C07A3
  • BANKSIZE,0x000000B1
  • MRSRBx6~7模式设置寄存器,0x00000030

存储控制器所外接的外设访问地址,功能部件寄存器地址的范围?

BANKx 外设名称 起始地址 结束地址 大小 位宽
BANK0 NOR Flash 0x00000000 0x001FFFFF 2MB 16
BANK1 IDE接口命令块寄存器 0x08000000 00800000F 16 16
BANK2 IDE接口控制块寄存器 0x10000000 0x1000000F 16 16
BANK3 10M网卡CS8900A 0x19000000 0x190FFFFF 1M 16
BANK4 10/100M网卡DM9000 0x20000000
BANK5 扩展串口A 0x28000000 0x28000007 8 8
BANK6 SDRAM 0x30000000 0x33FFFFFF 64M 32

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCku8zGA-1569498977116)(E3C8B06BF4B2421B81EE7CA12771D17F)]

上一篇:F - Piggy-Bank


下一篇:CSRF理解与防御