From 702acb3304ad7033f1759be7d994d79adaf76cc1 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Sun, 9 Feb 2025 21:03:28 +0100 Subject: [PATCH] avr: adapted boot firmware for n21 abd n22. --- avr/devices/0BUILD | 1 + avr/devices/n21/boot.asm | 72 +++++++++++++++------------------------- avr/devices/n21/main.asm | 3 +- avr/devices/n22/boot.asm | 37 +++++++++++++++------ 4 files changed, 56 insertions(+), 57 deletions(-) diff --git a/avr/devices/0BUILD b/avr/devices/0BUILD index f35b7bd..18d0d91 100644 --- a/avr/devices/0BUILD +++ b/avr/devices/0BUILD @@ -15,6 +15,7 @@ n20 n21 n22 + n23 r02 t03 x03 diff --git a/avr/devices/n21/boot.asm b/avr/devices/n21/boot.asm index 48bc30f..b0cdc35 100644 --- a/avr/devices/n21/boot.asm +++ b/avr/devices/n21/boot.asm @@ -96,7 +96,7 @@ firmwareStart: rjmp main ; will be overwritten when flashing main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm + rjmp bootLoader ; this routine is in modules/bootloader/main.asm @@ -111,52 +111,34 @@ main: .include "common/utils_wait_fixed.asm" .include "common/utils_copy_from_flash.asm" .include "common/utils_copy_sdram.asm" -.include "modules/flash/bootloader.asm" -.include "modules/flash/flash.asm" -.include "modules/flash/recv.asm" -.include "modules/flash/send.asm" + +.include "modules/flash/defs.asm" +.include "modules/flash/eeprom.asm" +.include "modules/flash/io.asm" +.include "modules/flash/io_attn.asm" +.include "modules/flash/io_bitbang.asm" +.include "modules/flash/flash1p.asm" +.include "modules/flash/flashprocess.asm" .include "modules/flash/wait.asm" -.include "modules/flash/hdl_flash_start.asm" -.include "modules/flash/hdl_flash_data.asm" -.include "modules/flash/hdl_flash_end.asm" -.include "modules/flash/flash_rsp.asm" -.include "modules/flash/flash_ready.asm" +.include "modules/bootloader/main.asm" -#if 0 -debugStop: - cli - sbi LED_SIMPLE_DDR, LED_SIMPLE_PINNUM ; out - cbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; on - - cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN port as input - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable internal pullup for ATTN - - ldi r18, 0 -test_loop1: - ldi r16, 100 -test_loop2: - ldi r17, 100 -test_loop3: - Utils_WaitNanoSecs 10000, 0, r22 - dec r17 - brne test_loop3 - dec r16 - brne test_loop2 - sbi LED_SIMPLE_PORTIN, LED_SIMPLE_PINNUM ; toggle - inc r18 - mov r19, r18 - andi r19, 1 - brne test1 - sbi COM_ATTN_DDR, COM_ATTN_PIN - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN - rjmp test_loop1 -test1: - cbi COM_ATTN_DDR, COM_ATTN_PIN - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN - - rjmp test_loop1 -#endif - +systemSetSpeed: +.if clock == 8000000 + ldi r16, (1<