etc:users:jcmvbkbc:linux-xtensa:esp32s3
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
etc:users:jcmvbkbc:linux-xtensa:esp32s3 [2024/02/23 13:36] – jcmvbkbc | etc:users:jcmvbkbc:linux-xtensa:esp32s3 [2024/06/09 05:06] (current) – update bootloader instructions to wifi-enabled version jcmvbkbc | ||
---|---|---|---|
Line 4: | Line 4: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
- | * https:// | + | * https:// |
- | * https:// | + | * https:// |
- | * https:// | + | * https:// |
- | * https:// | + | * https:// |
- | * https:// | + | * https:// |
- | * https:// | + | * https:// |
* https:// | * https:// | ||
Line 24: | Line 24: | ||
===== Things that work ===== | ===== Things that work ===== | ||
- | * WiFi. Use the script that builds firmware based on esp-hosted. | + | * WiFi. Use the script that builds firmware based on esp-hosted. |
* Writing to FLASH and using ESP FLASH partition table. Driver based on linux IPC sends FLASH-related requests to the firmware. Default configuration has an etc partition that is flashed with /etc file system and mounted at boot time. The file system is writable and it can be used to store things like wpa_supplicant.conf, | * Writing to FLASH and using ESP FLASH partition table. Driver based on linux IPC sends FLASH-related requests to the firmware. Default configuration has an etc partition that is flashed with /etc file system and mounted at boot time. The file system is writable and it can be used to store things like wpa_supplicant.conf, | ||
* USB serial. It is visible as the / | * USB serial. It is visible as the / | ||
Line 37: | Line 37: | ||
* perf stat (heavy patching is needed to build it for nommu). -D1 is needed to properly enable events (perf relies on ability to run code after the fork but before the exec in the child process to manage events on systems with mmu, -D1 looks like a good workaround for nommu case). | * perf stat (heavy patching is needed to build it for nommu). -D1 is needed to properly enable events (perf relies on ability to run code after the fork but before the exec in the child process to manage events on systems with mmu, -D1 looks like a good workaround for nommu case). | ||
* c++ exceptions, c cleanup routines, forced stack unwinding, unwinding over signal frames. | * c++ exceptions, c cleanup routines, forced stack unwinding, unwinding over signal frames. | ||
+ | * TLS and NPTL. Some corner cases still need attention though. | ||
===== Things that don't work ===== | ===== Things that don't work ===== | ||
- | * about 290 failing tests in the gcc testsuite, | + | * 193 failing tests in the gcc testsuite, |
- | * NPTL. Not yet. Need to define relevant TLS relocations, | + | |
* mmap with MAP_FIXED flag. By design of the nommu linux, but it seems to me that it doesn' | * mmap with MAP_FIXED flag. By design of the nommu linux, but it seems to me that it doesn' | ||
* tcpdump and libpcap in general. It tries to mmap the packet socket and it's missing a few things (mm/nommu.c doesn' | * tcpdump and libpcap in general. It tries to mmap the packet socket and it's missing a few things (mm/nommu.c doesn' | ||
Line 75: | Line 75: | ||
$ CT_PREFIX=`pwd`/ | $ CT_PREFIX=`pwd`/ | ||
$ popd | $ popd | ||
- | </ | ||
- | |||
- | It doesn' | ||
- | < | ||
- | ... | ||
- | [INFO ] Installing final gcc compiler: done in 572.47s (at 29:47) | ||
- | [INFO ] ================================================================= | ||
- | [INFO ] Checking dynamic linker symlinks | ||
- | [EXTRA] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | [ERROR] | ||
- | ... | ||
</ | </ | ||
Line 104: | Line 80: | ||
< | < | ||
- | $ git clone https:// | + | $ git clone https:// |
$ nice make -C buildroot O=`pwd`/ | $ nice make -C buildroot O=`pwd`/ | ||
$ buildroot/ | $ buildroot/ | ||
Line 115: | Line 91: | ||
< | < | ||
- | $ git clone https:// | + | $ git clone https:// |
- | $ pushd esp-idf | + | $ pushd esp-hosted/ |
+ | $ cmake . | ||
+ | $ cd esp-idf | ||
$ . export.sh | $ . export.sh | ||
- | $ cd examples/get-started/ | + | $ cd ../network_adapter |
$ idf.py set-target esp32s3 | $ idf.py set-target esp32s3 | ||
$ cp sdkconfig.defaults.esp32s3 sdkconfig | $ cp sdkconfig.defaults.esp32s3 sdkconfig |
etc/users/jcmvbkbc/linux-xtensa/esp32s3.1708684611.txt.gz · Last modified: 2024/02/23 13:36 by jcmvbkbc