77#define PAGE_ALIGN (x ) (((x) + PAGE_SIZE - 1) & -PAGE_SIZE)
88
99enum {
10- ADDR__init__ ,
11- ADDR_test_func ,
12- ADDR_test_1 ,
13- ADDR_main ,
14- ADDR_abort ,
15- ADDR_exit ,
16- ADDR__stop_program ,
17- ADDR__data__ ,
10+ ADDR__init__ = 0x0000 , // __init__
11+ ADDR_test_func = 0x001a , // test_func()
12+ ADDR_test_1 = 0x0030 , // test_1()
13+ ADDR_main = 0x0058 , // main()
14+ ADDR_abort = 0x0062 , // abort()
15+ ADDR_exit = 0x006c , // _exit()
16+ ADDR__stop_program = 0x006e , // __stop_program()
17+ ADDR__data__ = 0x0070 , // __data__
18+ ADDR__data__end = 0x0072 ,
1819};
1920
20- static const uint16_t ADDR [] = {
21- 0x0000 , // __init__
22- 0x001a , // test_func()
23- 0x0030 , // test_1()
24- 0x0058 , // main()
25- 0x0062 , // abort()
26- 0x006c , // _exit()
27- 0x006e , // __stop_program()
28- 0x0070 , // __data__
29- 0x0072 , // __size__
21+ enum {
22+ SIZE__init__ = ADDR_test_func - ADDR__init__ ,
23+ SIZE_test_func = ADDR_test_1 - ADDR_test_func ,
24+ SIZE_test_1 = ADDR_main - ADDR_test_1 ,
25+ SIZE_main = ADDR_abort - ADDR_main ,
26+ SIZE_abort = ADDR_exit - ADDR_abort ,
27+ SIZE_exit = ADDR__stop_program - ADDR_exit ,
28+ SIZE__stop_program = ADDR__data__ - ADDR__stop_program ,
29+ SIZE__data__ = ADDR__data__end - ADDR__data__ ,
3030};
3131
3232static const uint8_t FLASH [] =
@@ -128,7 +128,7 @@ static void test_avr_basic_alu(void)
128128 OK (uc_reg_write (uc , UC_AVR_REG_R24W , & r_func_arg0 ));
129129 OK (uc_reg_write (uc , UC_AVR_REG_R22W , & r_func_arg1 ));
130130
131- const uint64_t code_start = ADDR [ ADDR_test_func ] + 8 ;
131+ const uint64_t code_start = ADDR_test_func + 8 ;
132132 OK (uc_emu_start (uc , code_start , code_start + 4 , 0 , 0 ));
133133
134134 OK (uc_reg_read (uc , UC_AVR_REG_PC , & r_pc ));
@@ -186,10 +186,8 @@ static void test_avr_basic_mem(void)
186186 uc_hook eventmem_hook ;
187187 MEM_HOOK_RESULTS eventmem_trace = {0 };
188188
189- const uint16_t DATA_BASE = ADDR [ADDR__data__ ];
190- const uint16_t DATA_SIZE = ADDR [ADDR__data__ + 1 ] - DATA_BASE ;
191- const uint8_t * const DATA = & FLASH [ADDR [ADDR__data__ ]];
192- uint8_t mem [DATA_SIZE ];
189+ const uint8_t * const DATA = & FLASH [ADDR__data__ ];
190+ uint8_t mem [SIZE__data__ ];
193191
194192 uint32_t r_pc ;
195193 int i ;
@@ -198,21 +196,21 @@ static void test_avr_basic_mem(void)
198196 OK (uc_hook_add (uc , & eventmem_hook , UC_HOOK_MEM_VALID ,
199197 test_avr_basic_mem_cb_eventmem , & eventmem_trace , 1 , 0 ));
200198
201- const uint64_t code_start = ADDR [ ADDR__init__ ] ;
202- OK (uc_emu_start (uc , code_start , ADDR [ ADDR__init__ + 1 ] , 0 , 0 ));
199+ const uint64_t code_start = ADDR__init__ ;
200+ OK (uc_emu_start (uc , code_start , ADDR__init__ + SIZE__init__ , 0 , 0 ));
203201
204202 OK (uc_reg_read (uc , UC_AVR_REG_PC , & r_pc ));
205- TEST_CHECK (r_pc == ADDR [ ADDR__init__ + 1 ] );
203+ TEST_CHECK (r_pc == ADDR__init__ + SIZE__init__ );
206204
207205 // Check SRAM was correctly initialized with data from Flash program memory
208206 OK (uc_mem_read (uc , MEM_BASE , mem , sizeof (mem )));
209- TEST_CHECK (memcmp (mem , DATA , DATA_SIZE ) == 0 );
207+ TEST_CHECK (memcmp (mem , DATA , SIZE__data__ ) == 0 );
210208
211- TEST_CHECK (eventmem_trace .count == 2 * DATA_SIZE );
212- for (i = 0 ; i < DATA_SIZE ; i ++ ) {
209+ TEST_CHECK (eventmem_trace .count == 2 * SIZE__data__ );
210+ for (i = 0 ; i < SIZE__data__ ; i ++ ) {
213211 const MEM_HOOK_RESULT * const mr = & eventmem_trace .results [2 * i ];
214212 TEST_CHECK (mr -> type == UC_MEM_READ );
215- TEST_CHECK (mr -> address == (UC_AVR_MEM_FLASH |(DATA_BASE + i )));
213+ TEST_CHECK (mr -> address == (UC_AVR_MEM_FLASH |(ADDR__data__ + i )));
216214 TEST_CHECK (mr -> size == 1 );
217215 TEST_CHECK (mr -> value == 0 );
218216
@@ -236,23 +234,23 @@ static void test_avr_full_exec(void)
236234
237235 uc_common_setup (& uc , 0 , FLASH , FLASH_SIZE );
238236
239- const uint64_t code_start = ADDR [ ADDR__init__ ] ;
240- OK (uc_emu_start (uc , code_start , ADDR [ ADDR__init__ + 1 ] , 0 , 0 ));
237+ const uint64_t code_start = ADDR__init__ ;
238+ OK (uc_emu_start (uc , code_start , ADDR__init__ + SIZE__init__ , 0 , 0 ));
241239
242240 OK (uc_reg_read (uc , UC_AVR_REG_PC , & r_pc ));
243- TEST_CHECK (r_pc == ADDR [ ADDR__init__ + 1 ] );
241+ TEST_CHECK (r_pc == ADDR__init__ + SIZE__init__ );
244242
245243 r_sp = MEM_BASE + MEM_SIZE - 1 ;
246244 OK (uc_reg_write (uc , UC_AVR_REG_SP , & r_sp ));
247245
248246 const uint64_t exits [] = {
249- ADDR [ ADDR_main ] ,
250- ADDR [ ADDR__stop_program ]
247+ ADDR_main ,
248+ ADDR__stop_program
251249 };
252250 OK (uc_ctl_exits_enable (uc ));
253251 OK (uc_ctl_set_exits (uc , exits , ARRAY_ELEMS (exits )));
254252
255- const uint64_t code_main = ADDR [ ADDR_main ] ;
253+ const uint64_t code_main = ADDR_main ;
256254 OK (uc_emu_start (uc , code_main , 0 , 0 , 0 ));
257255
258256 OK (uc_reg_read (uc , UC_AVR_REG_R25 , & r [25 ]));
0 commit comments