/******************************************************************************* * モジュール名称 :アプリケーション06 冗長時初期化(相手先DPU) * * モジュールラベル :app06_RdnInit * * コーリングシーケンス:void app06_RdnInit() * * 作成日・作成者 :2012/11/30 Y.K. * *******************************************************************************/ #include "dpu_api.h" #include "dpu_api_proto.h" #include "app_core.h" #include "app_rdn_core.h" #ifdef _APP_RDN_ unsigned char app06_Rdn_Init() { int i; int i_flag=0; // *********************** // **** 冗長機能開始 **** // *********************** // ** SunPulse Mode 冗長slaveへ i_flag = rap_sv_resetRdnDpu( Gd_DPU_ErrLogAdr ); // Address: 4kB in 0x08100000 - 0x17FFFFFF [SDRAM] (1MB=0x100000単位指定) // ** 転送先アドレスLower-Limit/register, 転送先アドレスUpper-Limit/register if ( Guc_dpuNo==0 ) { // *** DPU1 -> DPU2 set: half size *** i_flag = rap_sv_resetRdnMisIf ( Gd_N_MGFI, Gd_MGFI_RdnAdr, Gd_MDM_RdnAdr ); // 0x82-84 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MDM , Gd_MDM_RdnAdr, Gd_MSAS_RdnAdr ); // 0x84-86 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MSAS, Gd_MSAS_RdnAdr, Gd_EWO_RdnAdr ); // 0x86-8A 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_EWO+1,Gd_EWO_RdnAdr, Gd_SOR_RdnAdr ); // 0x8A-A0 00000 // --- added 120110 --- i_flag = rap_sv_resetRdnMisIf ( Gd_N_EWO, Gd_EWO_RdnAdr, Gd_SOR_RdnAdr ); // 0x8A-A0 00000 EWOE:8A-90 AM2P:90-96 EFD:96-98 EWOB:98-A0 Gd_EWOB_RdnAdr i_flag = rap_sv_resetRdnMisIf ( Gd_N_SOR, Gd_SOR_RdnAdr, Gd_MEF_RdnAdr ); // 0xA0-A2 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MEF, Gd_MEF_RdnAdr, Gd_MWE_RdnAdr ); // 0xA2-A4 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MWE, Gd_MWE_RdnAdr, Gd_MWE_RdnAdrE ); // 0xA4-A6 00000 } else { // *** DPU2 -> DPU1 set: half size *** i_flag = rap_sv_resetRdnMisIf ( Gd_N_MEA1, Gd_MEA1_RdnAdr, Gd_MEA2_RdnAdr ); // 0x82-84 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MEA2, Gd_MEA2_RdnAdr, Gd_MIA_RdnAdr ); // 0x84-86 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MIA, Gd_MIA_RdnAdr, Gd_MSA_RdnAdr ); // 0x86-88 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MSA, Gd_MSA_RdnAdr, Gd_HEPE_RdnAdr ); // 0x88-8A 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_HEPE, Gd_HEPE_RdnAdr, Gd_HEPI_RdnAdr ); // 0x8A-8C 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_HEPI, Gd_HEPI_RdnAdr, Gd_ENA_RdnAdr ); // 0x8C-8E 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_ENA, Gd_ENA_RdnAdr, Gd_MGFO_RdnAdr ); // 0x8E-90 00000 i_flag = rap_sv_resetRdnMisIf ( Gd_N_MGFO, Gd_MGFO_RdnAdr, Gd_MGFO_RdnAdrE); // 0x90-92 00000 } // *********************** // **** SD-RAM初期化 ***** // *********************** for (i=0; i<0x800; i++) G6uc_packet[i] = 0xFF; for (Gui_InitRdn = 0; Gui_InitRdn < Gd_DPU_RdnLen; Gui_InitRdn += 0x800) { while (1) { i_flag = dpu_sendRdnWriteCommand ( G6uc_packet, Gd_DPU_RdnStart + Gui_InitRdn, 0x800 ); if ( i_flag > -4 ) break; } } return(0); } #endif // _APP_RDN_