question mark

This commit is contained in:
2024-10-14 15:32:44 +06:00
parent 38bc6e225c
commit e35b1c0114
4 changed files with 6 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ fw for a ch32v203 node w/ w5500 ethernet
- With a 1s interval it works - With a 1s interval it works
- [Disabling SPI DMA](https://git.hye.su/mira/ch32-node/src/branch/master/src/w5500.c#L62) solves it (just commenting out `reg_wizchip_spiburst_cbfunc`), so it's most likely DMA related? - [Disabling SPI DMA](https://git.hye.su/mira/ch32-node/src/branch/master/src/w5500.c#L62) solves it (just commenting out `reg_wizchip_spiburst_cbfunc`), so it's most likely DMA related?
- SPI DMA only works with [prescalers](https://git.hye.su/mira/ch32-node/src/branch/master/src/spi_dma.c#L140) 8 and 64? - SPI DMA only works with [prescalers](https://git.hye.su/mira/ch32-node/src/branch/master/src/spi_dma.c#L140) 8 and 64?
- Also, for some reason it needs a ~50ms delay before configuring w5500 when compiled **with** `-O0`, not needed with `-Os`...
TODO: LA?... TODO: LA?...

View File

@@ -17,7 +17,8 @@ board = genericCH32V203C8T6
framework = ch32v003fun framework = ch32v003fun
upload_protocol = wlink # isp, minichlink, wch-link, wlink upload_protocol = wlink # isp, minichlink, wch-link, wlink
build_unflags = -march=rv32imacxw build_unflags = -march=rv32imacxw
build_flags = -march=rv32imac -Wall -Wextra build_flags = -march=rv32imac_zicsr -Wall -Wextra
debug_build_flags = -O0 -ggdb3 -g3
[env:local] [env:local]
platform_packages = platform_packages =

View File

@@ -46,6 +46,8 @@ void message_arrived(MessageData* md) {
int main(void) { int main(void) {
init_system(); init_system();
Delay_Ms(55);
// DEBUG_PRINT("init_system() done\n");
configure_network(); configure_network();
// TODO: enabling any kind of SysTick IRQ literally causes the socket to hang forever // TODO: enabling any kind of SysTick IRQ literally causes the socket to hang forever

View File

@@ -59,7 +59,7 @@ void configure_network(void) {
// Setup chip select and SPI callbacks // Setup chip select and SPI callbacks
reg_wizchip_cs_cbfunc(spi_select, spi_unselect); reg_wizchip_cs_cbfunc(spi_select, spi_unselect);
reg_wizchip_spi_cbfunc(spi_read_byte, spi_write_byte); reg_wizchip_spi_cbfunc(spi_read_byte, spi_write_byte);
// reg_wizchip_spiburst_cbfunc(spidma_read_buffer, spidma_write_buffer); reg_wizchip_spiburst_cbfunc(spidma_read_buffer, spidma_write_buffer);
uint8_t rx_tx_buff_sizes[] = {2, 2, 2, 2, 2, 2, 2, 2}; uint8_t rx_tx_buff_sizes[] = {2, 2, 2, 2, 2, 2, 2, 2};
wizchip_init(rx_tx_buff_sizes, rx_tx_buff_sizes); wizchip_init(rx_tx_buff_sizes, rx_tx_buff_sizes);