This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于DSP6748的Bootload中Jump & Close Command (0x58535906)命令的若干疑问

Jump & Close Command (0x58535906)是一个跳转并关闭的命令,AIS文件的结尾都会跟上这个语句,跳转到用户的程序处,但是我所不知道的是关闭的是关闭什么东西呢?是关闭boot中的所用到的外设吗?那为什么我发现在boot中初始化的PLL,初始化了CPU的时钟为456M,但是我的用户程序中并没有对PLL进行设置的程序,如果说Jump & Close Command是关闭了外设的话,为什么我发现进入用户程序后,CPU的时钟还是456M呢?

  • 只是关闭boot peripheral,而不是整个芯片的peripheral,比如HPI boot后,HPI接口就恢复成默认状态,需要用户程序重新初始化才可以再访问。

    AIS的一个最大的便利就是在boot前对芯片的进行初始化,比如DDR, PLL, PINMUX等,要是boot完后又恢复成默认值,那就白干了。

  • 关闭boot外设?是不是可以这样理解呢,比如我用的是uart的boot模式,boot程序会自动发来DSP的uart外设,在boot完成之后该uart外设会被关闭,若用户需要使用uart的话需要在用户的程序中手动开始,但是在aisgen中配置的pll,ddr什么的在boot结束后却不会被关闭?有比如说我用的是I2C的boot方式,在boot的时候会自动打开I2C,boot完成后就关闭I2C,但是在aisgen中选择开启的外设在boot完成后却不会被关闭,我这样理解对吗?

  • 对!

    所谓的关闭就是把相应管脚复恢默认配置,相应外设在PSC里置于默认disable状态.