zeroflag / punyforth

Forth inspired programming language for the ESP8266
Other
410 stars 43 forks source link

Want to understand, how it works #3

Closed Spray27ds closed 7 years ago

Spray27ds commented 7 years ago

Hallo, great that there is a forth for ESP8266 :-) I want to use it for personal development and will try to add mutt-support. Browsing through the source I wonder how/when uber.forth is read from flash during startup. Can you give me some hints, so I can better understand how it woks?

mny tnx in advance,

Dietmar

zeroflag commented 7 years ago

hi,

Sorry for my ignorance, what is mutt-support?

The uber.forth is written to the flash (at a predefined address 0x51000) by the flash.bat/flash.sh script.

Punyforth always reads the source using the "key" word. During the boot, the key word is redirected to read from the flash instead of uart.

Take a look at next_char_from_flash(), forth_getchar(), forth_getchar_nowait() in https://github.com/zeroflag/punyforth/blob/master/arch/esp8266/rtos/user/forth_io.c

The uber.forth is ended with a \0 character. When this character is read, the "key" word will read from the uart again.

Attila

Spray27ds commented 7 years ago

Hi Attila,

thanks for your fast answer, now I understand :-)

I meant MQTT support, sorry for the typo.

All the best,

Dietmar

Von: Attila Magyar notifications@github.com An: zeroflag/punyforth punyforth@noreply.github.com Kopie: Spray27ds dietmar.schielke@data-experts.de, Author author@noreply.github.com Datum: 29.11.2016 17:28 Betreff: Re: [zeroflag/punyforth] Want to understand, how it works (#3)

hi, Sorry for my ignorance, what is mutt-support? The uber.forth is written to the flash (at a predefined address 0x51000) by the flash.bat/flash.sh script. Punyforth always reads the source using the "key" word. During the boot, the key word is redirected to read from the flash instead of uart. Take a look at next_char_from_flash(), forth_getchar(), forth_getchar_nowait() in https://github.com/zeroflag/punyforth/blob/master/arch/esp8266/rtos/user/forth_io.c The uber.forth is ended with a \0 character. When this character is read, the "key" word will read from the uart again. Attila ? You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

zeroflag commented 7 years ago

cool, let me know if you have any further questions