mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 00:51:42 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			841 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			841 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include <unistd.h>
 | 
						|
#include "unity.h"
 | 
						|
#include "soc/rtc_cntl_reg.h"
 | 
						|
#include "esp32/ulp.h"
 | 
						|
#include "ulp_test_app.h"
 | 
						|
 | 
						|
 | 
						|
extern const uint8_t ulp_test_app_bin_start[] asm("_binary_ulp_test_app_bin_start");
 | 
						|
extern const uint8_t ulp_test_app_bin_end[]   asm("_binary_ulp_test_app_bin_end");
 | 
						|
 | 
						|
 | 
						|
TEST_CASE("jumps condition", "[ulp]")
 | 
						|
{
 | 
						|
    esp_err_t err = ulp_load_binary(0, ulp_test_app_bin_start,
 | 
						|
            (ulp_test_app_bin_end - ulp_test_app_bin_start) / sizeof(uint32_t));
 | 
						|
    TEST_ESP_OK(err);
 | 
						|
 | 
						|
    REG_CLR_BIT(RTC_CNTL_INT_RAW_REG, RTC_CNTL_ULP_CP_INT_RAW);
 | 
						|
    TEST_ESP_OK(ulp_run(&ulp_test_jumps - RTC_SLOW_MEM));
 | 
						|
    usleep(10000);
 | 
						|
 | 
						|
    TEST_ASSERT_NOT_EQUAL(0, REG_GET_BIT(RTC_CNTL_INT_RAW_REG, RTC_CNTL_ULP_CP_INT_RAW));
 | 
						|
    TEST_ASSERT_EQUAL(0, ulp_jumps_fail & UINT16_MAX);
 | 
						|
    TEST_ASSERT_EQUAL(1, ulp_jumps_pass & UINT16_MAX);
 | 
						|
}
 |