这里说的"启动顺序",是指在DSP加电启动时从哪里读取程序到RAM中.需要说明的是我这里的FLASH片选接入TMS320VC33(以下简称VC33)的PAGE0(地址范围:000 0000~03F FFFFh),并把程序放入了FLASH的0x1000地址处(因为在MCBL/MP=1的情况下,VC33处于所谓的微计算机/引导加载模式).我们的VC33处理器有两种运行模式:微处理器模式(Microprocessor Mode)和微计算机/引导加载模式(Microcomputer/Bootloader Mode).以下把微计算机/引导加载模式简称为微计算机模式.区别我们的VC33运行于何种模式下,只要看看我们的电路板中VC33的第125脚的MCBL/MP是接低电平(微处理器模式)还是高电平(微计算机模式)就行了.
为什么要把程序写入0x1000开始的地址处呢?这就是上面为什么介绍了VC33处理器运行的两种模式,因为目前我手上的板子就是MCBL/MP=1,VC33运行于微计算机模式下,所以0000h~0FFFh保留为引导加载程序.什么意思呢?这样认为:虽然我的FLASH接到了VC33的PAGE0,但是VC33本身固化好了自己的引导程序在地址0h~0FFFh地址处,所以FLASH的0h~0FFFh实际上就不在起作用了.也就是说在此种情况下,在000 0000h~03F FFFFh地址空间中,0h~0FFFh用的VC33内部的ROM,而此后的1000h~03F FFFFh用的就是我们外接的FLASH啦.
VC33的启动顺序是先检测INT3(第119脚)->INT0(第122脚)->INT1(第121脚)->INT2(第120脚),哪个有效(指低电平有效),就会加载对应的地址中的程序.如果INT3有效,就从串口加载程序;如果INT0有效,就从1000h地址处开始加载;如果INT1有效,就从400000h地址处开始加载;如果INT2有效,就从FFF000h地址处开始加载.因为我要从1000h地址处开始加载程序,所以一开始要保证INT3为高电平,INT0为低电平才不至于走到INT3时就停止下来,呵呵^_^. 至于我说的这部分内容,如果有质疑可以参看官方的手册:TMS320C33 User's Guide,见Chapter 11中P365页的图11-1. 需要注意的一点就是在加电引导过程中MCBL/MP必须一直保持高电平.
查看更多...