6136|20

63

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

6410运行在667频率! [复制链接]

wince6下,怎么才能使S3C6410运行到667的频率呢,改怎么配置,在“S3C6410_SEC_V1\OAL\INC\soc_cfg.h”中需要修改哪些?
当我调整到666时,直接编译不通,在“dvs.h”跳出错误。没有“#define TARGET_ARM_CLK    CLK_667MHz”,我自己定义了一个,且在“s3c6410.h”中也添加了,正在编译!


  1. #define SYNCMODE        (TRUE)

  2. //------------------------------------------------------------------------------
  3. // Define : PRESET_CLOCK
  4. //
  5. // Use Predefined CLOCK SETTING.
  6. //------------------------------------------------------------------------------
  7. #define PRESET_CLOCK    (TRUE)

  8. //------------------------------------------------------------------------------
  9. // CPU Revision (S3C6410 has EVT0, EVT1)
  10. //------------------------------------------------------------------------------
  11. #define EVT0            (36410100)
  12. #define EVT1            (36410101)
  13. #define CPU_REVISION    (EVT1)

  14. //------------------------------------------------------------------------------
  15. // Predefined System Clock setting selection
  16. // Here are samples for clock setting that already tested.
  17. // For S3C410, ARM 533Mhz, SystemBus 133Mhz is recommended.
  18. // This values is only used on Driver written in C
  19. //------------------------------------------------------------------------------

  20. #if PRESET_CLOCK
  21. #define CLK_25MHz        25000000
  22. #define CLK_50MHz        50000000
  23. #define CLK_33_25MHz     33250000
  24. #define CLK_66_5MHz      66500000
  25. #define CLK_96MHz        96000000
  26. #define CLK_100MHz       100000000
  27. #define CLK_133MHz       133000000
  28. #define CLK_1333MHz      133333333
  29. #define CLK_133_2MHz     133200000
  30. #define CLK_150MHz       150000000
  31. #define CLK_200MHz       200000000
  32. #define CLK_233MHz       233000000
  33. #define CLK_266MHz       266000000
  34. #define CLK_266_4MHz     266400000
  35. #define CLK_300MHz       300000000
  36. #define CLK_400MHz       400000000
  37. #define CLK_450MHz       450000000
  38. #define CLK_532MHz       532000000
  39. #define CLK_600MHz       600000000
  40. #define CLK_634MHz       634000000
  41. #define CLK_1332MHz      1332000000
  42. #define CLK_666MHz       666000000
  43. #define CLK_667MHz       667000000
  44. #define CLK_798MHz       798000000
  45. #define CLK_800MHz       800000000
  46. #define CLK_900MHz       900000000

  47. // Change This Definition to choose BSP Clock !!! (and "s3c6410.inc")
  48. //#define TARGET_ARM_CLK    CLK_66_5MHz                        //< Sync 66.5:66.5:66.5 HCLKx2=266
  49. //#define TARGET_ARM_CLK    CLK_133MHz                        //< Sync 133:133:66.5 HCLKx2=266
  50. //#define TARGET_ARM_CLK    CLK_266MHz                        //< Sync 266:133:66.5 HCLKx2=266
  51. //#define TARGET_ARM_CLK    CLK_400MHz                        //< Async 400:100:50 HCLKx2=200
  52. //#define TARGET_ARM_CLK    CLK_450MHz                        //< Sync 450:150:37.5 HCLKx2=300
  53. #define TARGET_ARM_CLK    CLK_532MHz                        //< Sync 532:133:66.5 HCLKx2=266, Async is same
  54. //#define TARGET_ARM_CLK    CLK_600MHz                        //< Sync 600:150:75 HCLKx2=300
  55. //#define TARGET_ARM_CLK    CLK_666MHz                        //< Sync 666:133.2:66.6 HCLKx2=266.4, Async 666:133:66.5 HCLKx2=266
  56. //#define TARGET_ARM_CLK    CLK_798MHz                        //< Sync 798:133:66.5  HCLKx2=266
  57. //#define TARGET_ARM_CLK    CLK_800MHz                        //< Sync 800:133.33:33.33 HCLKx2=266.66, ASync 800:133:66.5  HCLKx2=266
  58. //#define TARGET_ARM_CLK    CLK_900MHz                        //< Sync 900:150:75, HCLKx2=300

  59. /// MPLL Setting
  60. #if (TARGET_ARM_CLK == CLK_400MHz)
  61. #define MPLL_CLK            (CLK_200MHz)
  62. #else   // 532, 634, 666, 800, 900, 133, 266, 66.5
  63. #define MPLL_CLK            (CLK_266MHz)
  64. #endif
  65. #define MPLL_DIV            2
  66. #define S3C6410_DoutMPLL    (MPLL_CLK/MPLL_DIV)     // 100 Mhz or 133Mhz


  67. #if (TARGET_ARM_CLK == CLK_666MHz && SYNCMODE) || (TARGET_ARM_CLK == CLK_450MHz) || (TARGET_ARM_CLK == CLK_266MHz)
  68. #define APLL_CLK            (TARGET_ARM_CLK*2)
  69. #elif (TARGET_ARM_CLK == CLK_133MHz)
  70. #define APLL_CLK            (TARGET_ARM_CLK*4)
  71. #elif (TARGET_ARM_CLK == CLK_66_5MHz)
  72. #define APLL_CLK            (TARGET_ARM_CLK*8)
  73. #else
  74. #define APLL_CLK            (TARGET_ARM_CLK)
  75. #endif

  76. #if (TARGET_ARM_CLK == CLK_450MHz) || (TARGET_ARM_CLK == CLK_666MHz) || (TARGET_ARM_CLK == CLK_266MHz)
  77. #define APLL_DIV            2
  78. #elif (TARGET_ARM_CLK == CLK_133MHz)
  79. #define APLL_DIV            4
  80. #elif (TARGET_ARM_CLK == CLK_66_5MHz)
  81. #define APLL_DIV            8
  82. #else
  83. #define APLL_DIV            1
  84. #endif
  85. #define HCLK_DIV            2
  86. #if (TARGET_ARM_CLK == CLK_66_5MHz)
  87. #define PCLK_DIV            2
  88. #else
  89. #define PCLK_DIV            4
  90. #endif


  91. /// APLL and A:H:P CLK configuration
  92. #if (SYNCMODE)
  93.     #if (TARGET_ARM_CLK == CLK_666MHz) && (CPU_REVISION == EVT1)
  94.         #define HCLKx2_DIV          5    // sync
  95.     #elif (TARGET_ARM_CLK == CLK_532MHz) || (TARGET_ARM_CLK == CLK_600MHz) || (TARGET_ARM_CLK == CLK_266MHz) || (TARGET_ARM_CLK == CLK_133MHz)
  96.         #define HCLKx2_DIV          2    // sync   
  97.     #elif (TARGET_ARM_CLK == CLK_798MHz) || (TARGET_ARM_CLK == CLK_900MHz) || (TARGET_ARM_CLK == CLK_450MHz) || (TARGET_ARM_CLK == CLK_800MHz)
  98.         #define HCLKx2_DIV          3    // sync        
  99.     #elif (TARGET_ARM_CLK == CLK_66_5MHz)
  100.         #define HCLKx2_DIV          4    // sync
  101.     #endif
  102. #else   // 400Mhz, 532Mhz, 666Mhz
  103. #define HCLKx2_DIV          1    // Async
  104. #endif

  105. #define S3C6410_ACLK        (APLL_CLK/APLL_DIV)           

  106. #if (SYNCMODE)
  107.     #define S3C6410_HCLKx2      (APLL_CLK/HCLKx2_DIV)     
  108. #else
  109.     #define S3C6410_HCLKx2      (MPLL_CLK/HCLKx2_DIV)
  110. #endif
  111. #define S3C6410_HCLK        (S3C6410_HCLKx2/HCLK_DIV)
  112. #define S3C6410_PCLK        (S3C6410_HCLKx2/PCLK_DIV)
  113. #else   // PRESET_CLOCK = FALSE
  114. #define APLLVALUE    (((S3C6410_SYSCON_REG*)(S3C6410_BASE_REG_PA_SYSCON))->APLL_CON)
  115. #define MPLLVALUE    (((S3C6410_SYSCON_REG*)(S3C6410_BASE_REG_PA_SYSCON))->MPLL_CON)
  116. #define CLKDIV      (((S3C6410_SYSCON_REG*)(S3C6410_BASE_REG_PA_SYSCON))->CLKD_IV0)



  117. #endif  // PRESET_CLOCK


  118. //------------------------------------------------------------------------------
  119. // SMDK6410 EPLL Output Frequency
  120. //------------------------------------------------------------------------------
  121. //#define S3C6410_ECLK        (CLK_96MHz)        // 96 MHz         for USB Host, SD/HSMMC..
  122. #define S3C6410_ECLK        (84666667)        // 84,666,667 Hz     for IIS Sampling Rate 44.1 KHz (384fs)
  123. //#define S3C6410_ECLK        (92160000)        // 92,160,000 Hz     for IIS Sampling Rate 48 KHz (384fs)

