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.

6678多核启动

问题1:

最近看6678手册,有点不明,6678上电后,首先Core0执行内部的bootloader,它读取从DEVSTATA获取boot模式,bootloader还是像6645加载1K代码Core0的内部RAM执行吗?这1K代码完成各个核的RAM加载,这1K可以启动Core0(直接jump到main执行),这时其他Core还是处于ilde,按照手册叙述,需要像启动Core的L2末尾(BOOT_IMAGE_ADDRESS各核0x87FFFC地址?)写入执行地址,然后通过IPC寄存器,触发其他Core运行,我的理解对吗?

问题2:

6678复位有硬件复位,软件复位,本地复位,硬件复位会导致6678重新bootloader所有核代码重新执行?和软件复位有和不同,本地复位效果是什么?从BOOT_IMAGE_ADDRESS(0x87FFFC)执行?那

DSP_BOOT_ADDR0(0x02620040)这个地址什么用,手册只提了映射,没找到其描述其功能。

  • 1. 你可以参考最新的bootloader,里面提到了bootloader会占用core0 L2的最后一部分空间来运行。core0运行完成后,会跳转到指定的Magic address处执行,其他core还是处于idle状态,需要core0主动发IPC来唤醒各个core

    2. 只有POR,RESETFULL,hard reset会重新执行bootloader,local reset会直接从根据寄存器PWRSTATECTL寄存器的值来确定从哪里开始执行,可以是LL2的起始地址,也可以是MSMC起始地址,也可以是DDR3的起始地址,或者进入到idle状态

  • hi  Zhan Xiang,我也在做IPC多核之间的触发,想问下最新的bootloader再何处有?本人刚刚接触多核,谢谢,还有想问下,core0的Magic address里面是存放的由bootloader来触发core0的起始地址,还是存放core0触发core1的起始地址?

  • 您好,

    1. bootloader手册下载地址www.ti.com/.../getliterature.tsp

    2. 每个核的magic address中写的是本核起来之后跳转的地址。

  • jun zou:

          你好,请问你那边6678多核启动能正常工作了吗?我这边是用EMFI16 NOR FLASH启动CORE0,能正常工作,CORE0启动后会将CORE1的数据搬运到CORE1中指定位置,再在CORE1 BOOT MAGIC ADDR写入CORE1跳转地址,最后就是IPC中断,但是上面描述的操作就只有CORE0可以正常工作,CORE1一直没有反应。

          我的QQ是85942591,不知道方便线上线上交流下不?

  • 你好,我刚接触dsp知识,对于6678的启动不是很了解,看资料也没什么头绪,能否有6678从flash启动的例子,还有dsp怎么初始化ddr3等外设的例子?如果用到一些库接口,这些接口在哪里定义的,可否发到我的邮箱cuiqian198611@163.com,非常感谢

  • 我遇到了 一样的问题;不知道您后来如何解决的?