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.

C6748的CodeStartBranch.asm 文件请问在哪个文件夹下或者在官网可以下载吗

Other Parts Discussed in Thread: TMS320C6748

大家好

1、我想请问下tms320c6748平台的CodeStartBranch.asm在哪个路径下找到?

2、在网上看到了DSP281x_CodeStartBranch.asm文件,学习了下这个文件,如下图所示

我想请问,画圈圈的两条语句是跳转指令,跳转到用户代码,这我是可以理解的。但是CodeStartBranch.asm文件的代码和用户的代码没有在一起编译过,所以在这里跳转后的pc指针是怎么保证不出问题的?

谢谢

  • 在starterware里有二次bootloader代码,但这个bootloader加载的boot文件是用tiimage工具转成的。用户用的不多,有兴趣可以看一下。不知道这个wiki网站您那边是否还能访问。
    processors.wiki.ti.com/.../OMAPL138_StarterWare_Booting_And_Flashing

  • 谢谢回复

    访问不了这个网址,

    我想请问下

    LB _c_int00

    这句话是怎么跳转的 能帮助解释下吗

    我的理解是_c_int00这个是用户代码,所以是用户编译出来的,但是CodeStartBranch.asm文件不是用户编译的

    所以不是在一起编译的两个文件是怎么跳转过去的呢?LB _c_int00这句话是可以跳转到随意内存位置?LB我在C6748指令手册上并没有看到这个指令,都是B指令,请问有什么区别吗?

    谢谢
  • C2000的问题建议去C2000论坛咨询。

    C6748跳转可以参考starterware里bootloader代码。
    /******************************************************************************
    ** Global Variable Definitions
    *******************************************************************************/

    unsigned int entryPoint = 0;
    unsigned int DspEntryPoint = 0;


    /******************************************************************************
    ** Global Function Definitions
    *******************************************************************************/
    /*
    * \brief This function initializes the system and copies the image.
    *
    * \param none
    *
    * \return none
    */
    int main(void)
    {
    /* Configures PLL and DDR controller*/
    BlPlatformConfig();

    UARTPuts("StarterWare ", -1);
    UARTPuts(deviceType, -1);
    UARTPuts(" Boot Loader\n\r", -1);

    /* Copies application from non-volatile flash memory to RAM */
    ImageCopy();

    UARTPuts("Jumping to StarterWare Application...\r\n\n", -1);

    /* Do any post-copy config before leaving boot loader */
    BlPlatformConfigPostBoot();

    /* Giving control to the application */
    appEntry = (void (*)(void)) entryPoint;

    (*appEntry)( );

    return 0;
    }