Unfortunately, using master seems to come with yet other problems. I'm getting a link error:

xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o):(.literal._ZN10__cxxabiv112_GLOBAL__N_110construct_Ev+0xc): undefined reference to `pthread_key_create' xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o):(.literal._ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv+0x4): undefined reference to `pthread_setspecific' xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o):(.literal.__cxa_get_globals_fast+0xc): undefined reference to `pthread_getspecific' xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o): in function `std::__1::__libcpp_tls_create(int*, void (*)(void*))': nuttx/include/libcxx/__threading_support:551: undefined reference to `pthread_key_create' xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o): in function `std::__1::__libcpp_tls_set(int, void*)': nuttx/include/libcxx/__threading_support:561: undefined reference to `pthread_setspecific' xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o): in function `std::__1::__libcpp_tls_get(int)': nuttx/include/libcxx/__threading_support:556: undefined reference to `pthread_getspecific' xtensa-esp32s3-elf-ld: nuttx/staging/libxx.a(cxa_exception_storage.o): in function `std::__1::__libcpp_tls_set(int, void*)': nuttx/include/libcxx/__threading_support:561: undefined reference to `pthread_setspecific'


Our custom app uses C++ and these specific config options (because they're necessary for the app to compile):

CONFIG_LIBC_LOCALE=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_LIBCXX=y
CONFIG_LIBCXXABI=y
CONFIG_CXX_STANDARD="gnu++17"
CONFIG_CXX_EXCEPTION=y
CONFIG_CXX_RTTI=y

-m

On 9/18/2023 3:19 PM, Petro Karashchenko wrote:
Using a released version is usually better, but since EPS32S3 has active
feature development using master can give you better features support. That
is obviously a tradeoff you need to make.
I'm trying to fix all the issues I meet with ESP32S3 as I'm trying to build
a product on top of it, but there are still many features that I hope gona
be added soon (like USB host support for example), so I'm staying on master
currently.

Best regards,
Petro

пн, 18 вер. 2023 р. о 22:15 Mike Moretti <nu...@mordent.com.invalid> пише:

Hi,

I'm using 12.2.1, the latest release.  The more I work with this chip
the more I'm wondering if I'm going to have to move to using master.
I've been trying to avoid not using an actual release version of NuttX.

-m

On 9/18/2023 3:08 PM, Petro Karashchenko wrote:
Hello Mike,

Which version of nuttx code are you using? Recently I was dealing with
UART1/2 on ESP32S3 and managed those to be working in
https://github.com/apache/nuttx/pull/10467
There were few issues including some clocking configuration problem as
well
as wrong pin functions used for UART1.

At the end I was able to even run RS485 with EPS32S3 and make a kind of a
loopback test connecting UART1-RS485 <-> UART2-RS485 on the same device
and
exchange data between those UARTs.

Please check if your code base contains my fixes.

Looking forward to hearing from you,
Petro

пн, 18 вер. 2023 р. о 21:59 Mike Moretti <nu...@mordent.com.invalid>
пише:
Hi,

I'm having trouble with NuttX on the ESP32S3 trying to get UART1
(configured on the default pins) working via /dev/ttyS1.  The driver
code for esp32s3_serial.c seems to configure uart1 as /dev/ttys1 when
you enable it in the configs, however, testing via
serialblaster/serialrx (and our own custom app) doesn't seem to send or
receive anything on uart1.  I've tried swapping my connections to the
pins, testing every pin on the devkit board with serialblaster and
nothing ever comes out.  I don't have this problem on an esp32 devkit
(with either uart1 or uart2).  It seems to only happen on the esp32s3
devkit.  I can successfully use serialblaster/serialrx on /dev/ttyS0 and
see the output/enter text.

Is there something I'm missing?

Thanks,
-m



Reply via email to