/******************************************************************************* * * * ���W���[������ �F���v���C�A�h���X�v�Z * * ���W���[�����x�� �Frap_mm_calcReplyAddr * * �^�X�N�敪 �F�璷���C�u���� * * �@�\ �F�~�b�V�����f�[�^��M�̈�J�n�A�h���X����Ƃ��āA * * �w�肳�ꂽ�u���b�N�̂����A�w�肳�ꂽ���v���C�ԍ��� * * ���v���C�J�n�A�h���X���v�Z���� * * * * �R�[�����O�V�[�P���X�Fint rap_mm_calcReplyAddr( nodeID, misshonDataID, * * startAddr, blockNo, replyNo, &replyAddr )* * ���� �Fint nodeID �F�~�b�V�����@��ID * * int missionDataID �F�~�b�V�����f�[�^ID * * unsigned int startAddr �F�~�b�V�����f�[�^��M�̈�J�n* * �A�h���X * * (0x08100000�`0x17FFFFFF) * * int blockNo �F�u���b�N�ԍ� * * int replyNo �F�擾����Reply �ԍ� * * unsigned int replyAddr �F�y�o�́zReply �J�n�A�h���X * * �߂�l �F�������� ( <0 :�ُ� , 0:����) * * 0 �F����I�� * * -1 �FnodeID���~�b�V�����@��ID�łȂ� * * -2 �F�~�b�V�����f�[�^�̈�J�n�A�h���X��SDRAM�̈�O * * -3 �F�u���b�N�ԍ��̗̈悪SDRAM�̈�O * * �g�p��̒��� �F�Ȃ� * * �G���[���� �F�Ȃ� * * * *******************************************************************************/ #include "dpu_api.h" #include "dpu_api_proto.h" #include "rap_api.h" #include "rap_define.h" /* define��` */ #include "rap_variable.h" /* �O���[�o���ϐ��錾 */ #include "rap_func.h" /* ���v���g�^�C�v�錾 */ int rap_mm_calcReplyAddr( int nodeID, int missionDataID, unsigned int startAddr, int blockNo, int replyNo, unsigned int *replyAddr ) { unsigned int ui_blockAddr; int i_ret = 0; /* �߂�l */ M_T_MIS_DATA_PLAN info; /* �u���b�N�T�C�Y�擾�i��nodeID�`�F�b�N�j */ i_ret = rap_mm_getMisDataPlan( nodeID, missionDataID, &info ); /* �J�n�A�h���X�`�F�b�N */ if( startAddr < RA_d_SDRAM_SADDR ) { /* �A�h���X���͈͊O */ i_ret = -2; } /* ���v���C�J�n�A�h���X�v�Z */ ui_blockAddr = startAddr + info.ui_blockSize * blockNo; *replyAddr = ui_blockAddr + info.ui_replySize * replyNo; /* �u���b�N�A�h���X�`�F�b�N */ if( RA_d_SDRAM_EADDR > *replyAddr || RA_d_SDRAM_EADDR < (*replyAddr + info.ui_replySize - 1) ) { /* �A�h���X���͈͊O */ i_ret = -3; } return 0; }