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.

TDA4VM: MCU域的rtos应用运行方式有哪些

Part Number: TDA4VM


各位好,请教一下几个问题:

1、 MCU域上的RTOS应用程序是否在DDR上运行?
2、 如果MCU域上的RTOS应用程序在DDR上运行,主域崩溃是否会影响MCU域上RTOS应用程序的运行?
3、 MCU域上的RTOS应用程序也可以在OSPI上运行,对吗?
4、 如何将MCU域中的RTOS应用程序配置为在DDR或OSPI上运行?这两者有什么区别?

  • 可以在DDR上运行。

    如何将MCU域中的RTOS应用程序配置为在DDR或OSPI上运行?

    OSPI是启动模式,详细细节可参考TRM 4.6.4 OSPI Bootloader Operation

    一般来说是将程序烧写在OSPI flash上,然后可以将程序搬移到DDR上运行。

  • 第二个问题呢,

  • 我确认一下再给你回复。

  • 如果MCU域上的RTOS应用程序在DDR上运行,主域崩溃是否会影响MCU域上RTOS应用程序的运行?

    由于DDR是在主域中,所以主域崩溃是有可能影响MCU程序运行的,具体还要视情况而定。

  • 那请问是只能运行在ddr上吗,或者可以在其他地方运行,要怎么配置,我现在有一块j721e的开发板,有没有可以测试的方法

  • 内部的ram也可以的。

    PDK中有示例,可参考ti/build/j721e/linker_r5.lds 修改:

     63     .intvecs       : {} palign(8)      > VECTORS
     64     .intc_text     : {} palign(8)      > VECTORS
     65     .rstvectors    : {} palign(8)      > RESET_VECTORS
     66     .bootCode      : {} palign(8)      > MSMC3
     67     .startupCode   : {} palign(8)      > MSMC3
     68     .startupData   : {} palign(8)      > MSMC3, type = NOINIT
     69     .text          : {} palign(8)      > DDR0
     70     .const         : {} palign(8)      > DDR0
     71     .rodata        : {} palign(8)      > DDR0
     72     .cinit         : {} palign(8)      > DDR0
     73     .pinit         : {} palign(8)      > DDR0
     74     .bss           : {} align(4)       > DDR0
     75     .far           : {} align(4)       > DDR0
     76     .data          : {} palign(128)    > DDR0
     77     .sysmem        : {}                > DDR0
     78     .data_buffer   : {} palign(128)    > DDR0
     79     .bss.devgroup* : {} align(4)       > DDR0
     80     .const.devgroup*: {} align(4)      > DDR0
     81     .boardcfg_data : {} align(4)       > DDR0