Moved remotely
git-svn-id: file:///srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories/svn/Diplomarbeit@110 9fe90eed-be63-e94b-8204-d34ff4c2ff93
This commit is contained in:
@@ -0,0 +1,172 @@
|
||||
/* ---------------------------------------------------------------------------
|
||||
* testeeprom.c (c) 2008 Micro-key bv
|
||||
* ---------------------------------------------------------------------------
|
||||
* Micro-key bv
|
||||
* Industrieweg 28, 9804 TG Noordhorn
|
||||
* Postbus 92, 9800 AB Zuidhorn
|
||||
* The Netherlands
|
||||
* Tel: +31 594 503020
|
||||
* Fax: +31 594 505825
|
||||
* Email: support@microkey.nl
|
||||
* Web: www.microkey.nl
|
||||
* ---------------------------------------------------------------------------
|
||||
* Description:
|
||||
* ---------------------------------------------------------------------------
|
||||
* Version(s): 0.1, Mar 11, 2008, MMi
|
||||
* Creation.
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* System include files
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
#include "lpc23xx.h"
|
||||
#include "types.h"
|
||||
|
||||
|
||||
/* FreeRTOS includes */
|
||||
#include "FreeRTOS.h"
|
||||
#include "Task.h"
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Application include files
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
#include "testeeprom.h"
|
||||
#include "eeprom.h"
|
||||
#include "SerOut.h"
|
||||
#include "dio.h"
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Local constant and macro definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Global variable definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
/* Use same Arrays as Flash Test to minimize Memory usage */
|
||||
// \MARK ARRAYS NOT NECESSARY ON OLIMEXBOARD
|
||||
#if ((PINSET_TESTER == 1) || (PINSET_TESTER == 2))
|
||||
UINT8 eepromResponseString[3000];
|
||||
UINT8 eepromTestString[3000];
|
||||
#endif
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Local variable definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
UINT16 adres_var[2];
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Local function definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
BOOLEAN testeepromStart(void)
|
||||
{
|
||||
BOOLEAN eepromTestResult;
|
||||
|
||||
eepromTestResult = doeepromTest();
|
||||
|
||||
return (eepromTestResult);
|
||||
}
|
||||
|
||||
BOOLEAN doeepromTest (void)
|
||||
{
|
||||
BOOLEAN testFailed= FALSE;
|
||||
|
||||
// \MARK TEST NOT NECESSARY ON OLIMEXBOARD
|
||||
#if ((PINSET_TESTER == 1) || (PINSET_TESTER == 2))
|
||||
/*Local Variable Declaration */
|
||||
UINT8 testByte;
|
||||
UINT8 testString[] = "Dit is een oefening";
|
||||
UINT16 index;
|
||||
UINT8 oneByte = 0;
|
||||
|
||||
sendString (COM2, TRUE, testMessage,
|
||||
"\tWrite Byte 0x34 to Adress 256", Dummy, Dummy);
|
||||
eepromWrite (256, 0x34); /* Write one Byte to EEPROM */
|
||||
eepromRead (256, &testByte); /* Read written Byte from EEPROM */
|
||||
testFailed = (testByte != 0x34); /* compare read and written Bytes */
|
||||
if (testFailed == FALSE)
|
||||
{
|
||||
sendString (COM2, FALSE, testMessage,
|
||||
"\t DONE", Dummy, Dummy);
|
||||
dioWrite (0, 1, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendString (COM2, FALSE, testMessage,
|
||||
"\t FAILURE", Dummy, Dummy);
|
||||
dioWrite (0, 0, TRUE);
|
||||
}
|
||||
|
||||
if (!testFailed) /* If no Test fail up to here */
|
||||
{
|
||||
sendString (COM2, TRUE, testMessage,
|
||||
"\tWrite 10 Bytes to Adress 511", Dummy, Dummy);
|
||||
eepromWriteBuffer( 511, testString, 10);
|
||||
/* Write Teststring to EEPROM with */
|
||||
/* width of 10 Bytes */
|
||||
eepromReadBuffer( 511, eepromResponseString, 10);
|
||||
/* Read written String from EEPROM */
|
||||
|
||||
for (index = 0; index < 10; index++)
|
||||
{ /* Compare both Strings */
|
||||
if (eepromResponseString[index] != testString[index])
|
||||
{ /* If Strings are not equal */
|
||||
testFailed = TRUE; /* Set Test Result to FALSE */
|
||||
}
|
||||
}
|
||||
if (testFailed == FALSE)
|
||||
{
|
||||
sendString (COM2, FALSE, testMessage,
|
||||
"\t DONE", Dummy, Dummy);
|
||||
dioWrite (0, 3, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendString (COM2, FALSE, testMessage,
|
||||
"\t FAILURE", Dummy, Dummy);
|
||||
dioWrite (0, 2, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!testFailed) /* If no Test fail up to here */
|
||||
{
|
||||
sendString (COM2, TRUE, testMessage,
|
||||
"\tWrite 3000 Byte to Adress 500", Dummy, Dummy);
|
||||
int loopcnt;
|
||||
for (loopcnt=0; loopcnt < 3000; loopcnt++)
|
||||
{ /* Fill flashTestString */
|
||||
eepromTestString[loopcnt] = oneByte++;
|
||||
}
|
||||
eepromWriteBuffer( 500, eepromTestString, 3000);
|
||||
/* Write flashTestString to EEPROM */
|
||||
/* with width of 3000 Bytes */
|
||||
eepromReadBuffer( 500, eepromResponseString, 3000);
|
||||
/* Read written String from EEPROM */
|
||||
|
||||
for (index = 0; index < 3000; index++)
|
||||
{ /* Compare both Strings */
|
||||
if (eepromResponseString[index] != eepromTestString[index])
|
||||
{ /* If Strings are not equal */
|
||||
testFailed = TRUE; /* Set Test Result to FALSE */
|
||||
}
|
||||
}
|
||||
if (testFailed == FALSE)
|
||||
{
|
||||
sendString (COM2, FALSE, testMessage, "\t DONE", Dummy, Dummy);
|
||||
dioWrite (0, 5, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendString (COM2, FALSE, testMessage, "\t FAILURE", Dummy, Dummy);
|
||||
dioWrite (0, 4, TRUE);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return (!testFailed); /* Return Test Result */
|
||||
}
|
||||
Reference in New Issue
Block a user