Differences

This shows you the differences between two versions of the page.

Link to this comparison view

si:laboratoare:01 [2023/10/02 20:54]
dan.tudose [Exerciții]
si:laboratoare:01 [2024/09/24 19:49] (current)
florin.stancu [Compilarea și rularea]
Line 20: Line 20:
 ==== Linux ==== ==== Linux ====
  
-Dacă rulați pe un sistem cu Linux nativ, continuați de la pasul [[01#compilarea_si_incarcarea_pe_placuta|Compilarea și încărcarea pe placă]].+Dacă rulați pe un sistem cu Linux nativ, continuați de la pasul [[01#compilarea_si_incarcarea_pe_placa|Compilarea și încărcarea pe placă]].
  
 ==== Windows ==== ==== Windows ====
Line 78: Line 78:
 <​code>​ <​code>​
 mkdir ~/​nuttxspace && cd ~/​nuttxspace mkdir ~/​nuttxspace && cd ~/​nuttxspace
-git clone https://​github.com/​apache/​incubator-nuttx.git nuttx +git clone --branch=nuttx-12.5.1 ​https://​github.com/​apache/​incubator-nuttx.git nuttx 
-git clone https://​github.com/​apache/​incubator-nuttx-apps.git apps+git clone --branch=nuttx-12.5.1 ​https://​github.com/​apache/​incubator-nuttx-apps.git apps
 </​code>​ </​code>​
  
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>​
 +
 +<note warning>
 +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]].
 +
 +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>​
  
 În functie de tipul de placă pe care rulați, este posibil să fie nevoie să apăsați butonul de ''​BOOT''​ (''​IO0''​) atunci când încărcați NuttX. Astfel, placa intră în modul de "​Download"​ - în mod normal, placa este în starea de "​Boot"​. Butonul trebuie apăsat doar atunci când se încearcă stabilirea conexiunii cu firmware-ul de pe ESP32, așa cum se poate vedea mai jos: În functie de tipul de placă pe care rulați, este posibil să fie nevoie să apăsați butonul de ''​BOOT''​ (''​IO0''​) atunci când încărcați NuttX. Astfel, placa intră în modul de "​Download"​ - în mod normal, placa este în starea de "​Boot"​. Butonul trebuie apăsat doar atunci când se încearcă stabilirea conexiunii cu firmware-ul de pe ESP32, așa cum se poate vedea mai jos:
si/laboratoare/01.1696269242.txt.gz · Last modified: 2023/10/02 20:54 by dan.tudose
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0