try new implementation of UART code for m8515.

This commit is contained in:
Martin Preuss
2025-05-18 00:59:19 +02:00
parent b6800e538d
commit cf1eba68f0
10 changed files with 861 additions and 8 deletions

View File

@@ -53,6 +53,15 @@
.include "modules/uart_bitbang2/lowlevel.asm"
#endif
#ifdef MODULES_UART_HW
.include "modules/uart_hw/defs.asm"
.include "modules/uart_hw/lowlevel.asm"
.include "modules/uart_hw/uart.asm"
.include "modules/uart_hw/attn.asm"
.include "modules/uart_hw/net_uart.asm"
#endif
#ifdef MODULES_COMONUART0
.include "modules/uart_hw/defs.asm"
.include "modules/uart_hw/lowlevel.asm"

View File

@@ -94,6 +94,10 @@ onSystemTimerTick:
rcall UART_BitBang_Every100ms
#endif
#ifdef MODULES_UART_HW
rcall NET_Uart_Periodically
#endif
#ifdef MODULES_TTYONUART1
rcall TtyOnUart1_Periodically
#endif

View File

@@ -61,6 +61,10 @@ initModules:
rcall UART_BitBang_Init
#endif
#ifdef MODULES_UART_HW
rcall NET_Uart_Init
#endif
#ifdef MODULES_TTYONUART1
rcall TtyOnUart1_Init
#endif
@@ -165,6 +169,10 @@ runModules_Com:
runModules_ComEnd:
#endif
#ifdef MODULES_UART_HW
rcall NET_Uart_Run
#endif
#ifdef MODULES_TTYONUART1
rcall TtyOnUart1_Run
#endif

View File

@@ -84,7 +84,7 @@
; ---------------------------------------------------------------------------
; ComOnUart module
.equ USART0_DATAREG = UDR
.equ USART0_DATAREG = UDR
.equ UCSR0A = UCSRA
.equ UCSR0B = UCSRB
.equ UCSR0C = UCSRC

View File

@@ -31,7 +31,7 @@
; ---------------------------------------------------------------------------
; generic
.equ NET_BUFFERS_NUM = 6
.equ NET_BUFFERS_NUM = 8
.equ NET_BUFFERS_SIZE = 32
@@ -50,7 +50,9 @@
#define MODULES_XRAM
#define MODULES_LED_SIMPLE
#define MODULES_NETWORK
#define MODULES_COMONUART0
;#define MODULES_COMONUART0
#define MODULES_UART_HW
;#define MODULES_UART_BITBANG
;#define MODULES_TWI_MASTER
;#define MODULES_LCD
@@ -107,7 +109,8 @@
; ---------------------------------------------------------------------------
; Reset and interrupt vectors
rjmp BOOTLOADER_ADDR ; 1: Reset vector RESET
rjmp ComOnUart0_AttnChangeIsr ; 2: INT0 External Interrupt Request 0
; rjmp ComOnUart0_AttnChangeIsr ; 2: INT0 External Interrupt Request 0
reti
reti ; 3: INT1 External Interrupt Request 1
reti ; 4: TIMER1_CAPT Timer/Counter1 Capture Event
reti ; 5: TIMER1_COMPA Timer/Counter1 Compare Match A
@@ -115,9 +118,9 @@
reti ; 7: TIMER1_OVF Timer/Counter1 Overflow
reti ; 8: TIMER0_OVF Timer/Counter0 Overflow
reti ; 9: SPI_STC Serial Transfer Complete
rjmp ComOnUart0_RxCharIsr ; 10: USART_RXC USART Rx Complete
rjmp ComOnUart0_TxUdreIsr ; 11: USART_UDRE USART Data Register Empty
rjmp ComOnUart0_TxCharIsr ; 12: USART_TXC USART Tx Complete
rjmp Uart_RxCharIsr ; 10: USART_RXC USART Rx Complete
rjmp Uart_UdreIsr ; 11: USART_UDRE USART Data Register Empty
rjmp Uart_TxCharIsr ; 12: USART_TXC USART Tx Complete
reti ; 13: ANA_COMP Analog Comparator
reti ; 14: INT2 External Interrupt Request 2
rjmp baseTimerIrqOC0A ; 15: TIMER0_COMP Timer/Counter0 Compare Match
@@ -206,7 +209,7 @@ onEveryLoop:
; ---------------------------------------------------------------------------
; defines for network interface
.equ netInterfaceData = comonuart0_iface
.equ netInterfaceData = netUartIface