Recently I switched my application from single to double cores on my picow.
However after making the switch to multicore, I started to notice weird problems.
1. Specifically, failure to "unlink" files with errno (4002 - seemingly prints blank when calling strerror). (note even before starting 2nd core)
2. When changing the "sleep time" in my 2nd core that loops over `cyw43_arch_poll();` from 500ms to 50ms or lower, all of a sudden the lwip tcp_accept callback no longer works. (both ping and nc connections fail)
This, and other symptoms(observing the fs_init() fail on one of my picows) started to lead me to suspect that after enabling the 2nd core, that memory usage/allocation/etc. is wonky somehow.
Which brings me to these questions,
1. Does a second core change memory usage/allocation in a substantive way?
2. Does `cyw43_arch_poll();` hog a lot of memory with repeated calls?
3. Can I expand the existing stack/heap somehow?
my file sizes:
picow.bin 388KB
picow.dis 2914KB
picow.elf 2308KB
picow.uf2 775kB
However after making the switch to multicore, I started to notice weird problems.
1. Specifically, failure to "unlink" files with errno (4002 - seemingly prints blank when calling strerror). (note even before starting 2nd core)
2. When changing the "sleep time" in my 2nd core that loops over `cyw43_arch_poll();` from 500ms to 50ms or lower, all of a sudden the lwip tcp_accept callback no longer works. (both ping and nc connections fail)
This, and other symptoms(observing the fs_init() fail on one of my picows) started to lead me to suspect that after enabling the 2nd core, that memory usage/allocation/etc. is wonky somehow.
Which brings me to these questions,
1. Does a second core change memory usage/allocation in a substantive way?
2. Does `cyw43_arch_poll();` hog a lot of memory with repeated calls?
3. Can I expand the existing stack/heap somehow?
my file sizes:
picow.bin 388KB
picow.dis 2914KB
picow.elf 2308KB
picow.uf2 775kB
Statistics: Posted by gooblue — Mon Feb 24, 2025 12:10 am — Replies 4 — Views 115