Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 123617

Forum Post: RE: multi-core reset

$
0
0

Thanks foranswer.

C6474EVMare using.

BelowCSL_BootCfgUnlockKicker, CSL_IPC_genGEMInterruptfunctioncan'tbe found in theCSLor IPC.

In the case ofC6474which functionshould I use?



Work formulti-corebootare as follows.

1.setofcoreboot start address.

core 0,1,2's memory mapis shown below. (bootloader.cmd)

          core 0: BOOT: o = 0x10800000 l = 0x00010000
          core 1: BOOT: o = 0x11800000 l = 0x00010000
          core 2: BOOT: o = 0x12800000 l = 0x00010000

          . text> BOOT

core 1, 2 bootstart addresswas set to 0x11800000, 0x12800000

          # define DEVICE_REG32_W (x, y) * (volatile UINT32 *) (x) = (y)
          # define DEVICE_REG32_R (x) (* (volatile UINT32 *) (x))
          # define MAGIC_ADDR 0x02880808
          # define BOOT_MAGIC_ADDR (x) (MAGIC_ADDR (x * 4))

          / / core 1 boot start address
          DEVICE_REG32_W (BOOT_MAGIC_ADDR (1), 0x11800000);

          / / core 2 boot start address
          DEVICE_REG32_W (BOOT_MAGIC_ADDR (2), 0x12800000);

2.core 1, 2 reset

Andcore 1, 2torunfromtheboot start addresswasreset.

          DEVICE_REG32_W (0x108FFFF8, 0);          / / Flag for core 0 to bring core 1 and 2 out of reset.
          DEVICE_REG32_W (0x02880904, 1);           / / IPCGR1 (core1)
          DEVICE_REG32_W (0x018001C0, (1 << 4)); / / boot complete register

However,the registervalues ​​arenot written.



Questionsaboutthecore 1,2boot codeshould becopied fromcore 0to Necessary?
same to..

          memcpy ((UINT32 *) 0x11800000, (UINT32 *) 0x00800000, 30 * 1024);

i think it.
Afterresetcore 1, 2
thecore 1,2 is automatically executedinthememory map of  .cmd file.
Therefore, simplyreset core 1,2 withouta copy ofthe boot codedoesnot?

But theboot start address register and reset register isnot written.
RegisterasC6472lock / unlockfunctiondoes?


Viewing all articles
Browse latest Browse all 123617

Trending Articles