FreeRTOS/Demo/RISC-V_RV64_PolarFire_SoftConsole/polarfire_hal/platform/mpfs_hal/startup_gcc/system_startup.c
/*-----------------------------------------------------------------------------
   * _start() function called invoked
   * This function is called on power up and warm reset.
   */
_start() function called invoked
This function is called on power up and warm reset.
_start () function called invoked This function is called on power up and warm reset .
__attribute__((weak)) void init_ddr(void)
  {
    if ((LIBERO_SETTING_DDRPHY_MODE & DDRPHY_MODE_MASK) != DDR_OFF_MODE) {
#ifdef DDR_SUPPORT
        uint64_t end_address;
#if 0 
        end_address = LIBERO_SETTING_DDR_64_NON_CACHE + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI2_0 + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI2_1;
        zero_section((uint64_t *)LIBERO_SETTING_DDR_64_NON_CACHE, (uint64_t *)end_address);
#endif
        end_address = LIBERO_SETTING_DDR_64_CACHE + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI1_0 + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI1_1;
        zero_section((uint64_t *)LIBERO_SETTING_DDR_64_CACHE, (uint64_t *)end_address);
#endif
    }
  }
__attribute__ ( ( weak ) ) void init_ddr ( void ) { if ( ( LIBERO_SETTING_DDRPHY_MODE & DDRPHY_MODE_MASK ) != DDR_OFF_MODE ) { #ifdef DDR_SUPPORT uint64_t end_address ; #if 0 end_address = LIBERO_SETTING_DDR_64_NON_CACHE + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI2_0 + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI2_1 ; zero_section ( ( uint64_t * ) LIBERO_SETTING_DDR_64_NON_CACHE , ( uint64_t * ) end_address ) ; #endif end_address = LIBERO_SETTING_DDR_64_CACHE + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI1_0 + LIBERO_SETTING_CFG_AXI_END_ADDRESS_AXI1_1 ; zero_section ( ( uint64_t * ) LIBERO_SETTING_DDR_64_CACHE , ( uint64_t * ) end_address ) ; #endif } }
_start() function called invoked
 This function is called on power up and warm reset.
_start () function called invoked This function is called on power up and warm reset .
/* enable to init cache to zero using 64 bit writes */