From f9d835048b60b886f93b41ee11cb54fe39819796 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 3 Jul 2013 23:55:50 +0000 Subject: added lookup table for commandlength git-svn-id: https://svn.spreadspace.org/pic/trunk@30 a09c6847-51d9-44de-8ef2-e725cf50f3c7 --- bootloader/bootloader.asm | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) (limited to 'bootloader/bootloader.asm') diff --git a/bootloader/bootloader.asm b/bootloader/bootloader.asm index a1b858e..b32affd 100644 --- a/bootloader/bootloader.asm +++ b/bootloader/bootloader.asm @@ -33,6 +33,7 @@ USERVECT EQU H'100' ISRVECT EQU USERVECT + H'4' FSS EQU 8 +MESS EQU 64 ;; ERROR codes E_OK EQU 0 @@ -71,9 +72,17 @@ CMD_R_CONFIG EQU 7 CCMD_W_CONFIG EQU 'C' CMD_W_CONFIG EQU 8 - ;; ... -CNT1 EQU H'0020' -CNT2 EQU H'0021' + ;; Variables +inbuff EQU H'0020' +inbuff_end EQU H'006F' + +current_cmd EQU H'0070' +current_cmdlen EQU H'0071' + + + +cnt1 EQU H'0070' +cnt2 EQU H'0071' ;; ------------------------------------- ;; Boot test @@ -126,6 +135,18 @@ translate_cmd_codes retlw CMD_W_CONFIG retlw H'FF' +get_cmd_len + addwf PCL,f + retlw 1 ; identify: + retlw 1 ; boot: + retlw 1 ; reset: + retlw 3 ; read flash: addr | + retlw 3 + FSS ; write flash: addr | data | + retlw 5 ; read eeprom: addr | len | + retlw 5 ; write eeprom: addr | len | data | (minimal) + retlw 2 ; read config: nr | + retlw 4 ; write config: nr | word | + ;; ------------------------------------- ;; Bootloader (init) boot @@ -196,14 +217,14 @@ userloop movlw b'00000001' xorwf TRISD,f movlw .255 - movwf CNT1 + movwf cnt1 usercnt1 movlw .255 - movwf CNT2 + movwf cnt2 usercnt2 - decfsz CNT2,f + decfsz cnt2,f goto usercnt2 - decfsz CNT1,f + decfsz cnt1,f goto usercnt1 goto userloop -- cgit v1.2.3