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.

CC3200 application_bootloader有没有相关说明资料?

Other Parts Discussed in Thread: CC3200

application_bootloader有没有相关说明资料,里面如何实现应用代码的跳转?嵌套的relocator什么作用,如何将自己写的应用代码修改偏移地址,加入到这个工程中实验一下,是否可以实现IAP功能。谢谢

  • cc3200的应用程序代码放在FLASH里,文件名字为/sys/mcuimg1,/sys/mcuimg2,/sys/mcuimg3,在bootload里面,用

    iRetVal = sl_FsRead(lFileHandle,0, (unsigned char *)APP_IMG_SRAM_OFFSET,
    pFsFileInfo.FileLen );

    将相应的程序代码拷贝到sram的0x20004000地址区,然后调用Run(APP_IMG_SRAM_OFFSET);运行。

    cc3200没有IAP的概念,因为它的应用程序不是在FLASH里运行的,bootload应用程序把片外FLASH拷贝到片内RAM里运行。

    我也是刚刚做这个,这个函数Run(APP_IMG_SRAM_OFFSET);还没找到在哪里定义的。

  • 我也是刚刚搞明白。那个Run函数就在代码里面。多谢了。TI这个Bootloader确实很好用,推荐。

    #ifndef ccs
    void Run(unsigned long ulBaseLoc)
    {

    //
    // Set the SP
    //
    __asm(" ldr sp,[r0]\n"
    " add r0,r0,#4");

    //
    // Jump to entry code
    //
    __asm(" ldr r1,[r0]\n"
    " bx r1");
    }
    #else
    __asm(" .sect \".text:Run\"\n"
    " .clink\n"
    " .thumbfunc Run\n"
    " .thumb\n"
    "Run:\n"
    " ldr sp,[r0]\n"
    " add r0,r0,#4\n"
    " ldr r1,[r0]\n"
    " bx r1");
    #endif