Skocz do zawartości

Programowanie ESP w "czystym" C


Pomocna odpowiedź

Dnia 7.04.2020 o 11:59, japko1024 napisał:

Kupiłem już 2 moduły ESP8266 w wersji ESP-01 i programator USB CP2104. Próbowałem wgrać program hello_world (kliknąłem 2 razy flash), ale wyświetlił się błąd serial.serialutil.SerialException: could not open port 'COM2': WindowsError(2, 'Nie mo\xbfna odnale\x9f\xe6 okre\x9clonego pliku.'). Zanim usunąłem znak komentarza przed liniami ESPPORT i ESPBAUD w Makefile, był ten sam błąd, tylko wtedy próbował otworzyć port COM3. Nie pomogło zainstalowanie sterownika ze strony https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers (windows 8.1, bez seryjnej enumeracji, 64-bitowy - próbowałem później zainstalować dodatkowo wersję 86, ale wyświetliło się, że muszę 64). Dodam, że nie trzymałem przycisku reset ani nie robiłem żadnych zworek, bo wg sprzedawcy nie trzeba. Po podłączeniu zaświeciła się czerwona dioda na module ESP, przez chwilę na początku migała też niebieska, potem (w trakcie programowania) już nie, świeciła się cały czas tylko czerwona.

Już działa, zajrzałem do menedżera urządzeń - jest tam Porty (COM i LPT), a w środku Silicon Labs ... (COM3). Po zmianie w makefile portu na COM3 program się zainstalował i miga niebieską LED. W uCon wypisuje "hello world", w Realterm nie udało mi się skonfigurować, żeby poprawnie dekodował znaki.

To dobrze, jak coś dam innej osobie aby redagowała tutorial. Ja zajmę się tylko dostarczaniem informacji i rzeczy jak to zrobić, ponieważ jak widać słaby ze mnie pisarz...

  • Lubię! 1
Link do komentarza
Share on other sites

- jednak ciężko się programuje w C i w Eclipsie pod Win 10, może to jest spowodowane tym że arduino znany od tych 5-6 lat.

- Eclipse zainstalowałem sobie dopiero dwa lata temu ale jest brak przykładów.

  • Lubię! 1
Link do komentarza
Share on other sites

Wesołego jajka!

Próbowałem ostatnio zainstalować środowisko na nowym laptopie. Niby kompilacja przykładów i ich flashowanie przebiega prawidłowo, ale za każdym zamiast uruchomić odpowiedni program, pisze w terminalu:

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)
                                                                                                
load 0x40100000, len 27216, room 16                                          
tail 0                                                                      
chksum 0xb1                                                                
load 0x3ffe8000, len 884, room 8                                        
tail 12                                                                  
chksum 0x59                                                            
ho 0 tail 12 room 4                                              
load 0x3ffe8380, len 316, room 12                                
tail 0                                                           
chksum 0x6e                                                          
csum 0x6e                                                             
rf_cal[0] !=0x05,is 0xFF

W opcjach projektu musiałem ustawić Build command "mingw32-make.exe" bez argumentu, bo inaczej Eclipse nie znajdował tego programu (jakby uważał argument za część nazwy). Jednak argument jest już w zakładce Behavior (obok): Build arguments: "-f ${ProjDirPath}/Makefile". Wie ktoś, jak rozwiązać ten problem? Dla porównania, Tasmota zainstalowana za pomocą Tasmotizera działa.

Wcześniej w ogóle na tym komputerze (nie pamiętam, jak na starym) nie działał build, bo brakowało jakichś plików. Okazało się, że to przez kopiowanie projektu do workspace'u, które musiało pominąć jakieś pliki. Po odznaczeniu tej opcji (oryginalne przykłady też zachowałem w innym katalogu) build działa.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

- w końcu i mnie dopadło, 10-latek poprosił o Dooma.

- pobuszowałem po internecie jest Doom na Arduino esp32 Nano tylko pod IDF Expressifa.

