diff --git a/packages/ti/drv/spi/example/mcspi_slavemode/j721e/linker_mcu_sysbios.lds b/packages/ti/drv/spi/example/mcspi_slavemode/j721e/linker_mcu_sysbios.lds
index 9acf400..c2e278e 100644
--- a/packages/ti/drv/spi/example/mcspi_slavemode/j721e/linker_mcu_sysbios.lds
+++ b/packages/ti/drv/spi/example/mcspi_slavemode/j721e/linker_mcu_sysbios.lds
@@ -7,11 +7,12 @@
 
 MEMORY
 {
-    R5F_TCMA_SBL_RSVD(X): ORIGIN = 0x00000000 , LENGTH = 0x100
-    RESET_VECTORS(X)    : ORIGIN = 0x41c40000 , LENGTH = 0x100  /* Bottom 256 KB used by SBL */
-    R5F_TCMB0(RWIX)     : ORIGIN = 0x41010000 , LENGTH = 0x00008000
-    MSMC3(RWIX)         : ORIGIN = 0x70080000 , LENGTH = 0x770000
-    DDR0(RWIX)          : ORIGIN = 0x80000000 , LENGTH = 0x80000000
+    MCU0_R5F_TCMA (X)     : origin = 0x100      , length = 0x8000 - 0x100
+    RESET_VECTORS(X)      : ORIGIN = 0x00000000 , LENGTH = 0x100  /* Bottom 256 KB used by SBL */
+    R5F_TCMB0(RWIX)       : ORIGIN = 0x41010000 , LENGTH = 0x00008000
+    MSMC3(RWIX)           : ORIGIN = 0x70080000 , LENGTH = 0x770000
+    DDR0(RWIX)            : ORIGIN = 0x80000000 , LENGTH = 0x80000000
+    MCU1_0_MSRAM          : origin = 0x41C40100 , length = 0x5C000 - 0x100
 }
 
 SECTIONS
@@ -21,18 +22,25 @@ SECTIONS
     } palign(8) > RESET_VECTORS
     .text_boot {
         *boot.aer5f<*boot.o*>(.text)
-     }  palign(8)   > R5F_TCMB0
-    .text:xdc_runtime_Startup_reset__I     : {} palign(8) > R5F_TCMB0
-    .text:ti_sysbios_family_arm_v7r_Cache* : {} palign(8) > R5F_TCMB0
-    .text:ti_sysbios_family_arm_MPU*       : {} palign(8) > R5F_TCMB0
+     }  palign(8)   > MCU0_R5F_TCMA
+    .text:xdc_runtime_Startup_reset__I     : {} palign(8) > MCU0_R5F_TCMA
+    .text:ti_sysbios_family_arm_v7r_Cache* : {} palign(8) > MCU0_R5F_TCMA
+    .text:ti_sysbios_family_arm_MPU*       : {} palign(8) > MCU0_R5F_TCMA
+    .rstvectors : {} palign(8)      	> MCU1_0_MSRAM
 
-    .text       : {} palign(8)   > MSMC3
-    .cinit      : {} palign(8)   > MSMC3
-    .bss        : {} align(8)    > MSMC3
-    .far        : {} align(8)    > MSMC3
-    .const      : {} palign(8)   > MSMC3
-    .data       : {} palign(128) > MSMC3
-    .sysmem     : {} align(8)    > MSMC3
-    .stack      : {} align(4)    > MSMC3
-    .data_buffer: {} palign(128) > DDR0
+    /* For NDK packet memory, we need to map this sectionsbefore .bss*/
+    .bss:NDK_MMBUFFER  (NOLOAD) {} ALIGN (128) > MCU1_0_MSRAM
+    .bss:NDK_PACKETMEM (NOLOAD) {} ALIGN (128) > MCU1_0_MSRAM
+
+    .intvecs 	: {} palign(8) 	 > MCU1_0_MSRAM
+    .bss     	: {} align(4)  	 > MCU1_0_MSRAM
+    .text       : {} palign(8)   > MCU1_0_MSRAM
+    .cinit      : {} palign(8)   > MCU1_0_MSRAM
+    .bss        : {} align(8)    > MCU1_0_MSRAM
+    .far        : {} align(8)    > MCU1_0_MSRAM
+    .const      : {} palign(8)   > MCU1_0_MSRAM
+    .data       : {} palign(128) > MCU1_0_MSRAM
+    .sysmem     : {} align(8)    > MCU1_0_MSRAM
+    .stack      : {} align(4)    > MCU1_0_MSRAM
+    .data_buffer: {} palign(128) > MCU1_0_MSRAM
 }
diff --git a/packages/ti/drv/spi/example/mcspi_slavemode/src/main_mcspi_slave_mode.c b/packages/ti/drv/spi/example/mcspi_slavemode/src/main_mcspi_slave_mode.c
index 750aab3..4a25e03 100755
--- a/packages/ti/drv/spi/example/mcspi_slavemode/src/main_mcspi_slave_mode.c
+++ b/packages/ti/drv/spi/example/mcspi_slavemode/src/main_mcspi_slave_mode.c
@@ -1563,11 +1563,14 @@ Void masterTaskFxn (UArg arg0, UArg arg1)
 void masterTaskFxn()
 #endif
 {
+    SPI_log("\n < ---- Inside Master Task ---- > \n");
     uint32_t  i;
     bool      testFail = false;
     SPI_Tests *test;
 
+    SPI_log("\n < ----     SPI_init()     ---- > \n");
     SPI_init();
+    SPI_log("\n < ---- SPI_init() ...done ---- > \n");
 
     for (i = 0; ; i++)
     {
@@ -1615,11 +1618,15 @@ void masterTaskFxn()
 /*
  *  ======== main ========
  */
+volatile uint32_t  qwerty = 0x0;
+
 int main(void)
 {
+    while(qwerty);
     /* Call board init functions */
     Board_initCfg boardCfg;
     Board_STATUS  boardStatus;
+    boardStatus = Board_init(BOARD_INIT_UART_STDIO);
 #if defined (evmK2G)
     SPI_v0_HWAttrs spi_cfg;
     uint8_t instance;
@@ -1667,14 +1674,18 @@ int main(void)
  * pinmux only need to be initialized once in board
  */
 #if defined(BUILD_MPU)
-    boardCfg = BOARD_INIT_PINMUX_CONFIG |
-               BOARD_INIT_MODULE_CLOCK |
-               BOARD_INIT_UART_STDIO;
+    //boardCfg = BOARD_INIT_MODULE_CLOCK |
+    //           BOARD_INIT_UART_STDIO;
+    boardCfg = BOARD_INIT_UART_STDIO;
 #else
-    boardCfg = BOARD_INIT_MODULE_CLOCK |
+    //boardCfg = BOARD_INIT_PINMUX_CONFIG |
+    //           BOARD_INIT_MODULE_CLOCK |
+    //           BOARD_INIT_UART_STDIO;
+    boardCfg = BOARD_INIT_PINMUX_CONFIG |
                BOARD_INIT_UART_STDIO;
 #endif
     boardStatus = Board_init(boardCfg);
+    SPI_log("\n < ---- Board_init ...done ---- > \n");
     if (boardStatus != BOARD_SOK)
     {
         return (0);
