4942|14

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

k9k8gu08a怎么跳不到main里面 [复制链接]

看着大家的帖子,我试着修改程序。
可是,怎么就不能进入main呢
我用led_test测试,已经执行到那一行了,下面是相关代码,请大家指点一下
;        bl        Led_Test
       
        ldr        r0, =BWSCON
        ldr        r0, [r0]
        ands        r0, r0, #6                ;OM[1:0] != 0, NOR FLash boot
        bne        copy_proc_beg                ;don't read nand flash
        adr        r0, ResetEntry                ;OM[1:0] == 0, NAND FLash boot
        cmp        r0, #0                                ;if use Multi-ice,
        bne        copy_proc_beg                ;don't read nand flash for boot
        ;nop
;===========================================================
nand_boot_beg
       
        mov        r5, #NFCONF
        ;set timing value
        ldr        r0,        =(7<<12)|(7<<8)|(7<<4)
        str        r0,        [r5]
        ;enable control
        ldr        r0, =(0<<13)|(0<<12)|(0<<10)|(0<<9)|(0<<8)|(1<<6)|(1<<5)|(1<<4)|(1<<1)|(1<<0)
        str        r0, [r5, #4]
       
        bl        ReadNandID
        mov        r6, #0
        ldr        r0, =0xec73
        cmp        r5,        r0
        beq        %F1
        ldr        r0, =0xec75
        cmp        r5, r0
        beq        %F1
        ldr r0, =0xecd3
        cmp r5, r0
        bne %F1
        mov        r6, #1
1       
        bl        ReadNandStatus
       
        mov        r8, #0
        ldr        r9, =ResetEntry
2       
;        ands        r0, r8, #0x3f
;        bne                %F3
;        bl        Led_Test
;        mov                r0, r8
;         bl                CheckBadBlk

;        cmp                r0, #0
;        addne        r8, r8, #64
;        bne                %F4
3       
;        bl        Led_Test
        mov        r0, r8
        mov        r1, r9
        bl        ReadNandPage
        add        r9, r9, #2048
        add        r8, r8, #1
       
4       
        cmp        r8, #64
        bcc        %B2

        mov        r5, #NFCONF                        ;DsNandFlash
        ldr        r0, [r5, #4]
        bic r0, r0, #1
        str        r0, [r5, #4]

        ldr        pc, =copy_proc_beg
copy_proc_beg


        adr        r0, ResetEntry
        ldr        r2, BaseOfROM
        cmp        r0, r2
        ldreq        r0, TopOfROM
        beq        InitRam       
        ldr r3, TopOfROM
0       


        ldmia        r0!, {r4-r7}
        stmia        r2!, {r4-r7}
        cmp        r2, r3
        bcc        %B0
       
        sub        r2, r2, r3
        sub        r0, r0, r2                               
               
InitRam       

        ldr        r2, BaseOfBSS
        ldr        r3, BaseOfZero       
0
        cmp        r2, r3
        ldrcc        r1, [r0], #4
        strcc        r1, [r2], #4
        bcc        %B0       

        mov        r0,        #0
        ldr        r3,        EndOfBSS
1       
        cmp        r2,        r3
        strcc        r0, [r2], #4
        bcc        %B1
       
        ldr        pc, =%F2                ;goto compiler address
2
       
;        bl        Led_Test

;===========================================================
          ; Setup IRQ handler
        ldr        r0,=HandleIRQ       ;This routine is needed
        ldr        r1,=IsrIRQ          ;if there isn't 'subs pc,lr,#4' at 0x18, 0x1c
        str        r1,[r0]


        bl        Led_Test
    [ :LNOT:THUMBCODE
   
        ;        bl        Led_Test
                bl        Main        ;Don't use main() because ......

        ;        ldr        pc, =Main        ;
                b        .
    ]

    [ THUMBCODE         ;for start-up code for Thumb mode
                orr        lr,pc,#1
                bx        lr
                CODE16
            bl        Led_Test
                bl        Main        ;Don't use main() because ......
                b        .
                CODE32
    ]

最新回复

前辈,做过了才知道简单啊。我在努力做了,希望早点把唬人的问题弄明白。  详情 回复 发表于 2009-5-21 20:08
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这么长的程序连led test那段代码也没看到,led test有返回指令吗?
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我把led test 注释掉也进不去,串口没有打印消息,还望各位指点
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
单步执行,看在哪里出了问题。
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

5
 
gooogleman 看了你的好多帖子,大侠可要帮我想办法啊。
我刚接触这东西不久,那个ADS连接不到我的板子,每次我都得烧进去,不知道怎么办?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
ADS连接不到板子?你是用的什么烧FLASH?没用JTAG吗?用了JTAG的话ADS应该就可以连接
 
 
 

回复

48

帖子

0

TA的资源

禁止发言

7
 
JTAG可以用了,但不跑了一下,注释掉一些让他执行readpage,返回后就不知道他在干什么了,跑飞了。怎么办?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
ads,单步调试
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

9
 
真的被他搞死,哪位大侠指点一下啊,我都晕的不知从何下手了!
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 
正在调呢,可是他读完一页flash就飞掉了。
读flash程序我是按照http://topic.eeworld.net/u/20081120/23/42e41867-46d5-4f39-89e5-67d8053c3feb.html
这个修改的
ReadNandPage
        mov                 r7,lr
        mov      r4,r1
        mov      r5,#NFCONF

        ldr      r1,[r5,#4]                ;NFChipEn()
        bic      r1,r1,#2
        str      r1,[r5,#4]       

        mov      r1,#0                        ;WrNFCmd(READCMD0)
        strb     r1,[r5,#8]       
        strb     r1,[r5,#0xc]        ;WrNFAddr(0)
        strb     r1,[r5,#0xc]        ;WrNFAddr(0)       
        strb     r0,[r5,#0xc]        ;WrNFAddr(addr)
        mov      r1,r0,lsr #8        ;WrNFAddr(addr>>8)
        strb     r1,[r5,#0xc]       
        mov      r1,r0,lsr #16        ;WrNFAddr(addr>>16)
        strb     r1,[r5,#0xc]
       
    mov      r1,#0x30                        ;WrNFCmd(0x30)  
    strb     r1,[r5,#8]
       
        ldr      r0,[r5,#4]                ;InitEcc()
        orr      r0,r0,#0x10
        str      r0,[r5,#4]
       
        bl       WaitNandBusy        ;WaitNFBusy()
       
        mov      r0,#0                        ;for(i=0; i<512; i++)
1
        ldrb     r1,[r5,#0x10]        ;buf = RdNFDat()
        strb     r1,[r4,r0]
        add      r0,r0,#1
        bic      r0,r0,#0x10000
        cmp      r0,#0x800
        bcc      %B1
       
        ldr      r0,[r5,#4]                ;NFChipDs()
        orr      r0,r0,#2
        str      r0,[r5,#4]
               
        mov                 pc,r7
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
硬件跳线是否正确
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

12
 
用仿真器了么?直接用jtag板调试的话下个H-jtag试试。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

13
 
多谢大家的回帖,刚接触ARM,有很多不了解,多谢,多谢!
flash的ID 能读出来,跳线连接修改过,应该没问题。
就是用的H_JTAG,我手上有两块开发板,一块天嵌的,一块海天雄的。
海天雄的偶尔一下能进行单步调试,多数都是在开始处就进入死循环,他们公司的客服也让我火,烂!!!
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(中级)

14
 
自己做吧,没什么难度的,都是唬人的
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
前辈,做过了才知道简单啊。我在努力做了,希望早点把唬人的问题弄明白。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
报名最后一周!2025 英飞凌消费、计算与通讯创新大会-北京站
会议时间:3月18日(周二)09:30签到
参会奖励:电动螺丝刀套装、户外登山包、京东卡

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表