复制代码

最新回复

定义各个时钟之间的比例。。。。。。。 里面有bootloader设定pll的参数。。。。。。。。。  详情 回复 发表于 2009-9-15 21:41
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
怎么没人来看啊
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
要修改PLL的配置,bootlaoder,OAL都要修改。
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

4
 
spec上说的是需要1.2V电压的,具体软件需要怎么配置,不太懂,学习。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
关键是该怎么改呢,有没有哪位兄弟实现了的啊
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
bootlaoder,OAL都要修改吧,你可以参考其它是怎么实现的?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
1G都可以跑起来了。。。
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

8
 
做个记号.
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 
晚上再来
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
好像还需要更改s3c6410.inc文件中的内容吧
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

11
 
是滴,要一致嘛,不知道还有没有其他的相关文件,很头疼的!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
从532MHz->666MHz需要修改s3c6410.inc和soc_cfg.h文件,其他不需要修改。除非你的BSP有问题。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 12 楼 lh806732 的回复:
从532MHz->666MHz需要修改s3c6410.inc和soc_cfg.h文件,其他不需要修改。除非你的BSP有问题。


只有更改到666的时候才需要修改s3c6410.inc吗,但是我查看了一下,这个inc里面使用的是533.
是否可以不用修改,想再次确认一下,等会儿编译试试。

当6410运行在667的时候,使用什么才能看到这个呢。或者是需要怎么写个软件

谢谢
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

14
 
编译是能正常编译通过,但是少些上去之后不能正常运行,串口输出是乱码。并且一直停在开机画面上,不能进入系统,开机画面的滚动条任然在滚动。

我没有重新烧写bootloader。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

15
 
667跑起来了
不过不知道是不是真的运行在667了,只是启动时串口调试输出为667了
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

16
 
需要更改s3c6410.inc文件,要重新编译和重新烧写bootloader 。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

17
 
这个地方调试输出显示ARMCLK已经是667了,难道是假像?
有没有什么办法验证
谢谢
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

18
 
学习了
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

19
 
手册中有计算时钟的公式,你计算一下就行了。。。。。。。。。
把PLL和分频寄存器值打印出来。。。。。
印象中,修改俩个头文件就行了。。。。。。。。
比较简单的。。。。。。。。。。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

20
 
那个INC文件有什么用?
谢谢
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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