Trying to track down some madness that sometimes happens

This commit is contained in:
Jeroen Domburg 2018-01-27 11:38:42 +08:00
parent 49d6ff6ac4
commit 5f8ed9d4c3
2 changed files with 44 additions and 11 deletions

View File

@ -6,6 +6,7 @@
#include "network/localtalk.h" #include "network/localtalk.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h>
/* /*
Emulation of the Zilog 8530 SCC. Emulation of the Zilog 8530 SCC.
@ -51,7 +52,8 @@ typedef struct {
} SccChan; } SccChan;
typedef struct { typedef struct {
int regptr; int guard;
unsigned int regptr;
int intpending; int intpending;
int intpendingOld; int intpendingOld;
SccChan chan[2]; SccChan chan[2];
@ -385,7 +387,7 @@ static void triggerRx(int chan) {
void sccWrite(unsigned int addr, unsigned int val) { void sccWrite(unsigned int addr, unsigned int val) {
int chan, reg; int chan, reg;
if (addr & (1<<1)) chan=SCC_CHANA; else chan=SCC_CHANB; if (addr & (1<<1)) chan=SCC_CHANA; else chan=SCC_CHANB;
if (scc.regptr>32) abort(); assert(scc.regptr<32);
if (addr & (1<<2)) { if (addr & (1<<2)) {
//Data //Data
reg=8; reg=8;
@ -500,9 +502,7 @@ void sccWrite(unsigned int addr, unsigned int val) {
unsigned int sccRead(unsigned int addr) { unsigned int sccRead(unsigned int addr) {
int chan, reg, val=0xff; int chan, reg, val=0xff;
if (addr & (1<<1)) chan=SCC_CHANA; else chan=SCC_CHANB; if (addr & (1<<1)) chan=SCC_CHANA; else chan=SCC_CHANB;
if (scc.regptr>32) { assert(scc.regptr<32);
printf("WtF, regptr=%x?\n", scc.regptr);
}
if (addr & (1<<2)) { if (addr & (1<<2)) {
//Data //Data
reg=8; reg=8;
@ -645,5 +645,6 @@ void sccInit() {
scc.chan[0].rx[x].delay=-1; scc.chan[0].rx[x].delay=-1;
scc.chan[1].rx[x].delay=-1; scc.chan[1].rx[x].delay=-1;
} }
scc.guard=0x1234;
} }

View File

@ -94,6 +94,11 @@ CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=
CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=
CONFIG_CXX_EXCEPTIONS= CONFIG_CXX_EXCEPTIONS=
CONFIG_STACK_CHECK_NONE=y
CONFIG_STACK_CHECK_NORM=
CONFIG_STACK_CHECK_STRONG=
CONFIG_STACK_CHECK_ALL=
CONFIG_STACK_CHECK=
# #
# Component config # Component config
@ -189,8 +194,8 @@ CONFIG_BROWNOUT_DET_LVL_SEL_5=
CONFIG_BROWNOUT_DET_LVL_SEL_6= CONFIG_BROWNOUT_DET_LVL_SEL_6=
CONFIG_BROWNOUT_DET_LVL_SEL_7= CONFIG_BROWNOUT_DET_LVL_SEL_7=
CONFIG_BROWNOUT_DET_LVL=0 CONFIG_BROWNOUT_DET_LVL=0
CONFIG_ESP32_TIME_SYSCALL_USE_RTC=
CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
CONFIG_ESP32_TIME_SYSCALL_USE_RTC=
CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= CONFIG_ESP32_TIME_SYSCALL_USE_FRC1=
CONFIG_ESP32_TIME_SYSCALL_USE_NONE= CONFIG_ESP32_TIME_SYSCALL_USE_NONE=
CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
@ -203,6 +208,8 @@ CONFIG_ESP32_XTAL_FREQ_AUTO=y
CONFIG_ESP32_XTAL_FREQ=0 CONFIG_ESP32_XTAL_FREQ=0
CONFIG_DISABLE_BASIC_ROM_CONSOLE= CONFIG_DISABLE_BASIC_ROM_CONSOLE=
CONFIG_NO_BLOBS=y CONFIG_NO_BLOBS=y
CONFIG_ESP_TIMER_PROFILING=
CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS=
# #
# Wi-Fi # Wi-Fi
@ -213,8 +220,9 @@ CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
CONFIG_ESP32_WIFI_AMPDU_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_TX_BA_WIN=6
CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6
CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_NVS_ENABLED=y
@ -242,8 +250,8 @@ CONFIG_EMAC_TASK_PRIORITY=20
# #
# FAT Filesystem support # FAT Filesystem support
# #
CONFIG_FATFS_CODEPAGE_ASCII=y CONFIG_FATFS_CODEPAGE_DYNAMIC=
CONFIG_FATFS_CODEPAGE_437= CONFIG_FATFS_CODEPAGE_437=y
CONFIG_FATFS_CODEPAGE_720= CONFIG_FATFS_CODEPAGE_720=
CONFIG_FATFS_CODEPAGE_737= CONFIG_FATFS_CODEPAGE_737=
CONFIG_FATFS_CODEPAGE_771= CONFIG_FATFS_CODEPAGE_771=
@ -264,8 +272,13 @@ CONFIG_FATFS_CODEPAGE_932=
CONFIG_FATFS_CODEPAGE_936= CONFIG_FATFS_CODEPAGE_936=
CONFIG_FATFS_CODEPAGE_949= CONFIG_FATFS_CODEPAGE_949=
CONFIG_FATFS_CODEPAGE_950= CONFIG_FATFS_CODEPAGE_950=
CONFIG_FATFS_CODEPAGE=1 CONFIG_FATFS_CODEPAGE=437
CONFIG_FATFS_MAX_LFN=255 CONFIG_FATFS_LFN_NONE=y
CONFIG_FATFS_LFN_HEAP=
CONFIG_FATFS_LFN_STACK=
CONFIG_FATFS_FS_LOCK=0
CONFIG_FATFS_TIMEOUT_MS=10000
CONFIG_FATFS_PER_FILE_CACHE=y
# #
# FreeRTOS # FreeRTOS
@ -292,7 +305,9 @@ CONFIG_SUPPORT_STATIC_ALLOCATION=
CONFIG_TIMER_TASK_PRIORITY=1 CONFIG_TIMER_TASK_PRIORITY=1
CONFIG_TIMER_TASK_STACK_DEPTH=2048 CONFIG_TIMER_TASK_STACK_DEPTH=2048
CONFIG_TIMER_QUEUE_LENGTH=10 CONFIG_TIMER_QUEUE_LENGTH=10
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
CONFIG_FREERTOS_USE_TRACE_FACILITY= CONFIG_FREERTOS_USE_TRACE_FACILITY=
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=
CONFIG_FREERTOS_DEBUG_INTERNALS= CONFIG_FREERTOS_DEBUG_INTERNALS=
# #
@ -334,6 +349,12 @@ CONFIG_LWIP_STATS=
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
CONFIG_TCPIP_RECVMBOX_SIZE=32 CONFIG_TCPIP_RECVMBOX_SIZE=32
CONFIG_LWIP_DHCP_DOES_ARP_CHECK= CONFIG_LWIP_DHCP_DOES_ARP_CHECK=
#
# DHCP server
#
CONFIG_LWIP_DHCPS_LEASE_UNIT=60
CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
CONFIG_LWIP_AUTOIP= CONFIG_LWIP_AUTOIP=
CONFIG_LWIP_NETIF_LOOPBACK=y CONFIG_LWIP_NETIF_LOOPBACK=y
CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
@ -341,6 +362,8 @@ CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
# #
# TCP # TCP
# #
CONFIG_LWIP_MAX_ACTIVE_TCP=16
CONFIG_LWIP_MAX_LISTENING_TCP=16
CONFIG_TCP_MAXRTX=12 CONFIG_TCP_MAXRTX=12
CONFIG_TCP_SYNMAXRTX=6 CONFIG_TCP_SYNMAXRTX=6
CONFIG_TCP_MSS=1436 CONFIG_TCP_MSS=1436
@ -356,6 +379,7 @@ CONFIG_TCP_OVERSIZE_DISABLE=
# #
# UDP # UDP
# #
CONFIG_LWIP_MAX_UDP_PCBS=16
CONFIG_UDP_RECVMBOX_SIZE=6 CONFIG_UDP_RECVMBOX_SIZE=6
CONFIG_TCPIP_TASK_STACK_SIZE=2560 CONFIG_TCPIP_TASK_STACK_SIZE=2560
CONFIG_PPP_SUPPORT= CONFIG_PPP_SUPPORT=
@ -366,6 +390,11 @@ CONFIG_PPP_SUPPORT=
CONFIG_LWIP_MULTICAST_PING= CONFIG_LWIP_MULTICAST_PING=
CONFIG_LWIP_BROADCAST_PING= CONFIG_LWIP_BROADCAST_PING=
#
# LWIP RAW API
#
CONFIG_LWIP_MAX_RAW_PCBS=16
# #
# mbedTLS # mbedTLS
# #
@ -459,6 +488,7 @@ CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
# #
# SPI Flash driver # SPI Flash driver
# #
CONFIG_SPI_FLASH_VERIFY_WRITE=
CONFIG_SPI_FLASH_ENABLE_COUNTERS= CONFIG_SPI_FLASH_ENABLE_COUNTERS=
CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
@ -482,6 +512,8 @@ CONFIG_SPIFFS_GC_STATS=
CONFIG_SPIFFS_OBJ_NAME_LEN=32 CONFIG_SPIFFS_OBJ_NAME_LEN=32
CONFIG_SPIFFS_USE_MAGIC=y CONFIG_SPIFFS_USE_MAGIC=y
CONFIG_SPIFFS_USE_MAGIC_LENGTH=y CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
CONFIG_SPIFFS_META_LENGTH=4
CONFIG_SPIFFS_USE_MTIME=y
# #
# Debug Configuration # Debug Configuration