本帖最后由 honeyfw 于 2010-8-16 17:31 编辑
求助各位达人,指点下哈~~谢谢啦~~
我的CPU是2214,关于LCD方面的电路时直接参照开发板上的,只是把TFT 的J2那些引脚直接接CPU了而没有用TFT_LCM,我的板上没有用外扩ROM和片外FLASH,所以我把startup.s文件和targrt.c文件和分散加载文件都改成类似于2100模板的startup.s和targrt.c的文件,使用了2100的分散加载文件。
现在问题如下:
我把这个程序通过H_JTAG下到开发板中能正常运行,但是下到我自己做的板子上时通过单步调试,当运行到ResetInit如下:
ResetInit
;Initial extenal bus controller.
;初始化外部总线控制器,根据目标板决定配置
LDR R0, =PINSEL2
IF :DEF: EN_CRP
LDR R1, =0x0f814910
ELSE
LDR R1, =0x0f814914
ENDIF
STR R1, [R0]
; 定义总线速度控制字
BCFG_DEF EQU 0x10000400
IDCY EQU (0x01<<0)
WST1 EQU (0x03<<5)
WST2 EQU (0x03<<11)
BCFG3_SET EQU (BCFG_DEF | IDCY | WST1 | WST2)
IDCYFS EQU (0x01<<0)
WST1FS EQU (0x03<<5)
WST2FS EQU (0x03<<11)
BCFG_FS EQU (BCFG_DEF | IDCYFS | WST1FS | WST2FS)
LDR R0, =BCFG0
LDR R1, =BCFG_FS
STR R1, [R0]
LDR R0, =BCFG1
LDR R1, =BCFG_FS
STR R1, [R0]
LDR R0, =BCFG2
LDR R1, =0x1000ffef
STR R1, [R0]
LDR R0, =BCFG3
LDR R1, =BCFG3_SET
STR R1, [R0]
BL InitStack ;初始化堆栈 Initialize the stack
BL TargetResetInit ;目标板基本初始化 Initialize the target board
;跳转到c语言入口 Jump to the entry point of C program
B __main
这段代码的ENDIF下面那行代码STR R1, [R0]时就运行不下去了,找不到main入口了,但是把这行程序去掉,就可以运行下去,找到main入口,但是LCD程序却显示不了,请问怎么解决这个问题???如何才能正常运行下去并且正常显示LCD??急求助,万分谢谢~~~
附件是我的代码,急求助,谢谢啦~~~
您想拥有和网易免费邮箱一样强大的软件吗? |