This shows you the differences between two versions of the page.
si:laboratoare:01 [2024/09/24 19:05] florin.stancu [Descărcarea repository-urilor] |
si:laboratoare:01 [2024/09/24 19:49] (current) florin.stancu [Compilarea și rularea] |
||
---|---|---|---|
Line 105: | Line 105: | ||
cd ~/nuttxspace/nuttx | cd ~/nuttxspace/nuttx | ||
./tools/configure.sh -l esp32-sparrow-kit:nsh | ./tools/configure.sh -l esp32-sparrow-kit:nsh | ||
- | make -j4 | + | make EXTRAFLAGS="-DESP32_IGNORE_CHIP_REVISION_CHECK" -j4 |
esptool.py erase_flash | esptool.py erase_flash | ||
make flash ESPTOOL_PORT=/dev/ttyUSB0 ESPTOOL_BAUD=115200 ESPTOOL_BINDIR=../esp-bins | make flash ESPTOOL_PORT=/dev/ttyUSB0 ESPTOOL_BAUD=115200 ESPTOOL_BINDIR=../esp-bins | ||
</code> | </code> | ||
- | <hidden>Uneori mai sunt push-uite modificari la sistemul de build si este nevoie sa iti faci update la cross-compiler, de exemplu. Sansele sunt mici sa se fi modificat ceva de saptamana trecuta pana acum, dar just in case eu am testat codul pe v12.2.1, commit-urile: | + | <note warning> |
- | - nuttx: dc096f951e482a7c3061288213ff0b3209afffcd | + | Oficial, NuttX nu este garantat că funcționează pe revizii vechi ale chip-ului ESP32, și, din păcate, RTOS-ul va bloca rularea cu un PANIC, după cum puteți vedea în [[https://github.com/apache/nuttx/blob/c724ed51fbb36b3e65003e474a3b7517bb91e2e7/arch/xtensa/src/esp32/esp32_start.c#L235|codul sursă de aici]]. |
- | - apps: a48810f4a58efdae1cc0bb1981825721fdd93d9a | + | |
+ | Observăm că putem defini simbolul ''ESP32_IGNORE_CHIP_REVISION_CHECK'' pentru a trece peste această verificare, pe care îl putem insera prin variabla ''EXTRAFLAGS'' ca în exemplul de mai sus. Din păcate, acest workaround va trebui **MEREU** activat la compilare... așadar, **nu-l uitați**! | ||
+ | </note> | ||
+ | |||
+ | <hidden>Uneori, dacă se uită oricare din flaguri sau se configurează greșit proiectul (e.g., nu se pune argumentul cu tipul plăcii bun), compilarea NuttX va crăpa cu mesaje de eroare dubioase. Ca workaround de urgență (dacă nu merge un simplu ''make distclean'' și configure din nou), se recomandă ștergerea directoarelor ''nuttx'' și ''apps'' și re-descărcarea lor pentru a nu pierde timp cu depanarea în zadar... | ||
</hidden> | </hidden> | ||