42 lines
		
	
	
		
			782 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			782 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2016, Xilinx Inc. and Contributors. All rights reserved.
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-3-Clause
 | |
|  */
 | |
| 
 | |
| #include "metal-test.h"
 | |
| #include "FreeRTOS.h"
 | |
| #include "task.h"
 | |
| 
 | |
| #define MAIN_THREAD_STACK_SZ 512
 | |
| 
 | |
| static void run_tests(void *param)
 | |
| {
 | |
| 	(void)param;
 | |
| 
 | |
| 	(void)metal_tests_run(NULL);
 | |
| 	 vTaskDelete(NULL);
 | |
| }
 | |
| 
 | |
| int main(void)
 | |
| {
 | |
| 	BaseType_t stat;
 | |
| 
 | |
| 	stat = xTaskCreate(run_tests, "run_tests", MAIN_THREAD_STACK_SZ,
 | |
| 			   NULL, 2, NULL);
 | |
| 	if (stat != pdPASS) {
 | |
| 		metal_log(METAL_LOG_ERROR, "failed to create run_tests thread\n");
 | |
| 	} else {
 | |
| 		/* Start running FreeRTOS tasks */
 | |
| 		vTaskStartScheduler();
 | |
| 	}
 | |
| 
 | |
| 	/* Will not get here, unless a call is made to vTaskEndScheduler() */
 | |
| 	while (1) {
 | |
| 		__asm__("wfi\n\t");
 | |
| 	}
 | |
| 
 | |
| 	/* suppress compilation warnings*/
 | |
| 	return 0;
 | |
| }
 | 
