9692|32

73

帖子

0

TA的资源

一粒金砂(初级)

wince起来后,如何重新配置FCLK、HCLK、PCLK [复制链接]

平台 2440 5.0BSP

以前我看到论坛的人说可以动态配置ARM的FCLK、HCLK,PCLK

我刚才使用应用程序来修改寄存器CLKDIVN,修改三者的比例关系,结果出现了郁闷的问题,现象描述如下:

我在启动的时候配置MPLLCON寄存器,使FCLK=405MHZ
根据数据手册,FCLK、HCLK,PCLK的比例关系可以通过CLKDIVN这样来配置
ldr r0,=CLKDIVN
    ldr r1,=0x7     
; 0x0 = 1:1:1  ,  0x1 = 1:1:2        , 0x2 = 1:2:2  ,  0x3 = 1:2:4,  0x4 = 1:4:4,  0x5 = 1:4:8, 0x6 = 1:3:3, 0x7 = 1:3:6
    str r1,[r0]

现在我把wince起来后使用应用程序重新配置的情况以及结果贴上:
CLKDIVN配置成0x0,0x1 液晶立即灭掉,本来可以响应的东西不再响应,2440死机
CLKDIVN配置成0x2,0x3 液晶分别为变模糊、变有竖条纹,同样,2440死机。
CLKDIVN配置成0x4,0x5,0x7 没有任何问题,2440正常运行。
CLKDIVN配置成0x6,屏幕没有熄灭,点击触摸屏有信息输出,但是点击一些按钮没有响应,2440处于半死机状态。

请问你们是如何重新配置FCLK、HCLK,PCLK的?从上面现象可以看出,调高HCLK,PCLK就会出问题,难道这样是不行的?
请大家指点。
此帖出自WindowsCE论坛

最新回复

mark  详情 回复 发表于 2010-1-27 12:30

回复

69

帖子

0

TA的资源

一粒金砂(初级)

是不是没有禁用之前不能重新配置的?

那么是要实现休眠等才能配置了?

等待中。
此帖出自WindowsCE论坛

回复

228

帖子

0

TA的资源

一粒金砂(中级)

看你发这个顺便问下,2440下SDRAM的CLK是那个时钟给提供的?
2443的规格书里说的很模糊。
此帖出自WindowsCE论坛

回复

76

帖子

0

TA的资源

一粒金砂(初级)

哦,有点很重要,我启动的时候配置CLKDIVN =0x7的

我觉得这个1:3:6太低了。我想调高,就出现了上面的情况。
此帖出自WindowsCE论坛

回复

76

帖子

0

TA的资源

一粒金砂(初级)

Restrictions about changing ARMDIV register.
1. Be careful that ARMCLK should be equal or faster than HCLK. (X times, X is integer)
2. Change PREDIV, HCLKDIV field after 12 HCLK periods as soon as nRESET is released.
Basically, Changing ARMDIV and HCLKDIV simultaneously is supported. When modifying ARMDIV, PREDIV and
HCLKDIV, User should pay attention to obey upper No 1 restriction.
此帖出自WindowsCE论坛

回复

66

帖子

0

TA的资源

一粒金砂(初级)

引用 4 楼 Panghuang 的回复:
Restrictions about changing ARMDIV register.
1. Be careful that ARMCLK should be equal or faster than HCLK. (X times, X is integer)
2. Change PREDIV, HCLKDIV field after 12 HCLK periods as soon as nRESET is released.
Basically, Changing ARMDIV and HCLKDIV simultaneously is supported. When modifying ARMDIV, PREDIV and
HCLKDIV, User should pay attention to obey upper No 1 restriction.


这个不是2440 上的吧?

但是我修改降低却行?怎么回事呢?
此帖出自WindowsCE论坛

回复

73

帖子

0

TA的资源

一粒金砂(初级)

//*************************[ MPLL ]*******************************
void ChangeMPllValue(int mdiv,int pdiv,int sdiv)
{
    rMPLLCON = (mdiv<<12) | (pdiv<<4) | sdiv;
}


//************************[ HCLK, PCLK ]***************************
void ChangeClockDivider(int hdivn_val,int pdivn_val)
{
        int hdivn=2, pdivn=0;
       
     // hdivn_val (FCLK:HCLK)ratio hdivn
     // 11           1:1       (0)
     // 12           1:2       (1)
     // 13           1:3       (3)
     // 14           1:4       (2)
     // pdivn_val (HCLK:PCLK)ratio pdivn
     // 11           1:1       (0)
     // 12           1:2       (1)
        switch(hdivn_val) {
                case 11: hdivn=0; break;
                case 12: hdivn=1; break;
                case 13:
                case 16: hdivn=3; break;
                case 14:
                case 18: hdivn=2; break;
        }
       
        switch(pdivn_val) {
                case 11: pdivn=0; break;
                case 12: pdivn=1; break;
        }
       
        //Uart_Printf("Clock division change [hdiv:%x, pdiv:%x]\n", hdivn, pdivn);
        rCLKDIVN = (hdivn<<1) | pdivn;

        switch(hdivn_val) {
                case 16:                // when 1, HCLK=FCLK/8.
                        rCAMDIVN = (rCAMDIVN & ~(3<<8)) | (1<<8);
                break;
                case 18:         // when 1, HCLK=FCLK/6.
                        rCAMDIVN = (rCAMDIVN & ~(3<<8)) | (1<<9);
                break;
        }
       
    if(hdivn!=0)
        MMU_SetAsyncBusMode();
    else
        MMU_SetFastBusMode();
}

void Main()
{
ChangeMPllValue(92,1,1);
ChangeClockDivider(14, 12);
}


此帖出自WindowsCE论坛

回复

69

帖子

0

TA的资源

一粒金砂(初级)

楼上你用过?

貌似没有什么特别的地方啊?我改咋就不行呢?
此帖出自WindowsCE论坛

回复

58

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

72

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

86

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

74

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

75

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

73

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

81

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

70

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

79

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

91

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

74

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

回复

72

帖子

0

TA的资源

一粒金砂(初级)

如果您需要查看本帖隐藏内容,请登录或者注册
此帖出自WindowsCE论坛

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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表