往往在dsp上做算法的开发时,都只是简单的使用GEL和CCS,加XDS JTAG来完成程序的编码、开发和调试。但是,你需要知道,最终的Execute file需要下载到flash中可以脱离仿真器,在板子上运行。那么dm6437处理器又是如何自动boot启动的呢? dm6437的boot模式主要包括以下内容:EMIFA ROM,I2C boot,SPI(16bit 或者24bit) boot,Nandflash boot,Uart boot。 boot 模式的决定权完全交予设计者,它是基于初始硬件设计的管脚电平来决定整个启动模式, • BOOTMODE[3:0]
• PCIEN
• FASTBOOT
• AEM[2:0]
• PLLMS[2:0] 在数据手册里的reset说道:当内部芯片复位时,会触发锁存器将上述的管脚信息全部锁存到BOOTCFG这个寄存器去。一旦锁存后,变成只读寄存器。 非FASTBOOT模式直接采用27MHz的时钟来直接进行工作。 其中FASTBOOT决定了boot启动是否使用快速模式,其中PLLM[3:0]则是用于配置相应的PLL。 FASTBOOT又包括固定的(fixed)模式,用户可选择的(user-select模式)等。这两者的区别在于,后者可以根据PPLM管脚来配置PLL的倍频数。前者的PLL倍频数固定默认为20。 使用的boot模式为快速SPI24位norflash启动。 因此MCBSP模块的默认时钟为SYSCLK3/3=27*20/2/6/3=15MHz,顾SPL采用的是15MHz的时钟来读取norflash中的数据(其实后续在RBL启动完成后,会自动修改PLL的倍频数到22,SPL clock增加到了16.5MHz)。
|