avr: reduced code (bootloader now 569 words).

This commit is contained in:
Martin Preuss
2024-09-01 22:29:08 +02:00
parent 8aeb488e2e
commit c2a6d33ff2
8 changed files with 55 additions and 40 deletions

View File

@@ -31,10 +31,10 @@
flashWaitForSpecificMessageWithLed:
mov r2, r16
sbi PORTA, PORTA3 ; LED off
sbi LED_PORT, LED_PINNUM ; off
flashWaitForSpecificMessageWithLed_loop:
sbi PINA, PORTA3 ; toggle LED
sbi LED_PIN, LED_PINNUM ; toggle
mov r16, r2
push r17
ldi r17, 100 ; wait up to 100ms
@@ -43,12 +43,11 @@ flashWaitForSpecificMessageWithLed_loop:
brcs flashWaitForSpecificMessageWithLed_received
dec r17
brne flashWaitForSpecificMessageWithLed_loop
sbi PORTA, PORTA3 ; off
sbi LED_PORT, LED_PINNUM ; off
rjmp flash_recv_clc_ret ; timeout
flashWaitForSpecificMessageWithLed_received:
sbi PORTA, PORTA3 ; off
sec
ret
sbi LED_PORT, LED_PINNUM ; off
rjmp flash_recv_sec_ret
@@ -109,8 +108,7 @@ flashWaitForSpecificMessage_loop2:
flashWaitForSpecificMessage_isHigh:
rjmp flashWaitForSpecificMessage_loop0
flashWaitForSpecificMessage_received: ; R16 contains message type
sec
ret
rjmp flash_recv_sec_ret
@@ -132,19 +130,20 @@ flashWaitForAttnState1ms_loop:
andi r17, (1<<COM_PINNUM_ATTN)
pop r17
breq flashWaitForAttnState1ms_stateReached
Utils_WaitNanoSecs 10000, 0, r22 ; wait for 10us
rcall Utils_WaitFor10MicroSecs ; wait for 10us (R22)
dec r24
brne flashWaitForAttnState1ms_loop
rjmp flash_recv_clc_ret
flashWaitForAttnState1ms_stateReached:
sec
ret
rjmp flash_recv_sec_ret
flash_recv_clc_ret:
clc
flash_recv_ret:
ret
flash_recv_sec_ret:
sec
ret