123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /**********************************************************************
- * © 2010 Microchip Technology Inc.
- *
- * FileName: MarchCMInusRamTest.c
- * Dependencies: Header (.h) files if applicable, see below
- * Processor: PIC18
- * Compiler: C18
- *
- * SOFTWARE LICENSE AGREEMENT:
- * Microchip Technology Inc. (“Microchip”) licenses this software to you
- * solely for use with Microchip PIC® microcontroller
- * products. The software is owned by Microchip and is protected under
- * applicable copyright laws. All rights reserved.
- *
- * SOFTWARE IS PROVIDED “AS IS.” MICROCHIP EXPRESSLY DISCLAIMS ANY
- * WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL MICROCHIP
- * BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL
- * DAMAGES, LOST PROFITS OR LOST DATA, HARM TO YOUR EQUIPMENT, COST OF
- * PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS
- * BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF),
- * ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER SIMILAR COSTS.
- *
- * REVISION HISTORY:
- *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- * Author Date Comments on this revision
- *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- * CT 09/15/2008 First release of source file
- * Mike Cahill 11/11/2010 Updated for HI-TECH v9.80
- * MVL 02/22/2011 Modified for HI-TECH v9.81
- * VR 07/11/2012 Downgrade to C18 v3.41
- *
- * Version 1.03
- *
- *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- * ADDITIONAL NOTES:
- *
- **********************************************************************/
- #include "SSL_MarchCMinusRamTest.h"
- volatile uint8_t *data_Cm = (uint8_t *)MARCHC_RAM_START_ADDRESS;
- volatile uint16_t k;
- /*******************************************************************
- * Description:
- * This function that implements the MarchC Minus test.
- * This test is a destructive test !!!
- * Input:
- * data[] : pointer to an array declared in user memory
- * MAX_MEM : value indicating the number of bytes to test
- * Return Values:
- * FAIL : return value = 0
- * PASS : return value = 1
- *
- *******************************************************************/
- unsigned char SSL_RAMtest_MarchCMinus()
- {
- volatile uint8_t testResult;
- //***********************************************
- for(k=0;k<=(MAX_MEM_Cm-1);k++)
- {
- data_Cm[k]=0xAA;
- }
- //***********************************************
- for(k=0;k<=(MAX_MEM_Cm-1);k++)
- {
- if(data_Cm[k] != 0xAA)
- return MARCHCminus_RAM_TEST_FAIL;
- else
- data_Cm[k]=0x55;
- }
- //************************************************
- for(k=0;k<=(MAX_MEM_Cm-1);k++)
- {
- if(data_Cm[k] != 0x55)
- return MARCHCminus_RAM_TEST_FAIL;
- else
- data_Cm[k]=0xAA;
- }
- //************************************************
- for(k=(MAX_MEM_Cm-1);k>0;k--)
- {
- if(data_Cm[k] != 0xAA)
- return MARCHCminus_RAM_TEST_FAIL;
- else
- data_Cm[k]=0x55;
- }
- if(data_Cm[0] != 0xAA)
- return MARCHCminus_RAM_TEST_FAIL;
- else
- data_Cm[0]=0x55;
- //***********************************************
- for(k=(MAX_MEM_Cm-1);k>0;k--)
- {
- if(data_Cm[k] != 0x55)
- return MARCHCminus_RAM_TEST_FAIL;
- else
- data_Cm[k]=0xAA;
- }
- if(data_Cm[0] != 0x55)
- return MARCHCminus_RAM_TEST_FAIL;
- else
- data_Cm[0]=0xAA;
- //***********************************************
- return MARCHCminus_RAM_TEST_PASS;
- } // End of function
|