嵌入式学习笔记--init(中断控制器)

  • 癞头和尚
  • LV3工程师
  • |      2014-09-05 15:29:22
  • 浏览量 427
  • 回复:0

0实验环境与实验例程

实验环境:TQ2440

实验例程:韦东山 嵌入式linux应用开发完全手册

1 makefile分析


点击(此处)折叠或打开

  1. objs := head.o init.o interrupt.o main.o

  2. int.bin: $(objs)
  3.     arm-linux-ld -Ttext 0x00000000 -o int_elf $^;$^表示所有依赖的文件,指$(objs)
  4.     arm-linux-objcopy -O binary -S int_elf $@;$@指目标文件
  5.     arm-linux-objdump -D -m arm int_elf > int.dis
  6.     
  7. %.o:%.c
  8.     arm-linux-gcc -Wall -O2 -c -o $@ $<

  9. %.o:%.S
  10.     arm-linux-gcc -Wall -O2 -c -o $@ $<

  11. clean:
  12.     rm -f int.bin int_elf int.dis *.o
Makefile执行过程

点击(此处)折叠或打开

  1. arm-linux-gcc -Wall -O2 -c -o head.o head.S
  2. arm-linux-gcc -Wall -O2 -c -o init.o init.c
  3. arm-linux-gcc -Wall -O2 -c -o serial.o serial.c
  4. arm-linux-gcc -Wall -O2 -c -o main.o main.c
  5. arm-linux-ld -Tuart.lds -o uart_elf head.o init.o serial.o main.o
  6. arm-linux-objcopy -O binary -S uart_elf uart.bin
  7. arm-linux-objdump -D -m arm uart_elf > uart.dis

2原理图

嵌入式学习笔记--init(中断控制器)


3源码分析

中断向量地址

点击(此处)折叠或打开

  1. .extern main
  2. .text
  3. .global _start
  4. _start:
  5. @******************************************************************************
  6. @ 异常向量,本程序中,除Reset和HandleIRQ外,其它异常都没有使用
  7. @******************************************************************************
  8.     b Reset

  9. @ 0x04: 未定义指令中止模式的向量地址
  10. HandleUndef:
  11.     b HandleUndef
  12.  
  13. @ 0x08: 管理模式的向量地址,通过SWI指令进入此模式
  14. HandleSWI:
  15.     b HandleSWI

  16. @ 0x0c: 指令预取终止导致的异常的向量地址
  17. HandlePrefetchAbort:
  18.     b HandlePrefetchAbort

  19. @ 0x10: 数据访问终止导致的异常的向量地址
  20. HandleDataAbort:
  21.     b HandleDataAbort

  22. @ 0x14: 保留
  23. HandleNotUsed:
  24.     b HandleNotUsed

  25. @ 0x18: 中断模式的向量地址
  26.     b HandleIRQ

  27. @ 0x1c: 快中断模式的向量地址
  28. HandleFIQ:
  29.     b HandleFIQ

4总结

使用c代码之前就要设置栈指针

点击(此处)折叠或打开

  1. Reset:
  2.     ldr sp, =4096 @ 设置栈指针,以下都是C函数,调用前需要设好栈
  3.     bl disable_watch_dog @ 关闭WATCHDOG,否则CPU会不断重启

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子