Dear all,
I am working on evmc6657 board and I am going through the examples that load one simple hello word from core 0 to core 1.
I have used the code that is included in the examples under folder /srio
The main routine of this code is the following
coreNum = platform_get_coreid(); if (coreNum == 0) { // platform_uart_init(); // platform_uart_set_baudrate(BOOT_UART_BAUDRATE); printf("%s%s\n\n", version_msg, version); /* Unlock the chip registers */ DEVICE_REG32_W(KICK0, 0x83e70b13); DEVICE_REG32_W(KICK1, 0x95a4f1e0); /* Writing the entry address to other cores */ for (core = 1; core < NUMBER_OF_CORES; core++) { sprintf(boot_msg, "\r\n\r\nBooting Hello World image on Core %d from Core 0 ...", core); printf("%s\n",boot_msg); DEVICE_REG32_W(BOOT_MAGIC_ADDR(core), (uint32_t)write_boot_magic_number); /* Delay 1 sec */ platform_delay(1); } for (core = 1; core < NUMBER_OF_CORES; core++) { /* IPC interrupt other cores */ DEVICE_REG32_W(IPCGR(core), 1); platform_delay(1000); } } else { write_boot_magic_number(); }
I use the CCS6 . Using the debugger I noticed that the code enters only in the the branch that is related with the core 0 and never in the branch that is related with core1. Are any additional setting that are needed to see that the second core is loaded and run?
I have removed the code for the UART. I want to test only that the code enters in the else
Best regards
George