uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(8):CONFIG_CLKIN_HZ

本文解决uCLinux在ADIf561DSP开发板上移植过程中遇到的时钟配置相关警告及错误。通过定义时钟配置宏解决了编译head.s时出现的除零错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

快乐虾

http://blog.youkuaiyun.com/lights_joy/

lights@hb165.com

本文适用于

ADI bf561 DSP

优视BF561EVB开发板

uclinux-2008r1.5-rc3

Visual DSP++ 5.0(update 5)

欢迎转载,但请保留作者信息

编译head.s时有几个警告(错误):

[Warning pp0038] "..\linux-2.6.x\include\asm/mach/mem_init.h":32 macro 'CONFIG_CLKIN_HZ' not currently defined - 0 assumed

[Warning pp0038] "..\linux-2.6.x\include\asm/mach/mem_init.h":32 macro 'CONFIG_VCO_MULT' not currently defined - 0 assumed

[Warning pp0038] "..\linux-2.6.x\include\asm/mach/mem_init.h":32 macro 'CONFIG_SCLK_DIV' not currently defined - 0 assumed

[Error pp0059] "..\linux-2.6.x\include\asm/mach/mem_init.h":32 Division by zero

其错误均指向mem_init.h32行:

#if (CONFIG_SCLK_HZ > 119402985)

CONFIG_SCLK_HZ的定义在linux-2.6.x/include/asm/mach-common/clocks.h中:

#ifdef CONFIG_CCLK_DIV_1

# define CONFIG_CCLK_ACT_DIV CCLK_DIV1

# define CONFIG_CCLK_DIV 1

#endif

#ifdef CONFIG_CCLK_DIV_2

# define CONFIG_CCLK_ACT_DIV CCLK_DIV2

# define CONFIG_CCLK_DIV 2

#endif

#ifdef CONFIG_CCLK_DIV_4

# define CONFIG_CCLK_ACT_DIV CCLK_DIV4

# define CONFIG_CCLK_DIV 4

#endif

#ifdef CONFIG_CCLK_DIV_8

# define CONFIG_CCLK_ACT_DIV CCLK_DIV8

# define CONFIG_CCLK_DIV 8

#endif

#ifndef CONFIG_PLL_BYPASS

# ifndef CONFIG_CLKIN_HALF

# define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)

# else

# define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT)/2)

# endif

# define CONFIG_CCLK_HZ (CONFIG_VCO_HZ/CONFIG_CCLK_DIV)

# define CONFIG_SCLK_HZ (CONFIG_VCO_HZ/CONFIG_SCLK_DIV)

#else

# define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ)

# define CONFIG_CCLK_HZ (CONFIG_CLKIN_HZ)

# define CONFIG_SCLK_HZ (CONFIG_CLKIN_HZ)

# define CONFIG_VCO_MULT 0

#endif

在这里需要用到的几个宏定义均可在uclinux的配置菜单中指定,因此我们直接将这几个值定义到config.h中:

// 时钟配置

#define CONFIG_CLKIN_HZ 33000000 // 晶振频率

#define CONFIG_VCO_MULT 18 // 内核倍频

#define CONFIG_CCLK_DIV_1 1 // 内核分频

#define CONFIG_SCLK_DIV 6 // 系统分频

参考资料

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(1):前言(<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

uclinux-2008R1.5-RC3(bf561)VDSP5移植(2):代码注释(<chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(3)vdsp项目创建(<chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(4):目录差异(<chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(5)'bf561.h'的问题(<chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(6)CONFIG_BFIN_KERNEL_CLOCK(<chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(7)CONFIG_MEM_MT48LC16M16A2TG_75(<chsdate w:st="on" isrocdate="False" islunardate="False" day="12" month="1" year="2009">2009-1-12</chsdate>)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值