Auf der Suche nach Neuigkeiten den ESP8266 betreffend , fand ich diesen russischen Beitrag, der es allemal wert ist, ausprobiert zu werden: http://esp8266.ru/forum/threads/anonsy-unofficial-development-kit-for-espressif-esp8266.32/ - obwohl ich kein Russisch kann, habe ich die Anleitung zur Installation befolgt (alle mit "Скачиваем " - beginnenden Downloadlinks); - während des Downloads-/Install.-prozesses erscheint auch ein Ordner Espressif der sinnigerweise auf C: (wie die anderen Tools auch) entpackt werden sollte(damit die Makefiles ihn finden). Dort, unter Examples fand ich auch die langgesuchte SPI-Anbindung für ein ili9341- Display ! Man erhält eine Eclipse-IDE die die Flashfiles anfertigt. Ich kam nochnicht dazu, auch praktisch, am Objekt, auszuprobieren, ob alles so klappt und das Display tatsächlich an dem "Winzling" funktioniert, - bin aber zuversichtlich! Daher sei dies nur als Hinweis gedacht ...
@kettenrad 'victor' - macht einen guten job. hier eine verständliche beschreibung http://www.esp8266.com/viewtopic.php?t=820 -> Dort, unter Examples fand ich -> auch die langgesuchte SPI-Anbindung für ein ili9341- Display ! die projekte werden dort zusammengefasst. der compiler ist der cross compiler
- hab mal auf die Schnelle (quick and dirty) das Cube - Beispiel für das HY-1.8 SPI (von Raspberry-Pi Zubehör) umgeschrieben ...
sehr schön kettenrad - wie ich sehe - verwendest du das esp-adc dil version ;-) ich nehme es auch oft auf steckbrettern her da es das einzige ist, dass auf jeder seite 3 reihen steckkontakte frei lässt. denke aber dran, dass die deutsche bauserie ein anderes Flash IC verwendet wie die üblichen; auch die serienbauteil nummer weicht ab - ef 50 13 ./. c8 40 13 wenn du etwas mit SD/SDHC probierst, probiere es erst mit einer chin. version und achte auf die gesamt stromaufnahme, ein regulator mit 800 mA reicht dir da nicht mehr samt ESP und SD/SDHC du brauchst dann etwas jenseits über 1000 mA. ( nicht immer - aber sicherer test aufbau ) lg ;-)
.. schrieb: > und achte auf die gesamt stromaufnahme, ein regulator mit 800 mA > reicht dir da nicht mehr samt ESP und SD/SDHC du brauchst dann etwas > jenseits über 1000 mA. ( nicht immer - aber sicherer test aufbau ) > > lg > ;-) Hallo, Rudi ! Ich verwende den LM317T(1,5A), etwa Mitte Bild, schwach hinter dem Poti erkennbar. Eingangsspannung 5V aus 2A Schaltregler. Und dennoch ist zum Starten des Programms mitunter(nicht immer) die Unterstützung durch die 3,3V des FTDI-USB Wandlers notwendig. Da der LM317T adjust. ist, werde ich mal, bei Gelegenheit, ausprobieren, wie sich eine geringfügige Spannungserhöhung auf sagen wir mal 3,6V(etwa 3,6V kommen aus dem FTDI), auswirkt ...
- bei 3,56 Volt(nach meinem digit.Multimeter) startet das Programm auch ohne Hilfe des FTDI ..
- nach dem Tip von r_u_d_i ;-) das devkit installiert: http://www.esp8266.com/viewtopic.php?t=820 Die meisten Example lassen sich in Eclipse-Luna builden. Bei einigen aber nutzt auch diese Änderung im makefile nichts: # base directory of the ESP8266 SDK package, absolute #SDK_BASE ?= c:/Espressif/ESP8266_SDK #SDK_BASE ?= c:/Espressif/ESP8266_SDK_095 SDK_BASE ?= c:/Espressif/ESP8266_SDK_101 Das Example esphttpd compiliert allerdings fehlerfrei über die Kommandline (Command line Unofficial Development Kit for Espressif ESP8266) im Ordner Espressif. Wenn man im makefile den richtigen Com-port für den USB-Wandler angiebt, kann man auch bequem flashen mit "make flash" --> (reboot) --> "make htmlflash"; Es ist allerdings nötig, bei neuen ESP und z.B. Routern(Fritz-Box) zunächst einmalig eine Verbindung herzustellen. Ich habe dazu über das genannte Kommand-line zunächst das Example at_v0.20_on_SDKv0.9.4 geflasht und mit dem Tool aus C:\Espressif\utils --> Terminal.exe: • Set WiFi mode: AT+CWMODE=3 // softAP+station mode Response :OK • Connect to router: AT+CWJAP="SSID", "password" // SSID and password of router Response :OK • Query device’s IP: AT+CIFSR Response :192.168.3.106 // Device got an IP from router. die Verbindung über die Fritz-Box hergestellt. Danach wird der httpd-Server geflasht ...
Das oben gezeigte Beispiel esphttpd läuft auf dem ESP-ADC. Versuche, dies auf den esp12e zu implementieren, scheitern an der Zuordnung der Flashbereiche. Das Problem mit 4MB-Flash und blockweisem Zugriff ist in den Foren hinlänglich bekannt, aber bisher wohl ungelöst. Ich konnte keine überzeugende Lösung finden. Offenbar überschreibt "make htmlflash" einen Bereich, in dem der Netzwerkzugang gespeichert war. Ich habe das esp12 nun als LUA-Interpreter laufen. Dazu: https://github.com/nodemcu/nodemcu-firmware readme --> nodemcu_latest.bin: 0x00000 for most esp8266 modules, just pull GPIO0 down and restart. You can use the nodemcu-flasher to burn the firmware. Or, if you build your own bin from source code. 0x00000.bin: 0x00000 0x10000.bin: 0x10000 - dann http://www.esp8266.com/viewtopic.php?f=19&t=990
Hinzufügen möchte ich noch den Hinweis auf den ESPLORER von: http://esp8266.ru/esplorer/ Ähnlich dem LuaLoader: http://benlo.com/esp8266/index.html#LuaLoader ein gutes Arbeitsmittel; Hiermit https://primalcortex.wordpress.com/2014/12/30/esp8266-nodemcu-and-lua-language-and-some-arduino-issues/ lässt sich "init.lua" erstellen und somit beim Start die Wifi-Verbindung automatisch einrichten. Wenn man CMDFILE = "srv41.lua" -- File that is executed after connection und die Funktion -- Change the code of this function that it calls your code. function launch() print("Connected to WIFI!") print("IP Address: " .. wifi.sta.getip()) -- Call our command file every minute. --tmr.alarm(0, 60000, 1, function() dofile(CMDFILE) end ) dofile(CMDFILE) end entsprechend ändert. Die srv41.lua wird ebenfalls über den esplorer abgespeichert. Nun startet das Programm, sobald die Wifi- Verbindung steht ...
Weiterführend sei mir der Hinweis auf die Arduino-IDE mit esp-tool gestattet. Damit habe ich einen httpd-Webserver mit SD-Kartenanbindung , nach dem Beispielsketch, auf dem esp12 am laufen: Beitrag "Re: elm-chan SDHC Anbindungsmöglichkeiten HW SW"
.. mittels Editor auf die SD-Karte kopiertes Bild im Browser aufgerufen;
Ich denke, diese (ich nenn' das mal eben so) "Wifi-SD-Karte" könnte der zentrale Sammeipunkt für die Daten von verteilten wifi-Sensoren sein, die dann vom PC abgerufen und bearbeitet werden(schöne bunte, graph. Darstellung). Dies würde dann ohne < "Cloud" irgendwo > nur im Heimnetz(oder meinetwegen auch dynDNS) möglich sein ...
kettenrad schrieb: > Ich denke, diese (ich nenn' das mal eben so) "Wifi-SD-Karte" ... > könnte der zentrale Sammeipunkt für die Daten von verteilten wifi- > Sensoren sein, ... > Dies würde dann ohne < "Cloud" irgendwo > nur im Heimnetz(oder > meinetwegen auch dynDNS) möglich sein ... hi kettenrad, genau so ist. am dbs sowie am cms feile ich gerade in meinem projekt. gleiche schwebt mir auch vor. die fw werden zentral gehalten... benutzt du die luna mit toolchain auch? kannst du ein projekt darin laden? benutzt du auch xtensa ide? lg ;-)
.. schrieb: > benutzt du die luna mit toolchain auch? kannst du ein projekt darin > laden? > benutzt du auch xtensa ide? aus Eclipse-Luna heraus habe ich nochnicht geflasht. Geht einfacher mit dem Flasher von nodemcu. xtensa-IDE nutze ich nicht (mehr); Ist schon ein Grauß, in der Arduino-IDE lowlevel Routinen anzupassen. Mom. schreibe ich einen Treiber für Touchscreen-Kontroller ala' ADS7846/XPT2046;
- oder meinst du Projekte laden in Luna? hier mal (rechts) die Projekte aus den Example, die ich ausprobiert habe. Von den fehlerbehafteten lassen sich einige aber dennoch mit dem Kommandline-Tool kompilieren ...
hallo kettenrad, wenn ich dir ein projekt zum ausprobieren gebe, kannst du es mit allen drei laden ( xtensa no vm win ) , ( luna ) , ( vm espressif ), oder nur bestimmte? flashen kannst du mit dem flash tool 1.2 oder wie du es gewohnt bist. ;-)
- danke für das Angebot. Ich weis, das Du auch mit Arduino-IDE unterwegs bist. Da ich da grad rumbastle, würd ein entsprechender sketch passen. Luna-Eclipse geht ebenfalls. Mit espressif vm oder xtensa vm in pure währe nicht so angenehm ..
hi kettenrad anbei zum spielen: ein universales base projekt fat32_sdhc_ da du hier die ide im thread erwähnst, hier mal für luna ( hab es für xtensa auch , für arduino ide schreibe ich es noch - aber erst später ) was macht es: der komplette sdhc inhalt wird über uart gelistet ausgegeben. dann wird ein file angelegt. dann wird in das file geschrieben dann wird das file geschlossen dann wird das file wieder geöffnet dann wird das file eingelesen und über uart der inhalt ausgegegebn. dann wird das file wieder geschlossen. wifi ist hier bewusst aus. du kannst das hernehmen für - eigenen web content --anlegen, editieren, löschen, ausgeben usw anschluss sdhc card MOSI.. GPIO 13 MISO.. GPIO 12 CLK... GPIO 14 CS.... GPIO 15 ! CS ist GPIO 15 weil das projekt die base ist für das spätere booten von sdhc....daher ist das in der jetzigen form (H)SPI z.b. kann man über uart das firmware file selektieren welches geladen werden soll, kein interpreter - sondern das hex file - wie ein update über cloud. das komplette projekt mit oled, can, dbs, cms und aes ( crypted boot ) wird es später hier im µC forum im finale geben "have phun" lg ;-)
btw: hab hier 16GB ( 8.90 EUR ) und 32GB ( weiss nimma ) sdhc und adapter von DM ( Paradies ), aufbau mit gelöteten 2.54 pins ( bild )
sorry push' schauh dir das makefile an und pass deinen com port an. normalerweise musste alles passen wenn du standard installion hast. mit clean räumst du auf mit all machst du alles neu ( firmware ) mit flash muss der esp im bootmodus sein und der com port richtig eingestellt, dann kannst du direkt aus luna flashen mit flashboot das gleiche aber der esp wird dann auch resetet guats nächtle und schöne restwoche noch. lg ;-)
Vielen Dank für das Projekt! Werd's testen .. Hab viel mit STM32 entwickelt, bis, -ja bis ich an die DMA-Grenzen (mehr als 3) stiess; Daher noch viel waveshare-Adapter, die man nach und nach auf esp-Tauglichkeit prüfen kann (Kamera, Flash,SRAM,Audio, usw.) :-) p.s.: Ich denke, Du solltest dein Projekt in die Codesammlung einstellen! Für alle und dauerhaft ..
kettenrad schrieb: > .. noch viel waveshare-Adapter, die man nach und nach auf > esp-Tauglichkeit prüfen kann (Kamera, Flash,SRAM,Audio, usw.) :-) ich kombiniere auch alle meine adapter ;-) im moment ist das der enc28j60 mit etwas geschrupften stack, mal sehen. sieht eigentlich gut aus, ( ping ok, response ok ) aber die hitze macht einem den gar aus. am we soll es etwas abklingen. > Für alle und dauerhaft .. .. ist nicht so besonders kettenrad, ist nur eine base für sdhc und elm chan auf (H)SPI. das was du draus machst ist interessant. mein final projekt wird es hier geben, dabei ist auch der eigene bootloader code, da espressif nicht gewillt war/ist, den bootcode opensrc zu stellen. es dauert aber noch etwas, muss noch "aufräumen" lg ;-)
.. schrieb: > z.b. kann man über uart das firmware file selektieren welches geladen > werden soll, kein interpreter - sondern das hex file - wie ein update > über cloud. Verstehe ich dich da richtig? Das ominöse Sterben des Flash auf den ESP-Boards wird damit nicht gelöst werden können. Programme starten nicht von der SD-Karte, sondern nach wie vor vom Flash. Die .hex Files werden nach der Auswahl über z.B., uart, in den Flash kopiert und ausgeführt. Wie bei einem Cloud-Update ?
kettenrad schrieb: > .. schrieb: >> z.b. kann man über uart das firmware file selektieren welches geladen >> werden soll, kein interpreter - sondern das hex file - wie ein update >> über cloud. > > Verstehe ich dich da richtig? nicht ganz.. > Das ominöse Sterben des Flash auf den ESP-Boards wird damit nicht gelöst > werden können. doch ;-) > Programme starten nicht von der SD-Karte, sondern nach > wie vor vom Flash. beides ist möglich ;-) > Die .hex Files werden nach der Auswahl über z.B., uart, in den Flash > kopiert und ausgeführt. Wie bei einem Cloud-Update ? ja wenn du das so willst, du kannst aber auch direkt von der sd booten und den flash 'weglassen' lg ;-)
- Warum ich darauf anspiele? Ich liebäugele grade mit den beim esp12 herausgeführten Pins für SPI-Flash ...
AHA, - überschnitten :) Also doch Mit deinem bootloader soll dann ein Starten von Programmen aus der SD möglich sein?! Das wäre in der Tat ein Durchbruch -->
kettenrad schrieb: > Mit deinem bootloader soll dann ein Starten von Programmen aus der SD > möglich sein?! http://bbs.espressif.com/viewtopic.php?f=15&t=665 bei allen ehren zu espressif, aber ich habe mich wegen der 'salamitaktik' etwas dazu distanziert und daher halte ich auch das aes konzept zum bootcode noch 'zurück' Beitrag "ESP8266 SD Card / AES256" letzte zitat: "Dear Rudi, Sorry for the first requirement. We would not do that for some reason. The second one is OK. And you could share it on bbs. It doesn’t matter. " vorletzte zitat: " Hi Rudi, We have received your mail. For the first question, we have to discuss it internal first. For the second question about AES256, it is OK. We are glad to have it and see what you have done, which sounds great. firmware protection - Communication chipper / decrypt" meine anfrage war simple nach einer template für den bootcode bzw einen 'schalter'/'impuls' damit man andere bootmedien probieren kann " > can u please help me a little: > > is there a way to get the src from bootloader ( or a template ) for making own > need this for the final protection. > > or can u make a function like this: > > if the bootloader can make a temp step like this > > - load a bin file from spi flash and decrypt onthefly the crypted firmware > > then load / start the user_main() > > .. > > is this possible? > > > is this possible, that the flash download tool can read and display the CHIP ID in next Version? > this will be a helfull funktion for produktion. > > and please, a last question: > > question is: > > i have finnish a security pack for the esp8266. !AES256 ! > > i can load protected firmware from scratch - > firmware is crypted - > > firmware support AT version with an AES256 lib that i have created > and i create the api for receive/sending AES256 packets over UART, (H)SPI, I2C, GPIO (bitbanging) > > i will post it near time ( asap ) video, details, projekt, ( i will do this monday-wednesday comming week ) but i will ask you ( espressif ) before, > can i do this . because the security pack is based at AES 256 and in some countrys are this not allowed, ( germany no problem ) > if i post details under projekts here at bbs.espressif is this ok or do i can not post about AES256 , hope you understand right. i will ask you ( espressif ) before " gerade das bootloader prizip wäre sehr schön gewesen, wenn sie es offengelegt hätten, da ja nach dem start des esp nichts beeinflusst werden kann, ( security ) wenn man den bootloader nicht ändern kann. das hemmt aber auch eigene projekte anzugehen, den flash auszuspielen, eben wegen der bit kipperei manchmal. mein problem war bisher das coden "im reinen c" als der esp rauskam. ich musste erst c lernen ;-) und bin immer noch dabei ;-) lg ;-)
btw kettenrad: sdhc base: angeregt durch die wifi sd card, z.b. Transcends Wi-Fi SD Karte du könntest in kombi esp&sdhc einen eigenen kleinen schmalen "SMB Server" machen, der den kontent von der sdhc ins esp / homelan netz stellt.. und mit prinzip des 'esplore' auch files uploaden..
- mit anderen Worten: Dein "firmware support AT version with an AES256 lib " wurde dankend angenommen, --> Schulterklopfen und ein gönnerhaftes "weiter so" (mach unsere Arbeit), aber an den Kuchen lassen wir dich nicht ..
quark schrieb: > http://richard.burtons.org/2015/05/18/rboot-a-new-boot-loader-for-esp8266/ nett, aber nur für "•Can use the full size of the SPI flash (see below)." und gehemmt "•Not compatible with sdk libupgrade (but equivalent source included, based on open source copy shipped with earlier SDKs, so you can easily update your existing OTA app use this new code). "•Only 8MBit of flash can be memory mapped at a time (the SDK bootloader allows at most the first 2 x 8Mbit chunks to be used for roms, rBoot doesn’t have this limit, on a 32MBit flash you can have 4 x 8MBit roms), see memory mapping imitation for more details." und mit sdhc nicht brauchbar: "Good afternoon , Is it possible to write this command: esptool.py –port COM7 write_flash -fs 8m 0x00000 rboot.bin 0x02000 rom0.bin 0x82000 rom1.bin 0xfc000 blank4.bin as follows: esptool.py –port COM7 write_flash -fs 8m 0x00000 rboot.bin 0x01000 rom0.bin 0x81000 rom1.bin 0xfc000 blank4.bin " antwort: "No. 0x01000 is where the rBoot config is stored so your first rom will be corrupted. The second rom can go at 0x81000 if you want, or at 0x80000, or even lower if the first rom doesn’t reach there. If you do this you’ll need to change the linker script for rom1 to reflect this different flash location. You would also need to create a custom rBoot config and write it to 0x01000 so it knows where to look for the second rom. The default generated config expects the second rom to be at half chip size + 0x02000. This does waste 0x02000 bytes of flash but keeps things simple and symmetrical and you can always write your own config if you want full control. If you are writing your own rBoot config you can divide the chip up any way you want (and you aren’t limited to just two roms). "
.. schrieb: > du könntest in kombi esp&sdhc einen eigenen kleinen schmalen "SMB > Server" machen, der den kontent von der sdhc ins esp / homelan netz > stellt.. > und mit prinzip des 'esplore' auch files uploaden.. Mit dem SD Editor, -einem Tool auf der SD-Karte aus dem Beispielexample SDWebserver, kann man aus dem lokalen Netz Daten auf die SD schreiben ; (siehe Beitrag "Re: IDE für ESP8266 mit vielen Example")
kettenrad schrieb: > - mit anderen Worten: > Dein "firmware support AT version with an AES256 lib " wurde dankend > angenommen, --> Schulterklopfen und ein gönnerhaftes "weiter so" (mach > unsere Arbeit), aber an den Kuchen lassen wir dich nicht .. danke kettenrad - du bist der erste der mich auf anhieb jetzt verstanden hat, warum ich auch zurückhaltend bin. bei mir geht es jetzt allmählich in die richtung, und jetzt erst recht raus mit dem code, damit espressif etwas leichten druck bekommt, nicht alles was wirklich geht ist dokumentiert und offengelegt, profitieren davon wird espressif - sie sind der hw hersteller mit stückzahlen. aber ich komme auch auf meinen spass faktor - mit oder ohne opensrc ;-) dann wird es eben so lange probiert. esp8266.com ist toll, ja, aber ich habe davon eine andere meinung, wenn man eine community einrichtet, sollte der gepostete code für jedermann zugänglich sein, nicht erst nach registrierung auf dem 'forum' das kommerz ist. war schon immer meine meinung: http://www.esp8266.com/viewtopic.php?f=11&t=741&start=5#p7351 http://www.esp8266.com/viewtopic.php?f=11&t=741&start=5#p7390 kettenrad schrieb: > Mit dem SD Editor, -einem Tool auf der SD-Karte aus dem Beispielexample > SDWebserver, kann man aus dem lokalen Netz Daten auf die SD schreiben ; schreibe in die callback des wifi servers eine funktion, die empfangene daten auf die sd card schreibt, dann läuft dein eigener ;-) am esphttpd beispiel von sprite anderst du das lesen von spi 'flash' auf sdhc, und das 'posten' auch. wie das listing der directory geht ist im base ;-)
kettenrad schrieb: > - mit anderen Worten: > aber an den Kuchen lassen wir dich nicht .. btw http://bbs.espressif.com/viewtopic.php?f=46&t=708#p2599 "Updated libssl again. To support SHA-256 and SHA-512" ;-)
- das muss ich erstmal verdauen! (rboot ist auch .. interessant! )
kettenrad schrieb: > - das muss ich erstmal verdauen! > (rboot ist auch .. interessant! ) keine frage - rboot ist sogar besser als der eigene von espressif - lass dir zeit zum verstehen, nicht gleich kommt das 'aha' aber wenns dann da ist, kanns keiner besser als du ;-) so ich muss jetzt ab in den garten - die arbeit ruft ;-) ausserdem ist ja eh eine 'flaute' im esp-hype und ferien sind ;-) lg ;-)
push# sorry vergessen: lass bitte hören wenn das sdhc bei dir läuft oder wenn es eckt, ok?! viel spass! ;-)
@kettenrad btw: wenn bei dir die sdhc base läuft, dann sende einmal irgendein zeichen ( spätere case ) auf den uart zum esp. er wird rebooten , das zeichen kann man auswerten lassen für spätere optionen.. so aber jetzt mach ich mich vom acker ;-)
<\r><\n><\r><\n>WIFI SET UP IN NULL MODE <\r><\n>START SYSTEM <\r><\n>INIT SPI OK <\r><\n>SD interface init OK <\r><\n>Mounted OK <\r><\n>/DCIM/100MEDIA/SUNP0001.AVI<\r><\n><\r><\n> Scan files OK <\r><\n>write test: <\r><\n>write ok<\r><\n>read the file: <\r><\n>done by rudi ;-)<\r><\n>mode : null<\r><\n> - wie Du unschwer erkennst. -- it works! -- Auch reboot bei Senden eines Zeichens; - allerdings habe ich das makefile etwas ändern müssen (s.o.)
Ich hab's jetzt eingekreist: Meine Luna-IDE espressif verlangt -std=gnu90 in den CFLAGS
Kann man eigentlich den Flash-Chip gegen eine angelötete SD-Karte tauschen? Ist doch beides SPI...
kettenrad schrieb: > - Warum ich darauf anspiele? > Ich liebäugele grade mit den beim esp12 herausgeführten Pins für > SPI-Flash ... der verbaute spi-Flash wird anders initiiert als eine SD-Karte. Der Austausch gegen einen anderen SPI-Flash Chip ist möglich und wurde schon mehrmals durchgeführt, da die Anzahl der reflash Zyclen beim verbauten wohl doch niedrig ist..
kettenrad schrieb: > <\r><\n><\r><\n>WIFI SET UP IN NULL MODE <\r><\n>START SYSTEM > <\r><\n>INIT SPI OK <\r><\n>SD interface init OK <\r><\n>Mounted OK > <\r><\n>/DCIM/100MEDIA/SUNP0001.AVI<\r><\n><\r><\n> Scan files OK > <\r><\n>write test: <\r><\n>write ok<\r><\n>read the file: <\r><\n>done > by rudi ;-)<\r><\n>mode : null<\r><\n> > > > - wie Du unschwer erkennst. -- it works! -- > Auch reboot bei Senden eines Zeichens; > - allerdings habe ich das makefile etwas ändern müssen (s.o.) du hast mir als einziger bisher herzliche response gegeben, ich danke dir sehr herzlich dafür kettenrad - das meine ich ernst! jetzt mach was #für dich # draus, schritt für schritt, sdhc läuft jetzt bei dir. bin sehr froh, dass es 'fast' auf anhieb geklappt hat, das makefile schauhe ich mir gleich an. denke dass du die neue ide hast, bzw den neuen cross compiler, kann das sein? ich bin später heute noch mal online. hey kettenrad - danke für das herzliche feedback! wenn nur einer dabei ist, bei dem es funkt, bin ich der glücklichste mensch! lg rudi ;-)
#push @Karl Heinz danke für deine unermüdlichen bemühungen in der c lehre, ohne dies es gar nicht möglich wäre. lg ;-)
No updates were found. Mal eben gescheckt - - wohl wirklich aktuell; Ich bremse ja nur ungern, aber nach den Tests habe ich wieder den SD-Webserver aufgespielt. Pin 15 blockiert den Start deines Programms. Erst wenn ich ihn abziehe und im HTerm den Start abwarte, kann ich ihn wieder anstecken und alles läuft wie gewünscht. Das ist sowohl beim esp 12 als auch beim esp 07 der Fall .. was letztendlich auchnicht sonderlich verwundert. Sowohl Pin 0 als auch Pin 15 bringen den IC (bei reset) auf bootloader - Mode, wenn sie logisch 0 sind ..
Ich bin jetzt etwas verunsichert. Habe beim laufenden Webserver SD - Programm den Pin 15 auf Ground gezogen und resettet. Und das Programm startet ...!?! Nur wenn Pin 15 als CS programmiert wird, tritt der von mir geschilderte Effekt auf! -seltsam, sehr seltsam ...
Aha, man lernt nie aus! Der CS-Pin der SD-Karte liegt auf +3,3V. Diese überschreiben den pulldown( 10k ) an Pin 15. Dieser high-Pegel blockiert das Starten des Programms von Dir!
kettenrad schrieb: > Ich bin jetzt etwas verunsichert. > Habe beim laufenden Webserver SD - Programm den Pin 15 auf Ground > gezogen und resettet. > Und das Programm startet ...!?! ja das ist auch richtig, gpio15 muss auf ground sein, damit der esp booten kann. > > Nur wenn Pin 15 als CS programmiert wird, tritt der von mir geschilderte > Effekt auf! > -seltsam, sehr seltsam ... der cs wird high programmiert, damit der den boot von flasg nicht 'auf sich zieht'...
kettenrad schrieb: > Aha, man lernt nie aus! so gehts mir dauernd mit c ;-) > Der CS-Pin der SD-Karte liegt auf +3,3V. Diese überschreiben den > pulldown( 10k ) an Pin 15. yeap, ...nur wenn cs high ist > Dieser high-Pegel blockiert das Starten des Programms von Dir! ..sagen wir mal so, du hast soeben den boot von flash auf sdhc 'gebogen' mit dem anschluss der sdhc pin 'cs' auf gpio15 ;-) und jetzt will er aber einen bootloader auf der sdhc sehen der ihm sagt, wohin die reise geht oder eine firmware auf 0x00000.. und jetzt ist die katze aus dem sack, auf 0x00000 auf der sdhc wartet was auf der fat32? ein bootloader schaft abilfe, ein kleiner 'grub' reicht... .. ;-)
btw: wenn du die sdhc 'nur' als kontent für das esphttpd example verwenden willst, dann musst du den cs 'umbiegen' wie es sprite gemacht hat, eben anstatt gpio 15 dann gpio 02 oder anderen gpio, der kein bootpin ist... das muss dann auch in den driver files umgeschrieben werden. wenn du die sdhc auch als bootmedium verwenden willst, dann ist der gpio15 schon richtig, der interne bootprocess fragt die pins ab, und nach einem bitmuster wird entschieden von wo er booten soll, er erwartet dann an 0x0000 das firmware oder einen bootloader der sagt wohin es geht, egal welche quelle.
-- Ähhm ! Ist es nicht eher so: Da ich einen SD-Adapter von waveshare benutze, wird CS(D3) mit einem Pullup 10k vorgespannt. Egal was für ein Programm ich geladen habe, - dieser Pullup bringt GPIO 15 auf high-Pegel, was ein Starten verhindert. Der IC bleibt bei reset(GPIO0=0) im Bootloader stehen ... ... nicht eine Zeile code wird ausgeführt; Daher wird die SD auch nicht initialisiert ..
Das SDWebServer Programm benutzt ebenfalls HSPI. Nur CS ist auf GPIO2 ..
kettenrad schrieb: > -- Ähhm ! berechtigt ;-) > Ist es nicht eher so: > Da ich einen SD-Adapter von waveshare benutze, wird CS(D3) mit einem > Pullup 10k vorgespannt. gpio15 ist dann high, ein booten von flash ist nicht möglich. > Egal was für ein Programm ich geladen habe, - dieser Pullup bringt GPIO > 15 auf high-Pegel, was ein Starten verhindert. ja - der high pegel beim starten des esp blockiert den bootprocess vom flash > Der IC bleibt bei reset(GPIO0=0) im Bootloader stehen ... > ... nicht eine Zeile code wird ausgeführt; > Daher wird die SD auch nicht initialisiert .. ja , wenn der gpio0 auf low steht, dann hat der intern bootloader vorang und wartet auf konstruktion vom programmer, oder commander, es sind in dem mode auch kommunikationsmöglichkeiten mit dem esp gegegeben, abfragen von chipid, mac und andere 'register' die firmware mit der sd card init muss daher jetzt auf die sdhc denn wenn der gpio15 nicht low ist beim booten des esp dann bootet er nicht von flash, sondern will von wo anderes sein file wenn gpio0 beim booten low ist, dann springt der esp bootloader für das firmware aufspielen an. die pins werden nahceinem bitmuster abgefragt, jenachdem was anliegt wird entspreched ausgeführt.
Verstehe jetzt, warum Du auf Pin 15 beharrst. Dann ist Dein Programm nur mit "Selbstbau - Adapter" lauffähig!
kettenrad schrieb: > Das SDWebServer Programm benutzt ebenfalls HSPI. Nur CS ist auf GPIO2 .. yeap, damit das programm vom flash geladen werden kann. oki?
kettenrad schrieb: > Verstehe jetzt, warum Du auf Pin 15 beharrst. > Dann ist Dein Programm nur mit "Selbstbau - Adapter" lauffähig! ich habe ehrlich gesagt die sdhc wie im bild, in einem sd micro adapter, diese pins gehen direkt auf den esp, ohne pullup/pulldown. ich werde aber einen breakout sd card adapter mal verwenden, es kann sein, dass tatsächlich der adapter durch beschaltung den cs auf high legt, also einen pullup führt, die frage ist, wie hoch der wert ist. auf dem esp12 werden glaube ich 10KOhm pulldown verwendet - nagle mich aber nicht fest - wenn ich pulldown/up brauche, dann mache ich das mit den internen vom esp per gpio setting.
kettenrad schrieb: > Ich hab's jetzt eingekreist: > Meine Luna-IDE espressif verlangt -std=gnu90 in den CFLAGS Changelog: v2.0.7 (09.07.2015): * Updated compiler xtensa-lx106-gcc and xtensa-lx106-g++ up to version 5.1 (big thanks jcmvbkbc); ATTENTION! For correct build of your firmware, you must add the option -std=gnu90 in directive CFLAGS in Makefile du benutzt die neue 2.0.7 ;-) http://www.esp8266.com/viewtopic.php?t=820 daher der hinweis, wer die version benutzt, sollte das makefile anpassen bzw kann ja das von kettenrad benutzen, wenn er es schon gepostet hat ;-)
kettenrad schrieb: > <\r><\n><\r><\n>WIFI SET UP IN NULL MODE <\r><\n>START SYSTEM > <\r><\n>INIT SPI OK <\r><\n>SD interface init OK <\r><\n>Mounted OK > <\r><\n>/DCIM/100MEDIA/SUNP0001.AVI<\r><\n><\r><\n> Scan files OK > <\r><\n>write test: <\r><\n>write ok<\r><\n>read the file: <\r><\n>done > by rudi ;-)<\r><\n>mode : null<\r><\n> > > > - wie Du unschwer erkennst. -- it works! -- kettenrad, nur gegenfrage, mit welchem adapter - denn der wave zieht den cs auf high sagtest du, oder hast du auch einen DiY Adapter direkt angeschlossen? bin dabei micro sd holder zu suchen, für smd pad anschluss. bei ali gibt es die seh rgünstig für umgerechnet 0,27 eur das stück mal sehen.
- moin, moin! .. schrieb: > nur gegenfrage, mit welchem adapter - denn der wave zieht den > cs auf high sagtest du Mit dem oben erwähnten Trick: - im Terminal starten abwarten, dann erst CS(Pin15) anstecken..
todo: - den 10k Pullup von D3(CS) entfernen; - aus dem base die schreib/lese - Tests entfernen; - cs nach SD-init auf "high" ziehen(im main); - SD-mit FAT32 formatieren(entfernen von Datenmüll --> nur FATTabelle); -"Grub" grubben und verstehen, was das ist; -0x00000 und 0x40000 auf SD ins root; Frage: beim reboot durch Eingabe über Terminal bleibt da Pin15 auf 1 (z.B. durch SD-selekt) oder muss ich z.B. den Pullup vor dem reboot für Pin15 einschalten und bleibt der trotz reboot lange genug auf 1 , um den Bootvorgang von SD einzuleiten?
kettenrad schrieb: > todo: > - SD-mit FAT32 formatieren(entfernen von Datenmüll --> nur FATTabelle); die 'File Allocation Table' ( FAT ) ist im bootsector > -"Grub" grubben und verstehen, was das ist; "grub" kommt von 'grub' https://de.wikipedia.org/wiki/Grand_Unified_Bootloader der ist hier ironisch genannt, und es ist damit gemeint, dass man sich einen bootloader basteln muss, wenn man mehrere fw parat halten will, ..man braucht dann einen bootloader, der die fw an den bestimmten adressen entweder lädt, oder einen manager, der das fw file dann auf der sd card von einem bereich ( adressen ) zu[m](r) anderen 'moved' > -0x00000 und 0x40000 auf SD ins root; das wird die FAT zerstören, denn 0x00000 file beginnt ab 0, da steht der bootsector und die FAT ( offset 03 ) https://de.wikipedia.org/wiki/File_Allocation_Table#Bootsektor > > Frage: beim reboot durch Eingabe über Terminal bleibt da Pin15 auf 1 > (z.B. durch SD-selekt) oder muss ich z.B. den Pullup vor dem reboot für > Pin15 einschalten und bleibt der trotz reboot lange genug auf 1 , um den > Bootvorgang von SD einzuleiten? das bitmuster fragt der bootloader des esp ab, egal ob cold, warm, oder aus dem 'deep sleep' heraus. es gibt beim entsprechenden booten dann die möglichkeitder -vorher- ein bitmuster abzulegen.. das beim bootprocess berücksichtigt werden kann ( user key data )
1 | }
|
2 | |
3 | void setup(){ |
4 | Serial.begin(74880); // du kannst den bootprocess sichtbar/lesbar machen |
5 | // ein zweiter µC mit eingestellter 74880 baud
|
6 | // und zweiten uart 115200 als lesbarer umsetzer
|
7 | // geht auch wenn man keinen 74880 baud adapter hat
|
8 | |
9 | }
|
10 | |
11 | void loop() |
12 | {
|
13 | Serial.println("Hello world!"); |
14 | for (int i=10; i > 0; i--){ |
15 | Serial.println(i); |
16 | delay(1000); |
17 | }
|
18 | |
19 | // deep sleep mode unter 80 µA ( ~ 75-78 )
|
20 | Serial.println("Time to sleep"); |
21 | system_deep_sleep(10000000); //sleep time in usecs. 10000000 = 10 sek |
22 | delay(1000); // eine kurze verzögerung, |
23 | // um das in schleife zu halten,
|
24 | // während Deep Sleep umgesetzt wird
|
25 | }
|
aufwachen aus dem deep sleep : GPIO16 und RESET kurz brücken interner esp bootloader kann nicht geändert werden, er will von 0 von einem 'angeschlossenen' datenträger das file laden. man kann die sd auch im RAW mode betreiben.
brauchbare infos für ein eigenes management auf raw basis: https://web.archive.org/web/20120415092710/http://www.fort-awesome.net/blog/2010/03/25/MBR_VBR_and_Raw_Disk http://stackoverflow.com/questions/38190/how-do-i-read-a-disk-directly-with-net/38275#38275 http://www.mrunix.de/forums/showthread.php?42232-C-Fertiger-Quellcode-zum-auslesen-von-angeschlossenen-Festplatten-und-Partitionen lg ein schönes, hitziges, wasserfreudiges lange sommerwochenende 'pack die badehose ein... ;-)
? - auf der SD-Karte liegt unter " 32_done.txt " das .hex - file eines ESP8266 Blink by Simon Peter(aus Arduino-IDE Beispiel: esp Blink); das ist ein .hex aus blink.bin konvertiert! Es beginnt ab 000F78800 oder Sektor 31680; bootloader schreiben ist nicht so der Bringer für mich .. Wie überrede ich den esp , diese .hex in seinen IRAM zu kopieren(beginnend mit 0x000000) und auszuführen?
kettenrad schrieb: > ? - auf der SD-Karte liegt unter " 32_done.txt " das .hex - file eines > ESP8266 Blink by Simon Peter(aus Arduino-IDE Beispiel: esp Blink); > das ist ein .hex aus blink.bin konvertiert! > Es beginnt ab 000F78800 oder Sektor 31680; mhm.. als allererst müsstest du dich entscheiden wie du vorgehst, enweder hex adressen oder bin sektoren witz: Beispiel: windows Calc Wissenschaftlich: Hexwert eingeben: F78800 geteilt durch : / umschalten auf Dez: Dez Dez Wert eingeben: 31680 Ergebnis: Dez Wert 512,06464646464646464646464646465 die blockgrössen stimmen nicht überein ;-) es muss lauten 512 Gegenprobe: Dez Wert 31680 umrechnen in Hex 31680 = 7BC0 Alles in Hex Rechnen: F78800 / 7BC0 = 200 Ergebnis: Hex Wert 200 in Dez = 512 ok - spass wieder weg ( aber bitte prüfe deinen win calc der wird dich im ersten fall auch anschwindeln ) ;-) > > bootloader schreiben ist nicht so der Bringer für mich .. what mut dat mut! so einfach mach ich dir das nicht > Wie überrede ich den esp , diese .hex in seinen IRAM zu > kopieren(beginnend mit 0x000000) und auszuführen? überleg mal ;-) 0x000000 ist eine stelle zuviel - weiss den der esp wo das nun liegt? auf flash oder sd, hast du ihm das über die bitmuster mitgeteilt?
moin, moin ! Was ich da angegeben habe, ist Schnee von gestern(ausgelesen mit HxD). Diese Adressennummern und Sektorennummern sind irrelevant ..; Mitlerweile habe ich Eclipse-Luna mit Arduino Plugin aufgesetzt. http://www.baeyens.it/eclipse/how_to.shtml#/e Prima Sache, das .. Der GPIO15 ist als CS für die SD ungeeignet. Ändern Pullup/-down führt zu nichts. Irgentwann blockiert die SD und muss neu formiert werden. Deshalb nehme ich das WebserverSD Beispiel, blockiere WLAN, und zum booten von SD ziehe ich beim deepsleep(RST und GPIO16 gebrückt) aufwachen den GPIO15 auf 1 ; Auf SD ist unter 32_done.txt das .raw des Blink.bin; http://forum.condorsoaring.com/viewtopic.php?t=9500
kettenrad schrieb: > Auf SD ist unter 32_done.txt das .raw des Blink.bin; > http://forum.condorsoaring.com/viewtopic.php?t=9500 ein bin file zu einem raw file konfertieren? wozu das? RAW bezieht sich auf das format der sd. entweder hat es eine gültige FAT oder sie wird im RAW modus betrieben. im RAW mode kann windows indirekt nichts damit anfangen und fragt ob es den datenträger formatieren soll - hdx kann den RAW datenträger lesen.
- bei einigen STM32 LCD-Ausgaben wird ein Datenstream fortlaufend von einem *.raw File gelesen; Da keine Optimierung, Kompression, vorangestellte Farbtabellen oder irgendwelche Header! -rohe Daten eben .. .. die dann, so mein Gedankengang, 1:1 fortlaufend in den IRAM-Bereich kopiert werden;
Hinweis: Um mit Fragen nicht diesen Thread zu 'kapern' habe ich den Beitrag "ESP8266 Windows/LUNA Hilfe-Thread" eröffnet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.