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.

OMAPL138 PSC中写到说ARM是禁止的,DSP是默认使能的,但是为什么BOOT中又反过来了呢?

Other Parts Discussed in Thread: OMAP-L138, OMAP-L137

Power and Sleep Controller (PSC)

14 ARM AlwaysON (PD0) SwRstDisable —
15 DSP PD_DSP (PD1) Enable —

PSC上面写的DSP是默认使能的,ARM是SwRstDisable,但是BOOT时为什么又改成ARM先启动,随后由ARM唤醒DSP了呢?

同上,OAMPL137里写的PSC中是DSP默认为禁止,ARM使能,但是BOOT中也是反过来进行的,这是为什么呢?

OMAPL138在加电BOOT时,PSC已经配置,这时ARM不是被禁止的吗?它是怎么样启动还去唤醒DSP的呢?

谢谢。

  • 你好,

    PSC的默认值和bootloader不矛盾. 正因为ARM核默认是disable的, 所以一开始需要由DSP核去唤醒ARM核, ARM核起来后, DSP核进入IDLE状态, 所以DSP核还是需要ARM核去唤醒然后才能boot程序. OMAP-L138的boot sequence如下.

    • When the device is powered on, it starts execution from DSP ROM. ARM is in in the disable state at this moment. The DSP ROM code will
      • Read certain registers to know that ARM is present. (Otherwise it will be a DSP-only boot)
      • Program PDSP0 to prepare for ARM reset vector.
      • Bring ARM out of reset and let ARM starts execution from its ROM. (Yes, that's the main difference from OMAPL137 silicon 1.x. ARM has its own ROM and will master the boot process afterwards)
      • DSP stills in the idle loop.
    • ARM starts execution from its ROM. It will
      • Put DSP into disable state (probably local reset).
      • Initialize HW, i.e. PSC, PLL, external memory etc.
      • Read bootcfg registers to decide what boot mode it will be and load and run ARM UBL from appropriate boot media, i.e. SPI flash, NAND, NOR etc.
    • ARM UBL starts running. Its behavior is totally defined by the SW. For example,
      • TI provided ARM UBL will load and run UBOOT which will further load and run Linux. The Linux application can load and run DSP .out via DSPLINK. This model is the same as DaVinci model.
      • Industrial customers can choose to load and run a DSP AIS image in certain boot media. Meanwhile ARM UBL also starts booting UBOOT and Linux. In that way, DSP can start processing data before Linux finishing boot.



    OMAP-L137的boot sequence是基于DSP核的, 跟OMAP-L138是反的, 所以OMAP-L137可以不用ARM核, 只用DSP核启动.