Index: RTC.c =================================================================== diff -u -r19a5e3f400a939c2d186fac59c89960088f2a4d1 -rc1cdf8965a4b1b913f939023b1b68fc48b0f06a5 --- RTC.c (.../RTC.c) (revision 19a5e3f400a939c2d186fac59c89960088f2a4d1) +++ RTC.c (.../RTC.c) (revision c1cdf8965a4b1b913f939023b1b68fc48b0f06a5) @@ -425,13 +425,13 @@ * @param none * @return RTC_RAM_STATUS_T *************************************************************************/ -RTC_RAM_STATUS_T writeToRAM( U16 address, U16* data, U32 length ) +RTC_RAM_STATUS_T writeToRAM( U32 address, U08* data, U32 length ) { RTC_RAM_STATUS_T status = RTCRAMStatus; - + U16 castedAddress = (U16)( address & MASK_OFF_MSW ); if ( status == RTC_RAM_STATUS_IDLE ) { - if ( address > MAX_ALLOWED_RTC_RAM_ADDRESS ) + if ( castedAddress > MAX_ALLOWED_RTC_RAM_ADDRESS ) { status = RTC_RAM_STATUS_ILLEGAL_ADDRESS; } @@ -447,17 +447,17 @@ hasWriteToRAMRequested = TRUE; RAMBufferLength = length; prepRAMBuffer[ RTC_PREP_RAM_INDEX ] = RTC_PREP_RAM_READ_WRITE; - prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); - prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = ( address & MASK_OFF_MSB ); + //prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); + //prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = ( address & MASK_OFF_MSB ); + prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = 0x0000; + prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = castedAddress; txBuffer[ BUFFER_INDEX_0 ] = RTC_WRITE_TO_RAM; - for ( i = 0; i < RAMBufferLength; i++ ) { txBuffer[ i + BUFFER_INDEX_1 ] = data[ i ]; } } } - return status; } @@ -473,13 +473,13 @@ * @param none * @return RTC_RAM_STATUS_T *************************************************************************/ -RTC_RAM_STATUS_T readFromRAM( U16 address, U32 length ) +RTC_RAM_STATUS_T readFromRAM( U32 address, U32 length ) { RTC_RAM_STATUS_T status = RTCRAMStatus; - + U16 castedAddress = (U16)( address & MASK_OFF_MSW ); if ( status == RTC_RAM_STATUS_IDLE ) { - if ( address > MAX_ALLOWED_RTC_RAM_ADDRESS ) + if ( castedAddress > MAX_ALLOWED_RTC_RAM_ADDRESS ) { status = RTC_RAM_STATUS_ILLEGAL_ADDRESS; } @@ -494,12 +494,11 @@ RTCRAMState = RTC_RAM_STATE_BUSY; hasReadFromRAMRequested = TRUE; RAMBufferLength = length; - prepRAMBuffer[ RTC_PREP_RAM_INDEX ] = RTC_PREP_RAM_READ_WRITE; //prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address >> SHIFT_8_BITS_FOR_BYTE_SHIFT ); //prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = ( address & MASK_OFF_NIBBLE_LSB ) >> SHIFT_BITS_BY_4; prepRAMBuffer[ RTC_RAM_HIGH_ADDRESS_INDEX ] = 0x0000; - prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = address; + prepRAMBuffer[ RTC_RAM_LOW_ADDRESS_INDEX ] = castedAddress; txBuffer[ BUFFER_INDEX_0 ] = RTC_READ_FROM_RAM; for ( i = 0; i < RAMBufferLength; i++ ) {