- zainstalowałem IDF 4.4.2 , uruchomiłem Eclipse, zaimportowałem projekt Dooma, skompilowałem ale dalej trzeba go dokonfigurować.

- jak na razie znalazłem miejsce gdzie można zmienic rozmiar partycji i wielkość flasha.

- czy znacie strony z samouczkiem IDF opisujące CMakelist.txt, komponenty, co szukać w sdkconfig.

 IDf4.4.2.thumb.png.f8fe638da238e4d724ffe64d9136f7f1.png

Edytowano przez 99teki
  • Lubię! 1
Link do komentarza
Share on other sites

Nie wiem czy nie powinieneś utworzyć osobnego tematu ale mniejsza o to, aby móc Ci pomóc podaj linka do programu który chcesz uruchomić. SDK config służy do konfiguracji peryferii oraz niektórych funkcji użytych bibliotek zaś cmake.txt służy do dodawania plików bibliotecznych oraz steruje kompilacją choć tutaj mogę się mylić bo nie znam zbyt dobrze cmake i jego zasad.

dla przykłady sdkconfig dla ili9341 i biblioteki lvgl
javaw_bkNdqtJHXb.thumb.png.16467d9c14cac1371e202b704e47ddd5.png

javaw_zAXNQ0swzK.thumb.png.079084425320e3638b7c9111b7f10b6d.png

rzecz jasna u Ciebie ten konfig może wyglądać inaczej ze wzgledu na użyciu innych gpio

Edytowano przez _LM_
  • Lubię! 1
Link do komentarza
Share on other sites

6 godzin temu, 99teki napisał:

- w końcu i mnie dopadło, 10-latek poprosił o Dooma.

- pobuszowałem po internecie jest Doom na Arduino esp32 Nano tylko pod IDF Expressifa.

- zainstalowałem IDF 4.4.2 , uruchomiłem Eclipse, zaimportowałem projekt Dooma, skompilowałem ale dalej trzeba go dokonfigurować.

- jak na razie znalazłem miejsce gdzie można zmienic rozmiar partycji i wielkość flasha.

- czy znacie strony z samouczkiem IDF opisujące CMakelist.txt, komponenty, co szukać w sdkconfig.

 IDf4.4.2.thumb.png.f8fe638da238e4d724ffe64d9136f7f1.png

Cześć,

na stronie projektu piszą o użyciu dodatkowej pamięci PSRAM, czy Ty też używasz tej pamięci w projekcie, czy może używasz jakiejś  mniejszej (okrojonej wersji) WAD files, która mieści się w standardowej  pamięci Flash dla ESP-32? Cytat z opisu do projektu:

Cytat

Obviously, you also need a board or module with both an ESP32 as well as PSRAM, like the ESP-Wrover module or ideally the Esp-Wrover-KIT development board with an ESP-Wrover module fitted.

Czy korzystasz z płytki ESP-Wrover (która ma pamięć PSRAM), czy jakiejś innej? Odnośnie IDE i kompilatora, to potrzebna jest wersja obsługująca pamieć PSRAM - patrz podany link:

https://www.esp32.com/viewtopic.php?f=13&t=2031

Deklaracje i mapowanie pamięci przeważnie robi się w skrypcie linkera (kompilatora) - pomocne może być także wygenerowanie przez kompilator pliku mapy pamięci projektu ("map file"), co mozna ustawić we flagach kompilatora/linkera. Niestey nie znam środowiska "esp-idf" i nie podpowiem dokładnie, gdzie można to ustawić.

Pozdrawiam

  • Lubię! 1
Link do komentarza
Share on other sites

- używam Arduino esp32 Nano(Doom jest zrobiony pod ten uP) , on ma takie parametry:

The Arduino Nano ESP32 has

384 kB ROM
512 kB SRAM
16 MB of Flash (external, provided via GD25B128EWIGR)
8 MB of PSRAM

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.