00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CRT_SECURE_NO_DEPRECATE
00025 #define _CRT_SECURE_NO_DEPRECATE 1
00026 #endif
00027
00028 #include "power_clocks_lib.h"
00029 #include "gpio.h"
00030 #include "intc.h"
00031 #include "print_funcs.h"
00032 #include "flashc.h"
00033 #include <string.h>
00034 #if (defined __GNUC__)
00035 #include "nlao_cpu.h"
00036 #include "nlao_usart.h"
00037 #else
00038 #include <stdio.h>
00039 #endif
00040
00041 #include "polarssl/config.h"
00042
00043 #include "polarssl/md2.h"
00044 #include "polarssl/md4.h"
00045 #include "polarssl/md5.h"
00046 #include "polarssl/sha1.h"
00047 #include "polarssl/sha2.h"
00048 #include "polarssl/sha4.h"
00049 #include "polarssl/arc4.h"
00050 #include "polarssl/des.h"
00051 #include "polarssl/aes.h"
00052 #include "polarssl/camellia.h"
00053 #include "polarssl/base64.h"
00054 #include "polarssl/bignum.h"
00055 #include "polarssl/rsa.h"
00056 #include "polarssl/x509.h"
00057 #include "polarssl/xtea.h"
00058
00061
00062 static pcl_freq_param_t pcl_freq_param =
00063 {
00064 .cpu_f = AVR32_PM_CPU_MAX_FREQ,
00065 .pba_f = AVR32_PM_PBA_MAX_FREQ,
00066 .osc0_f = FOSC0,
00067 .osc0_startup = OSC0_STARTUP
00068 };
00070
00073 static void init_sys_clocks(void)
00074 {
00075
00076
00077 if (pcl_configure_clocks(&pcl_freq_param) != PASS) {
00078 while(1);
00079 }
00080
00081
00082 init_dbg_rs232(pcl_freq_param.pba_f);
00083 }
00084
00085 #if __GNUC__
00086
00098 int _init_startup(void)
00099 {
00100
00101 extern void _evba;
00102
00103
00104 Set_system_register(AVR32_EVBA, (int)&_evba);
00105
00106
00107 Enable_global_exception();
00108
00109
00110 INTC_init_interrupts();
00111
00112
00113 set_cpu_hz(pcl_freq_param.pba_f);
00114
00115
00116 set_usart_base( ( void * ) DBG_USART );
00117
00118
00119 return 1;
00120 }
00121
00122 #elif (defined __ICCAVR32__)
00123
00124 #define CPU_HZ AVR32_PM_CPU_MAX_FREQ
00125
00128 int __low_level_init(void)
00129 {
00130
00131 Enable_global_exception();
00132
00133
00134 INTC_init_interrupts();
00135
00136
00137 extern volatile avr32_usart_t *volatile stdio_usart_base;
00138 stdio_usart_base = DBG_USART;
00139
00140
00141 return 1;
00142 }
00143
00144 #endif // Compiler
00145
00146 int main( int argc, char *argv[] )
00147 {
00148 int ret, v=1;
00149
00150 init_sys_clocks();
00151
00152 printf( "Start Self Test\n" );
00153
00154 #if defined(POLARSSL_MD2_C)
00155 if( ( ret = md2_self_test( v ) ) != 0 )
00156 return( ret );
00157 #endif
00158
00159 #if defined(POLARSSL_MD4_C)
00160 if( ( ret = md4_self_test( v ) ) != 0 )
00161 return( ret );
00162 #endif
00163
00164 #if defined(POLARSSL_MD5_C)
00165 if( ( ret = md5_self_test( v ) ) != 0 )
00166 return( ret );
00167 #endif
00168
00169 #if defined(POLARSSL_SHA1_C)
00170 if( ( ret = sha1_self_test( v ) ) != 0 )
00171 return( ret );
00172 #endif
00173
00174 #if defined(POLARSSL_SHA2_C)
00175 if( ( ret = sha2_self_test( v ) ) != 0 )
00176 return( ret );
00177 #endif
00178
00179 #if defined(POLARSSL_SHA4_C)
00180 if( ( ret = sha4_self_test( v ) ) != 0 )
00181 return( ret );
00182 #endif
00183
00184 #if defined(POLARSSL_ARC4_C)
00185 if( ( ret = arc4_self_test( v ) ) != 0 )
00186 return( ret );
00187 #endif
00188
00189 #if defined(POLARSSL_DES_C)
00190 if( ( ret = des_self_test( v ) ) != 0 )
00191 return( ret );
00192 #endif
00193
00194 #if defined(POLARSSL_AES_C)
00195 if( ( ret = aes_self_test( v ) ) != 0 )
00196 return( ret );
00197 #endif
00198
00199 #if defined(POLARSSL_BASE64_C)
00200 if( ( ret = base64_self_test( v ) ) != 0 )
00201 return( ret );
00202 #endif
00203
00204 #if defined(POLARSSL_BIGNUM_C)
00205 if( ( ret = mpi_self_test( v ) ) != 0 )
00206 return( ret );
00207 #endif
00208
00209 #if defined(POLARSSL_RSA_C)
00210 if( ( ret = rsa_self_test( v ) ) != 0 )
00211 return( ret );
00212 #endif
00213
00214 #if defined(POLARSSL_X509_PARSE_C)
00215 if( ( ret = x509_self_test( v ) ) != 0 );
00216
00217 #endif
00218
00219 #if defined(POLARSSL_XTEA_C)
00220 if( ( ret = xtea_self_test( v ) ) != 0 )
00221 return( ret );
00222 #endif
00223
00224 #if defined(POLARSSL_CAMELLIA_C)
00225 if( ( ret = camellia_self_test( v ) ) != 0 )
00226 return( ret );
00227 #endif
00228
00229 if( v != 0 )
00230 {
00231 printf( " [ All tests passed ]\n\n" );
00232 #ifdef WIN32
00233 printf( " Press Enter to exit this program.\n" );
00234 fflush( stdout ); getchar();
00235 #endif
00236 }
00237
00238 return( ret );
00239 }