LPC2210(2)
来源:互联网 发布:java 获取跳转后的url 编辑:程序博客网 时间:2024/06/02 06:04
看了一下CodeWarrior for ARM Developer Suite自带的Example,发现ZLG有很多东西是参考这些个例子来写的。在[你的安装目录]/ARM/ADSv1_2/Examples/embedded/embed中的vectors.s文件里有以下几句汇编
;;; Copyright ARM Ltd 2001. All rights reserved.
AREA Vect, CODE, READONLY
; These are example exception vectors and exception handlers
;
; Where there is ROM fixed at 0x0 (build_b), these are hard-coded at 0x0.
; Where ROM/RAM remapping occurs (build_c), these are copied from ROM to RAM.
; The copying is done automatically by the C library code inside __main.
; *****************
; Exception Vectors
; *****************
; Note: LDR PC instructions are used here, though branch (B) instructions
; could also be used, unless the ROM is at an address >32MB.
ENTRY
LDR PC, Reset_Addr
LDR PC, Undefined_Addr
LDR PC, SWI_Addr
LDR PC, Prefetch_Addr
LDR PC, Abort_Addr
NOP ; Reserved vector
LDR PC, IRQ_Addr
LDR PC, FIQ_Addr
IMPORT Reset_Handler ; In init.s
Reset_Addr DCD Reset_Handler
Undefined_Addr DCD Undefined_Handler
SWI_Addr DCD SWI_Handler
Prefetch_Addr DCD Prefetch_Handler
Abort_Addr DCD Abort_Handler
IRQ_Addr DCD IRQ_Handler
FIQ_Addr DCD FIQ_Handler
在ZLG用ARM Executable Image for lpc2200模板生成的Startup.s文件里也有类似的汇编语句
;interrupt vectors
;中断向量表
Reset
LDR PC, ResetAddr
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
ResetAddr DCD ResetInit
UndefinedAddr DCD Undefined
SWI_Addr DCD SoftwareInterrupt
PrefetchAddr DCD PrefetchAbort
DataAbortAddr DCD DataAbort
Nouse DCD 0
IRQ_Addr DCD 0
FIQ_Addr DCD FIQ_Handler
发现CodeWarrior for ARM Developer Suite的一个很好的特性,可以用printf,这个可比CodeWarrior Development Studio for HC08感觉好,以前第一次用08的时候想用printf却不行,如果每记错的话好像是报错的。所以要观察什么数据的话还要写到内存里去看,现在就比较方便了,直接printf就可以了
观察了一下ZLG为自己的芯片做的模版,发现自己也可以做一个只要建立一个工程,并往自己的工程文件里添加相应的启动代码等一些必要的配置文件(可以参考ZLG的那些文件),然后再到自己建立的工程里面把[工程名]_data这个文件夹删掉,然后另建一个文件夹,把工程文件夹里其他的文件拷贝到新建的文件夹里,并把这个文件夹放到
[你的安装目录]/ARM/ADSv1_2/Stationery文件夹下,这样用CodeWarrior for ARM Developer Suite新建工程的时候就会有你自己制作的模版了
有点想为LPC2210写一个头文件,因为以前用GP32或者GT60的时候只要include一个对应于芯片的头文件就可以了,比较简单。ZLG的模版里好像没有类似的头文件。
在看Example的时候,无意间看到以下代码
- LPC2210(2)
- LPC2210(1)
- LPC2210(3)
- LPC2210调试
- LPC2210调试
- lpc2210 uclinux
- lpc2210 --smartarm相关
- lpc2210 u-boot移植
- lpc2210 u-boot移植
- 对ARM7 LPC2210的Bootloader源码分析
- VxWorks for LPC2210应用编程实战zz
- vxworks BSP移植(基于lpc2210)
- 对于LPC2210的存储器的重映射!
- 对ARM7 LPC2210的Bootloader源码分析
- VxWorks for LPC2210网络应用编程实战zz
- UCOS-II在LPC2210上的移植--os_cpu_a.s
- UCOS-II在LPC2210上的移植--os_cpu_c.c
- UCOS-II在LPC2210上的移植--os_cpu.h
- Introduction to State Design Pattern
- State Design Pattern: Ultimate Hook
- C++ BUILDER中关于image字段的写法
- State Design Pattern: Reminder
- SKYPE竟然改用BCB来编译了?。。。
- LPC2210(2)
- 西行漫记(13):Show Time
- 初识fedora
- 累~
- VS2005.NET2.0学习视频_2_快速创建数据库表读写删
- Ollydbg手脱UPX加壳的DLL
- Win 2000下ASP.NET的配置(转载自http://dotnet.chinaitlab.com/ASPNET/31003.html)
- 如何获取passwd密码档
- BMP文件结构分析