Files
vhdl/lib/CPUs/MIPS/bsp/examples/test_endianess.c
T
jens 191af92d47 Initial version
Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/


git-svn-id: http://moon:8086/svn/vhdl/trunk@790 cc03376c-175c-47c8-b038-4cd826a8556b
2010-03-13 14:13:53 +00:00

65 lines
907 B
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libsys.h"
#define TEST_SIZE 32768
int main (void)
{
int i;
UINT16 *ram16;
UINT32 sr;
UINT32 volatile *pReg = (UINT32*)SYS_LED_PORT;
*pReg = 0;
sr = CP0_SR_read();
ram16 = (UINT16*)calloc(TEST_SIZE/2,sizeof(UINT16));
CP0_SR_write(sr | (1 << 25));
for (i=0; i < TEST_SIZE/2; i++)
ram16[i] = (UINT16)i;
for (i=TEST_SIZE/2-1; i >= 0; i--)
if (ram16[i] != (UINT16)i)
break;
i++;
if (i)
*pReg = 0xFFFFFFFF;
else
*pReg = 1;
free(ram16);
ram16 = (UINT16*)calloc(TEST_SIZE/2,sizeof(UINT16));
*pReg = 0;
CP0_SR_write(sr & ~(1 << 25));
for (i=0; i < TEST_SIZE/2; i++)
ram16[i] = (UINT16)i;
for (i=TEST_SIZE/2-1; i >= 0; i--)
if (ram16[i] != (UINT16)i)
break;
i++;
if (i)
*pReg = 0xFFFFFFFF;
else
*pReg = 1;
free(ram16);
// sputs("Status : ");print_word(sr);sputs("\n");
return 0;
}