// *************************************************************************** // repeat_mem_test - Repeating Memory Tests // static void repeat_mem_test (MENU_ARG arg) { CYG_ADDRWORD start_addr, mem_size, end_addr; char cache_disable[10]; diag_printf ("Turn off Data Cache? (y/n): "); while (_rb_gets(cache_disable, sizeof(cache_disable), 0) != _GETS_OK) ; diag_printf ("\nBase address of memory to test (in hex): "); start_addr = hexIn(); diag_printf ("\nSize of memory to test (in hex): "); mem_size = hexIn(); end_addr = start_addr + mem_size - 1; diag_printf("\nTesting memory from %p to %p", start_addr, end_addr); while (memTest (start_addr, end_addr)) ; }
// *************************************************************************** // memory_tests - Basic Memory Tests // // Memory tests can be run one of two ways - with the cache turned OFF to test // physical memory, or with cache turned ON to test the caching // static void memory_tests (MENU_ARG arg) { CYG_ADDRWORD start_addr, end_addr; long mem_size; diag_printf("Base address of memory to test (in hex): "); start_addr = hexIn(); diag_printf ("\nSize of memory to test (in hex): "); mem_size = hexIn(); end_addr = start_addr + mem_size - 1; diag_printf("\nTesting memory from %p to %p.\n", start_addr, end_addr); memTest(start_addr, end_addr); diag_printf ("\nMemory test done.\n"); }
int main(int argc, char *argv[]){ int i, j; int N; char name[128]; N = 50000000; float *Aout, *Ain; Aout = (float*) malloc(N*sizeof(float)); if (!Aout){ fprintf(stderr,"error in Aout malloc"); } Ain = (float*) malloc(N*sizeof(float)); if (!Ain){ fprintf(stderr,"error in Ain malloc"); } printf("total Data: %0.3f Megabytes\n", (float) N*sizeof(float)/1048576); generateArray(Ain, N); //starting up opencl cl_device_id devices[MAXDEVICES]; cl_platform_id platforms[MAXPLATFORMS]; unsigned int num_devices, num_platforms; clGetPlatformIDs(MAXPLATFORMS, platforms, &num_platforms); printf("number of platforms found: %d\n", num_platforms); for (i = 0; i < num_platforms; i++){ clGetPlatformInfo(platforms[i], CL_PLATFORM_NAME, sizeof(name), name, NULL); clGetDeviceIDs(platforms[i], CL_DEVICE_TYPE_ALL, MAXDEVICES, devices, &num_devices); //list devices available on platform printf("platform %s with %d devices\n", name, num_devices); for (j = 0; j < num_devices; j++){ clGetDeviceInfo(devices[j], CL_DEVICE_NAME, sizeof(name), name, NULL); printf("\tdevice %d %s\n", j, name); memTest(platforms[i], devices[j], Ain, Aout, N); } } return 0; }
void systemTask(void *arg) { bool pass = true; ledInit(); ledSet(CHG_LED, 1); uartInit(); //Init the high-levels modules systemInit(); #ifndef USE_RADIOLINK_CRTP #ifdef UART_OUTPUT_TRACE_DATA //debugInitTrace(); #endif #ifdef ENABLE_UART // uartInit(); #endif #endif //ndef USE_RADIOLINK_CRTP commInit(); DEBUG_PRINT("----------------------------\n"); DEBUG_PRINT("Crazyflie is up and running!\n"); DEBUG_PRINT("Build %s:%s (%s) %s\n", V_SLOCAL_REVISION, V_SREVISION, V_STAG, (V_MODIFIED)?"MODIFIED":"CLEAN"); DEBUG_PRINT("I am 0x%X%X%X and I have %dKB of flash!\n", *((int*)(MCU_ID_ADDRESS+8)), *((int*)(MCU_ID_ADDRESS+4)), *((int*)(MCU_ID_ADDRESS+0)), *((short*)(MCU_FLASH_SIZE_ADDRESS))); commanderInit(); stabilizerInit(); expbrdInit(); memInit(); //Test the modules pass &= systemTest(); pass &= configblockTest(); pass &= commTest(); pass &= commanderTest(); pass &= stabilizerTest(); pass &= expbrdTest(); pass &= memTest(); //Start the firmware if(pass) { selftestPassed = 1; systemStart(); ledseqRun(SYS_LED, seq_alive); ledseqRun(LINK_LED, seq_testPassed); } else { selftestPassed = 0; if (systemTest()) { while(1) { ledseqRun(SYS_LED, seq_testPassed); //Red passed == not passed! vTaskDelay(M2T(2000)); // System can be forced to start by setting the param to 1 from the cfclient if (selftestPassed) { DEBUG_PRINT("Start forced.\n"); systemStart(); break; } } } else { ledInit(); ledSet(SYS_LED, true); } } DEBUG_PRINT("Free heap: %d bytes\n", xPortGetFreeHeapSize()); workerLoop(); //Should never reach this point! while(1) vTaskDelay(portMAX_DELAY); }
void systemTask(void *arg) { bool pass = true; ledInit(); ledSet(CHG_LED, 1); #ifdef DEBUG_QUEUE_MONITOR queueMonitorInit(); #endif #ifdef ENABLE_UART1 uart1Init(); #endif #ifdef ENABLE_UART2 uart2Init(); #endif //Init the high-levels modules systemInit(); commInit(); commanderInit(); StateEstimatorType estimator = anyEstimator; deckInit(); estimator = deckGetRequiredEstimator(); stabilizerInit(estimator); if (deckGetRequiredLowInterferenceRadioMode()) { platformSetLowInterferenceRadioMode(); } soundInit(); memInit(); #ifdef PROXIMITY_ENABLED proximityInit(); #endif //Test the modules pass &= systemTest(); pass &= configblockTest(); pass &= commTest(); pass &= commanderTest(); pass &= stabilizerTest(); pass &= deckTest(); pass &= soundTest(); pass &= memTest(); pass &= watchdogNormalStartTest(); //Start the firmware if(pass) { selftestPassed = 1; systemStart(); soundSetEffect(SND_STARTUP); ledseqRun(SYS_LED, seq_alive); ledseqRun(LINK_LED, seq_testPassed); } else { selftestPassed = 0; if (systemTest()) { while(1) { ledseqRun(SYS_LED, seq_testPassed); //Red passed == not passed! vTaskDelay(M2T(2000)); // System can be forced to start by setting the param to 1 from the cfclient if (selftestPassed) { DEBUG_PRINT("Start forced.\n"); systemStart(); break; } } } else { ledInit(); ledSet(SYS_LED, true); } } DEBUG_PRINT("Free heap: %d bytes\n", xPortGetFreeHeapSize()); workerLoop(); //Should never reach this point! while(1) vTaskDelay(portMAX_DELAY); }
void systemTask(void *arg) { bool pass = true; ledInit(); ledSet(CHG_LED, 1); #ifdef DEBUG_QUEUE_MONITOR queueMonitorInit(); #endif uartInit(); #ifdef ENABLE_UART1 uart1Init(); #endif #ifdef ENABLE_UART2 uart2Init(); #endif //Init the high-levels modules systemInit(); #ifndef USE_RADIOLINK_CRTP #ifdef UART_OUTPUT_TRACE_DATA //debugInitTrace(); #endif #ifdef ENABLE_UART // uartInit(); #endif #endif //ndef USE_RADIOLINK_CRTP commInit(); commanderAdvancedInit(); stabilizerInit(); #ifdef PLATFORM_CF2 deckInit(); #endif soundInit(); memInit(); #ifdef PROXIMITY_ENABLED proximityInit(); #endif //Test the modules pass &= systemTest(); pass &= configblockTest(); pass &= commTest(); pass &= commanderAdvancedTest(); pass &= stabilizerTest(); #ifdef PLATFORM_CF2 pass &= deckTest(); #endif pass &= soundTest(); pass &= memTest(); pass &= watchdogNormalStartTest(); //Start the firmware if(pass) { selftestPassed = 1; systemStart(); soundSetEffect(SND_STARTUP); ledseqRun(SYS_LED, seq_alive); ledseqRun(LINK_LED, seq_testPassed); } else { selftestPassed = 0; if (systemTest()) { while(1) { ledseqRun(SYS_LED, seq_testPassed); //Red passed == not passed! vTaskDelay(M2T(2000)); // System can be forced to start by setting the param to 1 from the cfclient if (selftestPassed) { DEBUG_PRINT("Start forced.\n"); systemStart(); break; } } } else { ledInit(); ledSet(SYS_LED, true); } } DEBUG_PRINT("Free heap: %d bytes\n", xPortGetFreeHeapSize()); workerLoop(); //Should never reach this point! while(1) vTaskDelay(portMAX_DELAY); }