3263|6

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于WINCE50的EBOOT 系列问题3 [复制链接]

EBOOT在运行到bl      OALXScaleSetFrequencies后死掉了

搜索OALXScaleSetFrequencies的原代码发现在我的BSP下
C:\WINCE500\PLATFORM\SMDKPXA270\SRC\COMMON\Freq\freq.s中

可是又发现在
C:\WINCE500\PLATFORM\MAINSTONEII\SRC\COMMON\FREQ\freq.s也同样有这个OALXScaleSetFrequencies函数的定义

首先我修改了我的BSP下的这个函数名称即:将OALXScaleSetFrequencies改为OALXScaleSetFrequencies1,保存编译,发现编译到EBOOT时报错
说明我的BSP下这个函数是EBOOT调用的,将它改回原来的名字,再编译,不报错了

又将C:\WINCE500\PLATFORM\MAINSTONEII\SRC\COMMON\FREQ\freq.s下OALXScaleSetFrequencies改为OALXScaleSetFrequencies1
保存编译,编译到EBOOT时同样也报错,将其改回来,就不报错了.....

请问在C:\WINCE500\PLATFORM\COMMON\SRC\ARM\INTEL\PXA27X\STARTUP\startup.s中调用的OALXScaleSetFrequencies
到底应该是哪个???

最新回复

请教各位:     ALIGN     NESTED_ENTRY OALXScaleSetFrequencies     这个函数下:     ldr        r1, =xlli_CLKREGS_PHYSICAL_BASE    ; OSCC = OON | TOUT | CRI     ;mov        r2, #(xlli_OSCC_OON :OR: xlli_OSCC_TOUT_EN :OR: xlli_OSCC_CRI)     mov        r2, #(xlli_OSCC_OON :OR: xlli_OSCC_TOUT_EN)     str        r2, [r1, #xlli_OSCC_offset]     bl      Light_freqLEDs     这部分是什么意思啊?? 为什么程序会在 str        r2, [r1, #xlli_OSCC_offset]后死掉呢??(Light_freqLEDs没有亮) 下面附上Light_freqLEDs代码: ALIGN Light_freqLEDs         ;Light D1, D2             ldr         r6,  =xlli_GPIOREGS_PHYSICAL_BASE                 ldr                r7,  [r6, #xlli_GPCR0_offset]                 ldr                r5,  =0x0600                   orr                r7,  r7,  r5                 str                r7,  [r6, #xlli_GPCR0_offset]                 ldr                r7,  [r6, #xlli_GPCR0_offset]                 ldr                r6,  =xlli_OSTREGS_PHYSICAL_BASE ; Load OS timer base address                 ldr                r7,  [r6, #xlli_OSCR0_offset]    ; Fetch starting value of OSCR0                 ldr                r5,  =0x384000                 add                r7,  r7,  r5                                         ; about 200ms, 0x384000 about 1000ms delay2  ldr                r5,  [r6, #xlli_OSCR0_offset]    ; Fetch current OSCR0 value                 cmp                r5,  r7                          ; Is the timer past the time out value?                 bmi                delay2                 ;Black D1, D2                 ldr                r6,  =xlli_GPIOREGS_PHYSICAL_BASE                 ldr                r7,  [r6, #xlli_GPSR0_offset]                 ldr                r5,  =0x0600                 orr                r7,  r7,  r5                 str                r7,  [r6, #xlli_GPSR0_offset]                 ldr                r7,  [r6, #xlli_GPSR0_offset]         ldr                r6,  =xlli_OSTREGS_PHYSICAL_BASE ; Load OS timer base address                 ldr                r7,  [r6, #xlli_OSCR0_offset]    ; Fetch starting value of OSCR0                 ldr                r5,  =0x384000                 add                r7,  r7,  r5                                         ; about 200ms, 0x384000 about 1000ms delay3  ldr                r5,  [r6, #xlli_OSCR0_offset]    ; Fetch current OSCR0 value                 cmp                r5,  r7                          ; Is the timer past the time out value?                 bmi                delay3                 mov                pc, lr  详情 回复 发表于 2009-4-14 16:36
点赞 关注

回复
举报

90

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这一系列问题解决之后,你就可以出书了
关注中
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
鑫哥的帖一定要回,

你可以试一下把一个文件屏蔽掉看他怎么报错的,如果从调用处报错就可以知道了
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
在你调用的OALXScaleSetFrequencies函数里面各加一个打印消息,然后你编译下载运行就看串口的消息就知道调用的是哪里了
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 2 楼 hudaweikevin 的回复:
鑫哥的帖一定要回,

你可以试一下把一个文件屏蔽掉看他怎么报错的,如果从调用处报错就可以知道了


哈哈!谢谢啦

我直接把MAINSTONEII删除以确保只调用我的BSP下的那个函数了
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
看Source文件中生成的库和连接的库的名字可以明确判断。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
请教各位:
    ALIGN
    NESTED_ENTRY OALXScaleSetFrequencies
    这个函数下:
    ldr        r1, =xlli_CLKREGS_PHYSICAL_BASE    ; OSCC = OON | TOUT | CRI
    ;mov        r2, #(xlli_OSCC_OON :OR: xlli_OSCC_TOUT_EN :OR: xlli_OSCC_CRI)
    mov        r2, #(xlli_OSCC_OON :OR: xlli_OSCC_TOUT_EN)
    str        r2, [r1, #xlli_OSCC_offset]
    bl      Light_freqLEDs
   
这部分是什么意思啊??
为什么程序会在 str        r2, [r1, #xlli_OSCC_offset]后死掉呢??(Light_freqLEDs没有亮)


下面附上Light_freqLEDs代码:
ALIGN
Light_freqLEDs

        ;Light D1, D2
            ldr         r6,  =xlli_GPIOREGS_PHYSICAL_BASE
                ldr                r7,  [r6, #xlli_GPCR0_offset]
                ldr                r5,  =0x0600  
                orr                r7,  r7,  r5
                str                r7,  [r6, #xlli_GPCR0_offset]
                ldr                r7,  [r6, #xlli_GPCR0_offset]

                ldr                r6,  =xlli_OSTREGS_PHYSICAL_BASE ; Load OS timer base address
                ldr                r7,  [r6, #xlli_OSCR0_offset]    ; Fetch starting value of OSCR0
                ldr                r5,  =0x384000
                add                r7,  r7,  r5                                         ; about 200ms, 0x384000 about 1000ms
delay2  ldr                r5,  [r6, #xlli_OSCR0_offset]    ; Fetch current OSCR0 value
                cmp                r5,  r7                          ; Is the timer past the time out value?
                bmi                delay2

                ;Black D1, D2
                ldr                r6,  =xlli_GPIOREGS_PHYSICAL_BASE
                ldr                r7,  [r6, #xlli_GPSR0_offset]
                ldr                r5,  =0x0600
                orr                r7,  r7,  r5
                str                r7,  [r6, #xlli_GPSR0_offset]
                ldr                r7,  [r6, #xlli_GPSR0_offset]

        ldr                r6,  =xlli_OSTREGS_PHYSICAL_BASE ; Load OS timer base address
                ldr                r7,  [r6, #xlli_OSCR0_offset]    ; Fetch starting value of OSCR0
                ldr                r5,  =0x384000
                add                r7,  r7,  r5                                         ; about 200ms, 0x384000 about 1000ms
delay3  ldr                r5,  [r6, #xlli_OSCR0_offset]    ; Fetch current OSCR0 value
                cmp                r5,  r7                          ; Is the timer past the time out value?
                bmi                delay3

                mov                pc, lr
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
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
快速回复 返回顶部 返回列表