Beispiel #1
0
/*;*<*>********************************************************
  *  ram_addr_test
  *
  * This performs a destructive test on the range of ram specified
  * 
  *    1) Write 0s to all ram and check all written to 0
  *    2) Perform addr line check
  * Note: This routine or the functions called must only use memory 
  *        on the stack
  **start*/
 enum inite_return ram_addr_test(char *lower_addr, char *upper_addr)
 {
 register int mask;

     if (lower_addr >= upper_addr)
        return PASS;

     fill_ram(lower_addr, upper_addr,TEST1_VALUE);
     if ((int)verify_ram(lower_addr,upper_addr,TEST1_VALUE) == (int) FAIL)
        return FAIL;


     *lower_addr = TEST2_VALUE;
     if ((int)verify_ram(lower_addr+1,upper_addr,TEST1_VALUE) == (int) FAIL)
         return FAIL;

     *lower_addr = TEST1_VALUE;
     for (mask=1; (lower_addr+mask)<=upper_addr; mask <<= 1) {
         if (addr_test(lower_addr,upper_addr,lower_addr+mask)==FAIL){
            return FAIL;
         }
     }

     fill_ram(lower_addr, upper_addr, FILL_MEM_VALUE);
     if (verify_ram(lower_addr,upper_addr,FILL_MEM_VALUE) == (int) FAIL)
        return FAIL;

     return PASS;

 } /*end ram_addr_test*/
Beispiel #2
0
/*;*<*>********************************************************
  * ext_banked_ram_test
  *
  **start*/
enum inite_return ext_banked_ram_test(void)
 {
   enum ram_bank_number bank_loop;

   hw_ram_bank_set(RAM_BANK_0);
   if ( (int)FAIL == (int)ram_test((char *)LOWER_BANKED_RAM_ADDR,
                                   (char *)UPPER_BANKED_RAM_ADDR
                                  )
      )
   {
      return FAIL;
   }

   if (verify_ram_bank_switch((char *)LOWER_BANKED_RAM_ADDR) == FAIL) {
      return FAIL;
   }

   /*
    * Fill the banks with data
    */
   for (bank_loop=RAM_BANK_0;
       (int) bank_loop < (int) RAM_BANK_END; 
        bank_loop++)
   {
      hw_ram_bank_set(bank_loop);
      fill_ram((char *)LOWER_BANKED_RAM_ADDR,
               (char *)UPPER_BANKED_RAM_ADDR,
               FILL_MEM_VALUE);
   }

   return PASS;
 } /*end ext_banked_ram_test*/
Beispiel #3
0
void OLED::clear() {
    fill_ram(0x00);
}