TI中文支持网
TI专业的中文技术问题搜集分享网站

SPI boot parameter table 中时钟所有频率对应的16bit映射表

您好:

        我目前在研究SPI BOOT PARAMETER TABLE 时,希望用16bit表示其所有时钟频率的映射关系,其中已经知道CPU时钟频率为5MHZ时,16bit

      0x0320 0000;//CPU频率,默认5MHZ

      0x01f4 0000;//bus 频率

        有几点求助:

        1、希望高手给出spi boot parameter table的针对不同频率的16bit 映射关系图。

         2、我算下来最高频率能达到40M左右,但映射关系表就乱了

         请高手帮忙,谢谢!

Andy Yin1:

不太明白你的问题,boot parameter table的各个字段的定义见RBL中的tiboot.h如附件,其中cpuFreqMhz字段是16bit,单位是MHz,0x320代表的是800MHz

0x00500000  length checksum

0x00320000  boot_mode portNum

0x40140002  swPllCfg_msw swPllCfg_lsw

0x00010018  options addrWidth

0x00040000  n_pins csel

0x00000000  mode c2tdelay

0x03e80000  cpuFreqMhz busFreqMhz

0x01f40051  busFreqKhz  read_addr_msw

0x04000000  read_addr_lsw next_csel

jun zhang27:

回复 Andy Yin1:

您好,我是初学spi boot parameter table的内容,现在想获得busFreqMhz及busFreqKhz所有可取的频率值及对应的16bit映射关系

例如 0x03e80000  cpuFreqMhz busFreqMhz 中后四位0000,为默认值5MHZ。我想知道:对于spi bus 的所能取得频率值,比如40Mhz,20Mhz,10Mhz等等,它应该用xxxx表示,那对应的xxxx是哪些值及可取的频率值?

0x01f40051  busFreqKhz  read_addr_msw,也是一样的,需要获得busFreqKhz的频率取值范围及对应的xxxx值。麻烦您了。谢谢!

Andy Yin1:

回复 jun zhang27:

十六进制转换为十进制对应的就是频率值,没有什么转换关系。如0x03e80000  cpuFreqMhz busFreqMhz,其中前16bit为cpuFreqMhz,对应的就是cpu主频1000MHz,0x01f40051  busFreqKhz  read_addr_msw前16bit为busFreqKhz,对应就是500KHz。

jun zhang27:

回复 Andy Yin1:

     您好,我的问题可能还没描述清楚,给您带来理解的不便,sorry。 

     为什么我对你的回复不解呢,在如0x03e80000  cpuFreqMhz busFreqMhz,后16bit为0x0000,可它默认的频率值是5MHZ,这就与16进制转换为10进制的结果不一样了(5Mhz对应0x0000,无法理解)。

我现在想知道spi bus Freq可取的频率值及范围,和对应的16进制表示。

Andy Yin1:

回复 jun zhang27:

"后16bit为0x0000" 对应的是0MHz,5MHZ的话后16bit应该是5;SPI bus clock取值如SPI user guide下面截图所述,SPI module clock=CPU clock/6

jun zhang27:

回复 Andy Yin1:

你好,SPI module clock=CPU clock/6,即对CPU clock进行6分频,在配置spi boot parameter 之前,那么CPU clock实际的时钟频率是多少?

Andy Yin1:

回复 jun zhang27:

如bootloader user guide所述,SPI boot mode是PLL是bypass的,即corepac是工作在参考时钟频率,之后可以根据boot parameter table中的PLL参数进行配置的。

赞(0)
未经允许不得转载:TI中文支持网 » SPI boot parameter table 中时钟所有频率对应的16bit映射表
分享到: 更多 (0)