Git Product home page Git Product logo

cforth's Introduction

C Forth

This is Mitch Bradley's C Forth with Open Firmware, derived from the version at One Laptop per Child, and improved as follows:

  • Host version has line editing,
  • Host version catches exceptions,
  • key and key? implemented property in host versions for Linux and Windows,
  • Makefile fragments factored better, and use pattern rules extensively,
  • Makefiles in build directories simplified.

It has been optimized for embedded use in semi-constrained systems such as System On Chip processors. To port it to a new system, you will need to add some or all of the following new directories and files:

  • CPU-dependent code and compiler definitions in src/cpu/*
  • Platform-dependent code in src/platform/*
  • Application-specific code in app/*
  • Build directories for your versions in build/*

There are two build directories that can be used as templates. You can copy these templates to a new name as a starting point for your version.

Use build/host-serial-linux64/Makefile as an example for how to set up a build directory for a host-resident C Forth on a 64-bit Linux system.

Use build/esp8266/Makefile as an example for how to set up a build directory for an embedded C Forth.

Typing make in build/host-serial-linux64 will build a host image for the same CPU as the host:

   $ cd build/host-serial-linux64
   $ make
   $ ./forth app.dic
   $ C Forth  Copyright (c) 2008 FirmWorks
   ok bye
   $ 

The forth executable program is a version of the Forth core kernel (the equivalent of "code words") that runs on the compilation host system. It loads a "dictionary file" like app.dic, which is a machine-independent representation of a Forth dictionary containing compiled colon definitions and other objects.

Read the Makefile in the build/template to see how to configure the CPU, the platform code, and the application code.

PlatformIO

This repository is a PlatformIO project for several target boards. We have tested these boards;

  • Raspberry Pi Pico RP2040,
  • Adafruit Feather M0,
  • Teensy 3.1, 3.2, 3.5, 3.6, and 4.0,
  • Espressif ESP32.

PlatformIO makes it relatively easy to add support for more boards. If you can use PlatformIO to make an LED blink using the Arduino framework, and if there is enough RAM on the board, then it should be possible to build C Forth. Add an environment to the platformio.ini file for the board.

How to build C Forth using PlatformIO

  • install a Linux, such as Debian or Ubuntu, (others probably work, but we've not tested them recently),
  • install the libc6-dev-i386-cross package,
  • install PlatformIO,
  • clone this repository;
git clone https://github.com/MitchBradley/cforth
  • build and upload;
cd cforth
pio run
pio run --environment pico --target upload

How to use C Forth over serial

C Forth has an interactive shell, or REPL, which you can use over serial. Use any serial USB and terminal emulator, such as screen(1) on Linux;

screen /dev/ttyACM0 115200

or

screen /dev/ttyUSB0 115200

Press enter. The "ok" prompt should appear.

ok 

Use this shell to iteratively prototype or test hardware. The shell has command line editing and history.

How to blink an LED on a Raspberry Pi Pico

Build and upload C Forth.

The Raspberry Pi Pico has an LED attached to GPIO25. Let's light this LED.

Set the pin as an output:

ok #25 p-out

This pushes the decimal number twenty five onto the stack, then calls the predefined p-out (pin out) word which is the equivalent of the Arduino pinMode function with the OUTPUT mode. The number is consumed from the stack, nothing is left on it.

Turn on the port:

ok #1 #25 p!

This pushes the decimal number one to the stack, then pushes the decimal number twenty five, then calls the predefined p! (pin store) word which is the equivalent of the Arduino digitalWrite function. Nothing is left on the stack.

Turn it off:

ok #0 #25 p!

Notice how #1 is used to turn it on, and #0 is used to turn it off, but that #25 is used each time.

Here are some of the words we've used.

Word Stack Effect Meaning
p-out ( pin# -- ) set a pin to output, like the Arduino pinMode function,
p! ( value pin# -- ) pin store, set the digital state of a pin, like the Arduino digitalWrite function
zero is low, one is high

C Forth runs the instructions as soon as you press enter. But how to write a program? Let's blink the LED. Type, or copy and paste this;

#25 value led
: setup  led p-out  ;
: thing  #1 led p!  #100 ms  #0 led p!  #400 ms  ;
: blink  setup  begin thing key? until  ;
blink

The LED shall blink. Press a key to stop.

This creates in the temporary dictionary four new words:

  • led is a new word containing the pin number of the LED,
  • setup is a new word that will set the pin mode,
  • thing is a new word to turn the LED on for 100 ms and off for 400 ms,
  • blink is a new word to blink the LED until a key is pressed.

The new words depend on words already known. Here are some of the predefined words;

Word Stack Effect Meaning
: word ( -- ) start defining a new word
; ( -- ) stop defining a new word
ms ( n -- ) delay for n milliseconds,
key? ( -- true⎮false ) report on the stack whether a key is pressed,
begin ( -- ) mark the start of a loop structure,
until ( flag -- ) if the flag on stack is false, repeat the loop,

At any time you can ask C Forth to show you the meaning of a word:

ok decimal see thing
: thing
   #1 #25 p! #100 ms #0 #25 p! #400 ms
;
ok 

This works for any words written in Forth. Words written in C are not shown. For example;

ok see :
primitive :    (Body: $63000000   ...const ) 
ok see ;
primitive ;    (Body: $6e6f6e3a   :noname. ) 
immediate
ok 

Here are some more words.

Word Stack Effect Meaning
p-in ( pin# -- ) set a pin to input, like the Arduino pinMode function,
p-in-p ( pin# -- ) set a pin to input with pullup, like the Arduino pinMode function,
p@ ( pin# -- value ) pin at, read the digital state of a pin, like the Arduino digitalRead function
a@ ( pin# -- value ) analog at, read the analog value of an analog pin, like the Arduino analogRead function
(but check the pinout; digital pin numbers often differ from analog pin numbers)
a! ( value pin# -- ) analog store, set a digital pin to pulse width modulation, like the Arduino analogWrite function
. ( value -- ) print, remove the top of stack and display the value in the current base.
us ( n -- ) delay for n microseconds, like the Arduino delay function
get-usecs ( -- n ) get the number of microseconds since starting, like the Arduino micros function
get-msecs ( -- n ) get the number of milliseconds since starting, like the Arduino millis function

C Forth starts up in hexadecimal base for displaying or entering numbers. The word decimal will switch to decimal.

Word Stack Effect Meaning
#n ( -- n) push a decimal number,
$n ( -- n) push a hexadecimal number,
%n ( -- n) push a binary number,
n ( -- n) push a number in the current base,
decimal ( -- ) set the current base to decimal,
hex ( -- ) set the current base to hexadecimal,
binary ( -- ) set the current base to hexadecimal,

Mixing different number bases in code is quite frequent, so we tend to qualify a number with a base.

You can find more about Forth in many places. Reading the source code of C Forth is the best way, because not every Forth is the same.

How to crash

Forth is a language without protections. Making a mistake will usually crash the system and you'll have to restart.

On a C Forth built for Linux, you can see this;

  • type 0 -1 !, which means to store a zero at address -1, or 0xffffffffffffffff,
  • press enter,

The ok prompt won't come back. The process will terminate with an Address exception.

On the Raspberry Pi Pico, you can see this;

  • type 0 -1 !, which means to store a zero at address -1, or 0xffffffff,
  • press enter,

The ok prompt won't come back. The Raspberry Pi Pico will blink the LED in a pattern; four short, four long. You have to restart by plugging it in again, or grounding the RUN pin.

How to write an application in C Forth for Linux

In the build

  • make changes to the src/app/host-serial/app.fth file,
  • repeat the build and run,

As a Forth script

  • create a file containing Forth commands,
: hello  ." hello world" cr  ;
hello
  • run the script using Forth,
~/bin/forth ~/bin/app.dic script.fth

As a shell script

#!/bin/bash
~/bin/forth ~/bin/app.dic - <<EOF
." hello world" cr
EOF

As a dictionary

  • define words in the dictionary and save it to a file,
ok : hello  ." hello world" cr  ;
ok " test.dic" save
ok 
  • run it later,
~/bin/forth ~/bin/test.dic -s hello

Different ways to start C Forth on an operating system

Command Effect
forth dictionary show banner and prompt ok
forth dictionary - prompt ok
forth dictionary file read from file, execute, and exit
forth dictionary -s word execute a word and exit
forth dictionary -s "word word word" execute words and exit
forth dictionary -s "word word word" - execute words and prompt ok

How to write an application in C Forth for a board

  • make changes to the src/app/arduino/app.fth file,
  • repeat the build and upload.

How to write an application in C, C++ and C Forth for a board

  • make changes to the src/main.cpp file,
  • perhaps add new Forth words to the src/platform/arduino/extend.c file,
  • repeat the build and upload.

Filesystems

SPIFFS filesystem support is present in the cross-compiled build for ESP32 and ESP8266.

No filesystem support is present in the PlatformIO build, but can be added for some boards. For the Raspberry Pi Pico, for example, it may be added using the arduino-pico core, especially once this pull request is merged.

How the PlatformIO build works

C Forth is unusual. C Forth is first built for your computer, then run to make a dictionary that is copied into the build for the target device.

C Forth is usually built directly using GNU Make and GCC. Compiling under PlatformIO brings benefits but makes the build process complicated.

Clean target

Changes to extend.c to add new C calls require a pio run -t clean and pio run. Otherwise the old tccalls.fth doesn't match the dictionary, which can cause the wrong C function to be called for a Forth word. It hasn't been irritating enough for me to fix. Let us know if you can fix this.

git clean

Some build files are untracked; if something isn't working, consider looking for files that are not part of the git working directory, using git status --ignored. Let us know if you can fix this.

esp8266

C Forth can be built for esp8266, but the amount of Flash memory limits what can be built. The default dictionary for the PlatformIO build has to be trimmed.


cforth's People

Contributors

bushmills avatar iitalics avatar ivand58 avatar jos-ven avatar lkundrak avatar lowfatcomputing avatar mitchbradley avatar quozl avatar smithbone avatar tomberek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cforth's Issues

tasking

Hi

I finally found time to have a look at tasking. I've built host-serial-linux64, and added

fl ../../../src/lib/tasking.fth 

to the top of app.fth for host-serial.

I have a simple test program. Two tasks, each incrementing a counter


global counter1
global counter2

: count2
    begin
        ." Count2" cr
        1 counter2 +!
        pause
    again
;

task: count2-task    
' count2 count2-task fork    
count2-task wake

background count1  begin
    ." Count1" cr
    1 counter1 +!
    pause
    again
;

: .counts
    ." counter1 " counter1 ? cr
    ." counter2 " counter2 ? cr
;

: run-background  ( -- )  begin  pause  key? until  key drop  ;

So using : pause .counts

I get

Count1
counter1 1 
counter2 0 
ok pause .counts
Count1
counter1 2 
counter2 0 
ok pause .counts
Count1
counter1 3 
counter2 0 

As you can see only one task runs.

I have a feeling that I'm missing something simple/obvious.

Any advice gratefully received.

ESP32 How to access UART1?

How do I access UART1 do I need to code new words to talk directly with the hardware, or are their words already available ( I have looked, but couldn't see anything obvious)?

Does forth run inside freertos, or is it bare metal?

Many thanks.

Is there a Way to communicate over WiFi ?

Hey, is there a way to switch the Terminal from Serial to Wifi ? So that I can connect with Putty or Something and control the ESP32 ? The ESP32 is connected to the WiFi but how to switch the Terminal to WiFi ?

Thanks

Lukas

Compile error for glfw-linux because of duplicate object file

Hi,

trying to compile the glfw-linux tree, I got the following error:

glops.o: In function `glop':
xxx/cforth/build/glfw-linux/../../src/cforth/glops.c:19: multiple definition of `glop'
glops.o:/xxx/cforth/build/glfw-linux/../../src/cforth/glops.c:19: first defined here

It seems that glops.o is added to variable MYOBJS twice, once in xxx/cforth/build/glfw-linux/Makefile and then again in xxx/cforth/src/app/glfw/targets.mk, which is included from the first Makefile. As quick fix it worked for me to just use the sort function of make, which will also remove the duplicate entry. But for someone more knowledgeable with the build could just fix the duplicate addition at the correct place.

For the workaround, edit xxx/cforth/src/cforth/targets.mk and search for @echo MAKING FORTH, then change the C-compiler invocation to @$(CC) $(CFLAGS) -o $@ $(sort $(HOSTOBJS)) $(BASEOBJS) $(LIBS) (and to have it all nice, also change the echo in the line above. cforth compiled just fine for me after this change.

Plus - no compile error, just a hint for anyone running into the same issue: compiling on Ubuntu 18.04, I got the error:

Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable

Having installed libusb-1.0 the following invocation of make helped: PKG_CONFIG_PATH=xxx/libusb/lib/pkgconfig/:$PKG_CONFIG_PATH make.

Thanks for cforth and regards,
Frank

voc-link, undefined

Trying to load order.fth leads to this error:

C Forth  Copyright (c) 2008 FirmWorks
ok fload ../../src/cforth/order.fth

voc-link, ?
Error at:    voc-link, |  
ok

Maybe I made some mistake during building, but grepping for voc-link, doesn't match anything.

communicate to esp32

Hi, I am missing something. I have flashed the code ( I hope) and now need to communicate to the device and get to a forth prompt.
I have a terminal programme talking to the esp32 via USB and see this:
user code done
ets Jun 8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:4828
load:0x40078000,len:8784
load:0x40080000,len:5780
entry 0x400802dc
E (64) boot: Chip CPU frequency rated for 160MHz. Modify CPU frequency in menuconfig
user code done

What next ??

signal handling

I am using a network connection (socket)

I occasionally have issue and the SIGPIPE signal is received.

Is there a mechanism in cforth for handling this signal ?

Thanks,
Andrew

Documentation ... (is there any?)

Hi Mitch,

I stumbled onto Cforth and I'd like to try it on a couple of Arm boards ... (BBB, Pi etc) in native mode. I see you have BSP's in the tree for the Teensy and various ARM boards, and I built the bluez version on Debian (64bit) without difficulty. What I need to progress would be some docs. I see from one of your threads that the Cforth is a derivative of OpenFirmware ... but I can't find any docs on the supported wordlists, extensions or anything. Do the docs exist or do I have to inspect code to figure it all out?

Cheers, and thanks.

Rob Sciuk

ps: I sent you an email with a patch for the OBP Tiny forth separately.

Catching undefined words during a build

When one makes a mistake, such as referencing an undefined word in app.fth, the build continues and returns zero exit status.

Would would be a nice way to catch this?

I've seen $do-undefined and .not-found in interp.fth and (.not-found) in util.fth.

I could create a flag for return status, define a where2 which calls where1, and then call finished-pop as the last line, but my sense of waste is triggered. 😁

file-size not standard complian

The stack effect of file-size should be ( fileid -- ud ior ) but according to the comment
in forth.c it's /* fid -- size */

ESP32 Interrupts

Is it possible to generate an interrupt, and catch it, from a GPIO pin ?

If so could you point me at an example.

Thanks

make error 2 for a ESP8266F

Hi, In an attempt to try cforth on a ESP8266F

I tried the following:
git clone https://github.com/MitchBradley/cforth
cd cforth/build/esp8266
make

The make command ends with:
inflating: libwpa.a
rmdir /home/pi/esp/nodemcu-firmware/sdk//patch
rm -f /home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/lib/liblwip.a
touch /home/pi/esp/nodemcu-firmware/sdk/.patched-1.5.4.1
CC ../../src/cforth/makename.c
CPP ../../src/cforth/forth.c
MAKENAME
TCC ../../src/app/esp8266/consoleio.c
/home/pi/esp/nodemcu-firmware/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106-elf-gc c: 1: /home/pi/esp/nodemcu-firmware/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106- elf-gcc: Syntax error: "(" unexpected
../../src/common.mk:29: recipe for target 'tconsoleio.o' failed
make: *** [tconsoleio.o] Error 2
HPdebian $

How can that error be solved?
Kind regards,
Jos

Problems transfering sonoff MQTT example for ESP32

Hi,
first I have to say that I am impressed by cforth and all the effort you put into it and the fact that you are sharing this.

I try to transfer the \ESP8266\sonoff MQTT example from ESP8266 to ESP32, but it seems lacking some binding to certain c-routines like tcp-poll (showing up in \ESP8266\tcp-new.fth) with your release version of 2017.

You may say, that I have to recompile the binaries including these routines, but I must admit that:

  • I am not sure whether I can do this (or am I completely on the wrong route?)
  • I do not want to do it, because it will lead me deeper into a jungle of further obstacles, taking me further away from my actual goal
  • I wanted to ask, if you could eventually provide a new release with that binding, if you consider this to be a useful for other users as well

Your feedback is very much appreciated!

[MAC] Build issues

Hi!

I'm having troubles with building cforth under mac.

gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

If I'm trying to build bluez64 target I got:

~/Documents/cforth/build/bluez64 ❯❯❯ make
CC ../../src/cforth/extend.c
../../src/app/bluez/extend.c:279:2: error: use of undeclared identifier 'res'
        res = ft_open_serial(portnum, 0x4e4c);  // Nod Ring
        ^
../../src/app/bluez/extend.c:280:6: error: use of undeclared identifier 'res'
        if (res)
            ^
../../src/app/bluez/extend.c:281:10: error: use of undeclared identifier 'res'
                return res;
                       ^
../../src/app/bluez/extend.c:283:2: error: use of undeclared identifier 'res'
        res = ft_open_serial(portnum, 0x4e4d);  // Nod Backspin
        ^
../../src/app/bluez/extend.c:284:6: error: use of undeclared identifier 'res'
        if (res)
            ^
../../src/app/bluez/extend.c:285:10: error: use of undeclared identifier 'res'
                return res;
                       ^
6 errors generated.
make: *** [extend.o] Error 1

If I'm trying to build host-serial-macos64 target I got the following.

~/Documents/cforth/build/host-serial-macos64 ❯❯❯ make
MAKING FORTH
CC main.o io.o nullbi.o dictfile.o mallocl.o lineedit.o linux-kbd.o glops.o sha256.o ftdi.o forth.o compiler.o syscall.o floatops.o extend.o -L/usr/local/Cellar/libusb/1.0.20/lib -lusb-1.0 -lobjc -Wl,-framework,IOKit -Wl,-framework,CoreFoundation -L/usr/local/lib -lglfw -framework Cocoa -framework IOKit -framework CoreFoundation -framework CoreVideo -o forth
cc -g -O -DBITS64 -DFLOATING -DMOREFP -DMAXDICT=0x800000 -DOPENGL -I/usr/local/Cellar/libusb/1.0.20/include/libusb-1.0 -I/usr/local/include -I. -I../../src/cforth -I../../src/app/host-serial -I../../src/lib -I../../src/app/host-serial/libftdi   -DNOSYSCALL -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -DUSE_FTDI -o forth main.o io.o nullbi.o dictfile.o mallocl.o lineedit.o linux-kbd.o glops.o sha256.o ftdi.o forth.o compiler.o syscall.o floatops.o extend.o -L/usr/local/Cellar/libusb/1.0.20/lib -lusb-1.0 -lobjc -Wl,-framework,IOKit -Wl,-framework,CoreFoundation -L/usr/local/lib -lglfw -framework Cocoa -framework IOKit -framework CoreFoundation -framework CoreVideo
Undefined symbols for architecture x86_64:
  "_glBegin", referenced from:
      _glop in glops.o
  "_glBindBuffer", referenced from:
      _glop in glops.o
  "_glBindTexture", referenced from:
      _glop in glops.o
  "_glBufferData", referenced from:
      _glop in glops.o
  "_glCallList", referenced from:
      _glop in glops.o
  "_glClear", referenced from:
      _glop in glops.o
  "_glClearColor", referenced from:
      _glop in glops.o
  "_glClearDepth", referenced from:
      _glop in glops.o
  "_glColor3d", referenced from:
      _glop in glops.o
  "_glColor4d", referenced from:
      _glop in glops.o
  "_glColorPointer", referenced from:
      _glop in glops.o
  "_glDepthFunc", referenced from:
      _glop in glops.o
  "_glDisable", referenced from:
      _glop in glops.o
  "_glDisableClientState", referenced from:
      _glop in glops.o
  "_glDisableVertexAttribArray", referenced from:
      _glop in glops.o
  "_glDrawArrays", referenced from:
      _glop in glops.o
  "_glDrawElements", referenced from:
      _glop in glops.o
  "_glEnable", referenced from:
      _glop in glops.o
  "_glEnableClientState", referenced from:
      _glop in glops.o
  "_glEnableVertexAttribArray", referenced from:
      _glop in glops.o
  "_glEnd", referenced from:
      _glop in glops.o
  "_glEndList", referenced from:
      _glop in glops.o
  "_glFlush", referenced from:
      _glop in glops.o
  "_glFrontFace", referenced from:
      _glop in glops.o
  "_glFrustum", referenced from:
      _glop in glops.o
  "_glGenBuffers", referenced from:
      _glop in glops.o
  "_glGenTextures", referenced from:
      _glop in glops.o
  "_glGetBooleanv", referenced from:
      _glop in glops.o
  "_glGetDoublev", referenced from:
      _glop in glops.o
  "_glGetFloatv", referenced from:
      _glop in glops.o
  "_glGetIntegerv", referenced from:
      _glop in glops.o
  "_glInitNames", referenced from:
      _glop in glops.o
  "_glLightf", referenced from:
      _glop in glops.o
  "_glLightfv", referenced from:
      _glop in glops.o
  "_glLighti", referenced from:
      _glop in glops.o
  "_glLightiv", referenced from:
      _glop in glops.o
  "_glLineWidth", referenced from:
      _glop in glops.o
  "_glLoadIdentity", referenced from:
      _glop in glops.o
  "_glLoadName", referenced from:
      _glop in glops.o
  "_glMaterialfv", referenced from:
      _glop in glops.o
  "_glMateriali", referenced from:
      _glop in glops.o
  "_glMaterialiv", referenced from:
      _glop in glops.o
  "_glMatrixMode", referenced from:
      _glop in glops.o
  "_glNewList", referenced from:
      _glop in glops.o
  "_glNormalPointer", referenced from:
      _glop in glops.o
  "_glOrtho", referenced from:
      _glop in glops.o
  "_glPixelStorei", referenced from:
      _glop in glops.o
  "_glPointSize", referenced from:
      _glop in glops.o
  "_glPopMatrix", referenced from:
      _glop in glops.o
  "_glPopName", referenced from:
      _glop in glops.o
  "_glPushMatrix", referenced from:
      _glop in glops.o
  "_glPushName", referenced from:
      _glop in glops.o
  "_glRenderMode", referenced from:
      _glop in glops.o
  "_glRotatef", referenced from:
      _glop in glops.o
  "_glScaled", referenced from:
      _glop in glops.o
  "_glSelectBuffer", referenced from:
      _glop in glops.o
  "_glShadeModel", referenced from:
      _glop in glops.o
  "_glTexCoord2f", referenced from:
      _glop in glops.o
  "_glTexImage2D", referenced from:
      _glop in glops.o
  "_glTexParameteri", referenced from:
      _glop in glops.o
  "_glTexParameteriv", referenced from:
      _glop in glops.o
  "_glTranslated", referenced from:
      _glop in glops.o
  "_glVertex2d", referenced from:
      _glop in glops.o
  "_glVertex2i", referenced from:
      _glop in glops.o
  "_glVertex3d", referenced from:
      _glop in glops.o
  "_glVertex3i", referenced from:
      _glop in glops.o
  "_glVertex4d", referenced from:
      _glop in glops.o
  "_glVertex4i", referenced from:
      _glop in glops.o
  "_glVertexAttribPointer", referenced from:
      _glop in glops.o
  "_glVertexPointer", referenced from:
      _glop in glops.o
  "_glViewport", referenced from:
      _glop in glops.o
  "_gluLookAt", referenced from:
      _glop in glops.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [forth] Error 1

But I'm sure I have glfw3 installed. Moreover I've tried to build glfw3 from sources.

Floatops undefined references

Where should log,exp,pow,tanh, etc. come from? I get many errors like this when trying to build the ESP32 version while building floatops.o in function floatop:

esp32/cforth/build/esp32/../../src/cforth/floatops.c:101: undefined reference to `log' 

setsockopt problem

In cforth/src/app/esp32/server.fth I found:
\ Set SO_LINGER so lwip-close does not discard any pending data
\ 8 &linger $80 $fff r@ setsockopt drop

When I tried that option in a new word setsockopt always returns -1
So, I do not think the option SO_LINGER is active.

The used code is:

\ create &linger 1 , 5 , \ on , 5 seconds, see server.fth
create &linger2 1 , 5
: set-socketopt ( SocketAfterAccept - )

r 8 &linger $80 $fff r@ setsockopt cr .s drop \ setsockopt always returns -1
\ 8 &linger2 $80 $fff r@ getsockopt cr .s drop \ getsockopt crashes cforth
r> drop ;

\ Note: r should be ">r"

: http-responder ( timeout -- )
timed-accept if exit then
dup set-socketopt
req-buf /req-buf rot lwip-read ( len )
req-buf swap handle-request
1 ms ;
How can the problem at setsockopt be solved ?
Thanks in advance, Jos

Build fail on arm-stm32f103

Hi,

I have just acquired a 'blue pill' stm32f103 and am trying to build cforth for this.

My first guess is that the cforth has grown too large to fit in the 128k of this device. Any help much appreciated.

When I do I get the following errors:

./forth kernel.dic ../../src/cforth/load.fth
.( isn't unique
./makeccalls <../../src/cforth/extend.c >tccalls.fth
./forth forth.dic tccalls.fth ../../src/app/arm-stm32f103/app.fth
Test for SFR Passed
Test for RAM Passed

gpio-open ?
Error at: out_pp #13 gpioc gpio-open | to led-gpio

gpio-clr ?
Error at: : led-on ( -- ) led-gpio gpio-clr | ;

gpio-set ?
Error at: : led-off ( -- ) led-gpio gpio-set | ;

gpio-open ?
Error at: ain -rot gpio-open | drop \ Configure the GPIO for analog

adc-open ?
Error at: 1 adc-open | to adc \ Fire up the ADC

adc-start ?
Error at: adc-time adc-channel adc adc-start |

adc-done? ?
Error at: begin adc adc-done? | until

adc-get ?
Error at: adc adc-get |
CC ../../src/cforth/embed/makebi.c
./makebi app.dic
TCC ../../src/cforth/embed/rodict.c
TLD tembed.o
TCC ../../src/platform/arm-stm32f103/textend.c
Linking app.elf ...
arm-none-eabi-ld --gc-sections -static -T../../src/platform/arm-stm32f103/stm32_flash.ld tstartup_stm32f10x.o tstm32f10x_usart.o tstm32f10x_rcc.o tstm32f10x_gpio.o tstm32f10x_adc.o tmisc.o tsystick.o ttmain.o mallocembed.o tconsoleio.o tsystem_stm32f10x.o tgpio.o tadc.o tembed.o ttextend.o -L"/usr/lib/gcc/arm-none-eabi/6.3.1/thumb/v7-m/" -lgcc -o app.elf
arm-none-eabi-ld: section .ARM.exidx LMA [000000000800be54,000000000800be5b] overlaps section .data LMA [000000000800be54,000000000800be9b]
../../src/platform/arm-stm32f103/targets.mk:105: recipe for target 'app.elf' failed
make: *** [app.elf] Error 1

esp32 build broken with IDF version 3.1.4 => missing toolchain_versions.mk in IDF repo

Hi
build broken, cannot retrieve toolchain because of missing file
esp-idf-v3.1.4/tools/toolchain_versions.mk

espressif does not provides 'tools/toolchain_versions.mk' for the IDF 3.1 branch tags 3.1.4 to 3.1.7

tested with 3.1.3 => build OK !!!
make ESP_IDF_VERSION=v3.1.3
make ESP_IDF_VERSION=v3.1.3 COMPORT=/dev/ttyUSB0 flash

tested with 3.3 => build OK !!!
make ESP_IDF_VERSION=v3.3
make ESP_IDF_VERSION=v3.3 COMPORT=/dev/ttyUSB0 flash

best regards
Alban

Wrong target architecture in makefile

In case of cross-compilation for STM32F103 target, a wrong arch (-march=i386) is mentioned:

src/platform/arm-stm32f103/targets.mk:21:CFLAGS += -m32 -march=i386

i2c Slave

Hi,

Do you have an example of using a cforth app acting as an i2c slave ?

I'm thinking of using a STM32F103 'blue pill' board for a project.

Thanks,
Andrew

access to serial port linux

Not a bug but use difficulty
I wish to access the serial port on linux.
I tried this, what is wrong?

variable serid
9600 constant baudrate
create buf 59 cells allot
0 open-com serid swap !
buf 25 100 serid @ timed-read-com

The device sends a string ever second.

Flashing a Sonoff Basic R1

Hi,

I have a 'spare' sonoff R1 and I am trying to flash cforth onto it.

I have read the notes

Sonoff S20 - WiFi mains switch with ESP8266 inside    
    
FM=dout FS=8m make download    
    
FM=dio will appear to download but the firmware won't run     

I am using the following to flash it:

esptool.py --port /dev/ttyUSB0 -b 115200 write_flash -fs=8m -fm=dout 0x00000 0x00000.bin 0x10000 0x10000.bin

I have flashed other things (Tasmota and cforth onto esp8266 boards) recently bit for information the esptool version is

$ esptool.py version

esptool.py v3.2-dev
3.2-dev

Any advice/hints/tips etc is appreciated.

Thanks

Andrew

seal

Hi Mitch,
Before I submit seal, I would like to know your opinion about the following seal.

: new-seal ( -- )
context token@ context #vocs /n * erase
dup context #vocs 1- ta+ token! execute ;

\ Test case:
vocabulary m2m
also m2m m2m definitions

: words words ;
: order order ;
: test ." test! " ;

new-seal order words test \ Returns:
context: m2m m2m current: m2m
test order words test!
ok

\ ---- Under the old seal nothing works
seal m2m
ok test

test ?
Error at: test |

Would the new seal be aceptable for you?
Jos

Workflow Git

Hi Mitch,
I Updated interface.h and extend.c and tried to update them by using:
$ git add src/app/esp8266-rtos/extend.c src/app/esp8266-rtos/interface.h
$ git commit -m "added: esp_clk_cpu_freq esp_set_cpu_freq esp_deep_sleep"
$ git push

The files were updated https://github.com/Jos-Ven/cforth/tree/WIP/src/app/esp8266-rtos
On the same page there is a message that tells:
This branch is 1 commit ahead of MitchBradley:WIP

Is this workflow is right and convenient for you to handle the proposed update?

Constant rebooting

I flashed a device, ESP32, and it constantly reboots, thus:
Rebooting...
ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:4828
load:0x40078000,len:8784
load:0x40080000,len:5780
entry 0x400802dc
I (293) cpu_start: Pro cpu up.
I (293) cpu_start: Single core mode
I (294) heap_init: Initializing. RAM available for dynamic allocation:
I (297) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (303) heap_init: At 3FFCE810 len 000117F0 (69 KiB): DRAM
I (309) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (316) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (322) heap_init: At 40091FCC len 0000E034 (56 KiB): IRAM
I (328) cpu_start: Pro cpu start user code
I (123) cpu_start: Starting scheduler on PRO CPU.

CForth built Undefined word encountered
Guru Meditation Error: Core 0 panic'ed (StoreProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x4008a172 PS : 0x00050033 A0 : 0x4008a07b A1 : 0x3ffd2400
A2 : 0xa5a5a5a5 A3 : 0x00000000 A4 : 0x000002de A5 : 0x3ffc05d0
A6 : 0x00000001 A7 : 0x00000000 A8 : 0x400820a8 A9 : 0x3ffc7a7c
A10 : 0x3ffd24f3 A11 : 0x00000001 A12 : 0x80088646 A13 : 0x3ffc05c0
A14 : 0x3ffc0604 A15 : 0x00000001 SAR : 0x00000019 EXCCAUSE: 0x0000001d
EXCVADDR: 0xa5a5a5a5 LBEG : 0x400d58ac LEND : 0x400d58c5 LCOUNT : 0x00000000

Backtrace: 0x4008a172:0x3ffd2400 0x4008a078:0x3ffd2410

Rebooting...

teensy 3.2

Greetings,

I am trying to build for the teensy 3.2 using the arduino 1.6.11 + teensyduino 1.30 tool chain (on osx). I can successfully compile and run quozl's arm-teensy3 branch (ba48256599897973c17544d4c4c2b637945eb915) but I am having issues building MitchBradley/cforth (8d3e1e6) for the teensy.

The default compile target compiles with warnings and produces app.o:

make_default_target.txt

Attempting to compile app.elf (which I believe to be the next step) fails as it depends on start.o which is nowhere to be found:

make_app_elf.txt

There also does not appear to be any target for app.hex to use with teensy loader. I can certainly objcpy as needed but a make target would be useful;)

Thanks!

Problem with postpone

This example leads to an error:

shell> cat test.fth
: bar postpone if postpone then ;
: foo [ bar ] ;
shell> cforth test.fth 
Stack Underflow

PWM on a ESP-12F

Hi,
Attracted by the dictionary in ROM feature I am trying to
switch from punyforth to cforth.
So far, I found the following for an ESP-12F:

Under punyforth the GPIO numbers are the same as their numbers
on the stack.
Under cforth you have to use an index to get the GPIO number
Here are their numbers:
3 constant GPIO0
10 constant GPIO1
4 constant GPIO2 \ sysled
9 constant GPIO3
2 constant GPIO4
1 constant GPIO5
11 constant GPIO9
12 constant GPIO10
6 constant GPIO12
7 constant GPIO13
5 constant GPIO14
8 constant GPIO15
0 constant GPIO16

PWM works under punyforth.
After many trials I cannot get it working on an ESP-12F under cforth
No PWM signal is shown on my oscilloscope.
Even if the numbers from the index are used in car.fth
to get to the right GPIO-pin. (using: GPIO13 and GPIO4 )
After:
car-init right-forward 20 right-speed

The ESP-12F ends in right-speed at pwm-duty! and shows:

ets Jan 8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x40100000, len 24952, room 16
tail 8
chksum 0xdf
load 0x3ffe8000, len 944, room 0
tail 0
chksum 0x15
load 0x3ffe83b0, len 8, room 8
tail 0
chksum 0xe1
csum 0xe1

and then it reboots
0 GPIO13 gpio-pin! \ returns 0 V on GPIO13
1 GPIO13 gpio-pin! \ returns 3.3 V on GPIO13

Perhaps it is a little thing I overlooked.
How can I get PWM working on an ESP-12F if that is possible?

ESP32 no rule to make app.o

I'm still gaining familiarity with this toolchain, not sure yet the correct way to resolve:

...
CC build/lwip/netif/slipif.o
CC build/lwip/netif/etharp.o
CC build/lwip/netif/ethernet.o
CC build/lwip/netif/lowpan6.o
CC build/lwip/netif/ethernetif.o
CC build/lwip/port/freertos/sys_arch.o
CC build/lwip/port/netif/wlanif.o
CC build/lwip/port/netif/ethernetif.o
CC build/lwip/port/debug/lwip_debug.o
CC build/lwip/port/vfs_lwip.o
AR build/lwip/liblwip.a
make[1]: *** No rule to make target 'app.o', needed by 'libmain.a'.  Stop.
/home/user/esp32/esp-idf/make/project.mk:472: recipe for target 'component-main-build' failed                                                           
make: *** [component-main-build] Error 2

app.o does exist in the cforth/build/esp32 directory, but not in the sdk_build subdirectory.

missing file "makeit"

Trying to build for the ESP8266 I get the error:

(cd ........./nodemcu.firmware && sh makeit)
sh: 0: Can't open makeit
../../src/app/esp8266/targets.mk:101: recipe for target 'nodemcu-fw' failed
make: *** [nodemcu-fw] Error 127

I have build nodemcu, also flashed it to an ESP, and that works, but I can't find the script 'makeit' in nodemcu needed to link app.o to an image

(cd $(NODEMCU_PATH) && sh makeit)

I2C scanner

Hi,

Not so much an issue, as a question.

micropython and amforth both (and Linux) have a mechanism for 'scanning' an i2c bus and reporting on what it finds. I was wondering if anybody had already written such a thing for cforth ?

Regards,
Andrew

multitasking/cororoutines

Hi Mitch,

I seem to recall asking you this question a very long time ago, when I was working at Sun, certainly last century.

Did you ever implement a co-operative task system for cforth ?

I see that pause is a deferred word, IIRC it was in openfirmware too.

Thanks

Can't use a terminal in cforth on an ESP8266F

Hi, I am trying to install cforth on an ESP8266F using a dell PC (not a RPI)
running Debian GNU/Linux 10 (buster)
It seems all went well, but after
sudo COMPORT=/dev/ttyUSB0 make download
and rebooting the ESP8266F then the system led keeps flashing.
In minicom only appear the following endless repeating sequence:
Bnâ|
âl
Bûoï$l
I wonder how it could be solved.

wiping the ESP8266F with
python esptool.py erase_flash
does not solve it.

Many thanks in advance,
Kind regards, Jos

Perhaps the following long logfile might help for this problem

pi@HPDEBIAN:$ cd $home
pi@HPDEBIAN:$ cd esp
pi@HPDEBIAN:$ cd cforth/build/esp8266
pi@HPDEBIAN:$ XTGCCPATH=~/esp/esp-open-sdk/xtensa-lx106-elf/bin/ make
(cd /home/pi/esp
&& git clone https://github.com/nodemcu/nodemcu-firmware.git
&& cd /home/pi/esp/nodemcu-firmware
&& git branch cforth 7b83bbb
&& git checkout cforth
&& git apply --whitespace=fix /home/pi/esp/cforth/src/app/esp8266/*.patch
&& tar -xzf tools/esp-open-sdk.tar.gz
)
Cloning into 'nodemcu-firmware'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 20730 (delta 6), reused 1 (delta 0), pack-reused 20711
Receiving objects: 100% (20730/20730), 108.88 MiB | 6.71 MiB/s, done.
Resolving deltas: 100% (14146/14146), done.
Switched to branch 'cforth'
/home/pi/esp/cforth/src/app/esp8266/0001-Use-CForth-not-Lua-as-the-extension-language.patch:179: trailing whitespace.
static void
warning: 1 line adds whitespace errors.
cd /home/pi/esp/nodemcu-firmware && make --no-print-directory sdk_patched
mkdir -p "/home/pi/esp/nodemcu-firmware/cache/"
wget --tries=10 --timeout=15 --waitretry=30 --read-timeout=20 --retry-connrefused http://bbs.espressif.com/download/file.php?id=1469 -O /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip || { rm -f "/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip"; exit 1; }
--2020-10-14 15:34:49-- http://bbs.espressif.com/download/file.php?id=1469
Resolving bbs.espressif.com (bbs.espressif.com)... 119.9.92.91
Connecting to bbs.espressif.com (bbs.espressif.com)|119.9.92.91|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://bbs.espressif.com/download/file.php?id=1469 [following]
--2020-10-14 15:34:50-- https://bbs.espressif.com/download/file.php?id=1469
Connecting to bbs.espressif.com (bbs.espressif.com)|119.9.92.91|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3251308 (3.1M) [application/octet-stream]
Saving to: â/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zipâ

/home/pi/esp/nodemc 100%[===================>] 3.10M 777KB/s in 4.1s

2020-10-14 15:34:55 (777 KB/s) - â/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zipâ saved [3251308/3251308]

(echo "868784bd37d47f31d52b81f133aa1fb70c58e17d /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip" | sha1sum -c -) || { rm -f "/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip"; exit 1; }
/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip: OK
mkdir -p "/home/pi/esp/nodemcu-firmware/sdk/"
(cd "/home/pi/esp/nodemcu-firmware/sdk/" && rm -fr esp_iot_sdk_v1.5.4.1 ESP8266_NONOS_SDK && unzip /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip ESP8266_NONOS_SDK/lib/* ESP8266_NONOS_SDK/ld/eagle.rom.addr.v6.ld ESP8266_NONOS_SDK/include/* )
Archive: /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4_16_05_20.zip
creating: ESP8266_NONOS_SDK/include/
inflating: ESP8266_NONOS_SDK/include/airkiss.h
inflating: ESP8266_NONOS_SDK/include/at_custom.h
inflating: ESP8266_NONOS_SDK/include/c_types.h
inflating: ESP8266_NONOS_SDK/include/eagle_soc.h
inflating: ESP8266_NONOS_SDK/include/espconn.h
inflating: ESP8266_NONOS_SDK/include/espnow.h
inflating: ESP8266_NONOS_SDK/include/ets_sys.h
inflating: ESP8266_NONOS_SDK/include/gpio.h
inflating: ESP8266_NONOS_SDK/include/ip_addr.h
creating: ESP8266_NONOS_SDK/include/json/
inflating: ESP8266_NONOS_SDK/include/json/json.h
inflating: ESP8266_NONOS_SDK/include/json/jsonparse.h
inflating: ESP8266_NONOS_SDK/include/json/jsontree.h
inflating: ESP8266_NONOS_SDK/include/mem.h
inflating: ESP8266_NONOS_SDK/include/mesh.h
inflating: ESP8266_NONOS_SDK/include/osapi.h
inflating: ESP8266_NONOS_SDK/include/os_type.h
inflating: ESP8266_NONOS_SDK/include/ping.h
inflating: ESP8266_NONOS_SDK/include/pwm.h
inflating: ESP8266_NONOS_SDK/include/queue.h
inflating: ESP8266_NONOS_SDK/include/smartconfig.h
inflating: ESP8266_NONOS_SDK/include/sntp.h
inflating: ESP8266_NONOS_SDK/include/spi_flash.h
inflating: ESP8266_NONOS_SDK/include/upgrade.h
inflating: ESP8266_NONOS_SDK/include/user_interface.h
inflating: ESP8266_NONOS_SDK/ld/eagle.rom.addr.v6.ld
creating: ESP8266_NONOS_SDK/lib/
inflating: ESP8266_NONOS_SDK/lib/libairkiss.a
inflating: ESP8266_NONOS_SDK/lib/libat.a
inflating: ESP8266_NONOS_SDK/lib/libcrypto.a
inflating: ESP8266_NONOS_SDK/lib/libdriver.a
inflating: ESP8266_NONOS_SDK/lib/libespnow.a
inflating: ESP8266_NONOS_SDK/lib/libgcc.a
inflating: ESP8266_NONOS_SDK/lib/libjson.a
inflating: ESP8266_NONOS_SDK/lib/liblwip.a
inflating: ESP8266_NONOS_SDK/lib/libmain.a
inflating: ESP8266_NONOS_SDK/lib/libmesh.a
inflating: ESP8266_NONOS_SDK/lib/libnet80211.a
inflating: ESP8266_NONOS_SDK/lib/libphy.a
inflating: ESP8266_NONOS_SDK/lib/libpp.a
inflating: ESP8266_NONOS_SDK/lib/libpwm.a
inflating: ESP8266_NONOS_SDK/lib/libsmartconfig.a
inflating: ESP8266_NONOS_SDK/lib/libssl.a
inflating: ESP8266_NONOS_SDK/lib/libupgrade.a
inflating: ESP8266_NONOS_SDK/lib/libwpa.a
inflating: ESP8266_NONOS_SDK/lib/libwpa2.a
inflating: ESP8266_NONOS_SDK/lib/libwps.a
mv /home/pi/esp/nodemcu-firmware/sdk//ESP8266_NONOS_SDK /home/pi/esp/nodemcu-firmware/sdk//esp_iot_sdk_v1.5.4.1
rm -f /home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/lib/liblwip.a
touch /home/pi/esp/nodemcu-firmware/sdk/.extracted-1.5.4
mkdir -p "/home/pi/esp/nodemcu-firmware/cache/"
wget --tries=10 --timeout=15 --waitretry=30 --read-timeout=20 --retry-connrefused http://bbs.espressif.com/download/file.php?id=1572 -O /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zip || { rm -f "/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zip"; exit 1; }
--2020-10-14 15:34:55-- http://bbs.espressif.com/download/file.php?id=1572
Resolving bbs.espressif.com (bbs.espressif.com)... 119.9.92.91
Connecting to bbs.espressif.com (bbs.espressif.com)|119.9.92.91|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://bbs.espressif.com/download/file.php?id=1572 [following]
--2020-10-14 15:34:56-- https://bbs.espressif.com/download/file.php?id=1572
Connecting to bbs.espressif.com (bbs.espressif.com)|119.9.92.91|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 404766 (395K) [application/octet-stream]
Saving to: â/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zipâ

/home/pi/esp/nodemc 100%[===================>] 395.28K 315KB/s in 1.3s

2020-10-14 15:34:59 (315 KB/s) - â/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zipâ saved [404766/404766]

(echo "388d9e91df74e3b49fca126da482cf822cf1ebf1 /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zip" | sha1sum -c -) || { rm -f "/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zip"; exit 1; }
/home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zip: OK
mkdir -p "/home/pi/esp/nodemcu-firmware/sdk//patch"
(cd "/home/pi/esp/nodemcu-firmware/sdk//patch" && unzip /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704*.zip .a && mv .a /home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/lib/)
Archive: /home/pi/esp/nodemcu-firmware/cache/esp_iot_sdk_v1.5.4.1_patch_20160704.zip
inflating: libat.a
inflating: liblwip.a
inflating: libmain.a
inflating: libpp.a
inflating: libwpa.a
rmdir /home/pi/esp/nodemcu-firmware/sdk//patch
rm -f /home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/lib/liblwip.a
touch /home/pi/esp/nodemcu-firmware/sdk/.patched-1.5.4.1
CC ../../src/cforth/makename.c
CPP ../../src/cforth/forth.c
MAKENAME
TCC ../../src/app/esp8266/consoleio.c
TCC ../../src/app/esp8266/tmain.c
TCC ../../src/app/esp8266/lwip.c
TCC ../../src/app/esp8266/fileio.c
TCC ../../src/app/esp8266/esp_spi.c
TCC ../../src/cforth/forth.c
TCC ../../src/cforth/compiler.c
TCC ../../src/cforth/syscall.c
TCC ../../src/cforth/floatops.c
TCC ../../src/cforth/lineedit.c
TCC ../../src/cforth/embed/startapp.c
TCC ../../src/app/esp8266/consio.c
CC ../../src/cforth/forth.c
CC ../../src/cforth/compiler.c
CC ../../src/cforth/syscall.c
CC ../../src/cforth/floatops.c
CC ../../src/cforth/makeccalls.c
CC ../../src/cforth/extend.c
CC ../../src/cforth/main.c
CC ../../src/cforth/io.c
CC ../../src/cforth/nullbi.c
CC ../../src/cforth/dictfile.c
CC ../../src/cforth/mallocl.c
CC ../../src/cforth/lineedit.c
CC ../../src/cforth/linux-kbd.c
MAKING FORTH
CC main.o io.o nullbi.o dictfile.o mallocl.o lineedit.o linux-kbd.o forth.o compiler.o syscall.o floatops.o extend.o -o forth
CC ../../src/cforth/meta.c
CC ../../src/cforth/getc-kbd.c
CC meta.o
./meta ../../src/cforth/interp.fth kernel.dic
./forth kernel.dic ../../src/cforth/load.fth
.( isn't unique
./makeccalls <../../src/app/esp8266/extend.c >tccalls.fth
CBP=/home/pi/esp/cforth/src BP= ./forth forth.dic tccalls.fth ../../src/app/esp8266/app.fth
CC ../../src/cforth/embed/makebi.c
./makebi app.dic
TCC ../../src/cforth/embed/rodict.c
TLD tembed.o
TCC ../../src/app/esp8266/extend.c
const char version[] = "6af1788";
const char build_date[] = "2020-10-14 13:35";
TCC tdate.o
Linking app.o ...
(cd /home/pi/esp/nodemcu-firmware && PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/pi/esp/esp-open-sdk/xtensa-lx106-elf/bin/ FORTHOBJS=/home/pi/esp/cforth/build/esp8266/app.o make --no-print-directory)
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../../include/ets -I ../libc -I ../platform -I ../lua -I ../spiffs -I ../include -I ./ -I ../../include -I ../../include/eagle user_exceptions.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../../include/ets -I ../libc -I ../platform -I ../lua -I ../spiffs -I ../include -I ./ -I ../../include -I ../../include/eagle user_main.c
echo CC user_main.c
CC user_main.c
echo CC user_exceptions.c
CC user_exceptions.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/libuser.a .output/eagle/debug/obj/user_main.o .output/eagle/debug/obj/user_exceptions.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/libuser.a
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle switec.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle i2c_master.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle rotary.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle key.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle sigma_delta.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spi.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle pwm.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle gpio16.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle uart.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle readline.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle onewire.c
echo CC onewire.c
CC onewire.c
echo CC readline.c
CC readline.c
echo CC uart.c
CC uart.c
echo CC gpio16.c
CC gpio16.c
echo CC pwm.c
CC pwm.c
echo CC spi.c
CC spi.c
echo CC sigma_delta.c
CC sigma_delta.c
echo CC key.c
CC key.c
echo CC rotary.c
CC rotary.c
echo CC i2c_master.c
CC i2c_master.c
echo CC switec.c
CC switec.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/libdriver.a .output/eagle/debug/obj/onewire.o .output/eagle/debug/obj/readline.o .output/eagle/debug/obj/uart.o .output/eagle/debug/obj/gpio16.o .output/eagle/debug/obj/pwm.o .output/eagle/debug/obj/spi.o .output/eagle/debug/obj/sigma_delta.o .output/eagle/debug/obj/key.o .output/eagle/debug/obj/rotary.o .output/eagle/debug/obj/i2c_master.o .output/eagle/debug/obj/switec.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/libdriver.a
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle vfs.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle sdcard.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle pin_map.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle flash_api.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle common.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle platform.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -std=gnu11 -Wimplicit -I include -I ./ -I ../spiffs -I ../libc -I ../lua -I ../include -I ./ -I ../../include -I ../../include/eagle hw_timer.c
echo CC hw_timer.c
CC hw_timer.c
echo CC platform.c
CC platform.c
echo CC common.c
CC common.c
echo CC flash_api.c
CC flash_api.c
echo CC pin_map.c
CC pin_map.c
echo CC sdcard.c
CC sdcard.c
echo CC vfs.c
CC vfs.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/libplatform.a .output/eagle/debug/obj/hw_timer.o .output/eagle/debug/obj/platform.o .output/eagle/debug/obj/common.o .output/eagle/debug/obj/flash_api.o .output/eagle/debug/obj/pin_map.o .output/eagle/debug/obj/sdcard.o .output/eagle/debug/obj/vfs.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/libplatform.a
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle tcp_out.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle udp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle mdns.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle timers.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle sys.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle netif.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle def.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle sntp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle tcp_in.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle raw.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle pbuf.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle dns.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle dhcp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle tcp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle memp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle init.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle sys_arch.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle mem.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle stats.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle icmp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle inet_chksum.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle autoip.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle ip.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle igmp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle ip_addr.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle inet.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ./ -I ../../../../include -I ../../../../include/eagle ip_frag.c
echo CC ip_frag.c
CC ip_frag.c
echo CC inet.c
CC inet.c
echo CC ip_addr.c
CC ip_addr.c
echo CC igmp.c
CC igmp.c
echo CC ip.c
CC ip.c
echo CC autoip.c
CC autoip.c
echo CC inet_chksum.c
CC inet_chksum.c
echo CC icmp.c
CC icmp.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/liblwipipv4.a .output/eagle/debug/obj/ip_frag.o .output/eagle/debug/obj/inet.o .output/eagle/debug/obj/ip_addr.o .output/eagle/debug/obj/igmp.o .output/eagle/debug/obj/ip.o .output/eagle/debug/obj/autoip.o .output/eagle/debug/obj/inet_chksum.o .output/eagle/debug/obj/icmp.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/liblwipipv4.a
echo CC stats.c
CC stats.c
echo CC mem.c
CC mem.c
echo CC sys_arch.c
CC sys_arch.c
echo CC init.c
CC init.c
echo CC memp.c
CC memp.c
echo CC tcp.c
CC tcp.c
echo CC dhcp.c
CC dhcp.c
echo CC dns.c
CC dns.c
echo CC pbuf.c
CC pbuf.c
echo CC raw.c
CC raw.c
echo CC tcp_in.c
CC tcp_in.c
echo CC sntp.c
CC sntp.c
echo CC def.c
CC def.c
echo CC netif.c
CC netif.c
echo CC sys.c
CC sys.c
echo CC timers.c
CC timers.c
echo CC mdns.c
CC mdns.c
echo CC udp.c
CC udp.c
echo CC tcp_out.c
CC tcp_out.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/liblwipcore.a .output/eagle/debug/obj/stats.o .output/eagle/debug/obj/mem.o .output/eagle/debug/obj/sys_arch.o .output/eagle/debug/obj/init.o .output/eagle/debug/obj/memp.o .output/eagle/debug/obj/tcp.o .output/eagle/debug/obj/dhcp.o .output/eagle/debug/obj/dns.o .output/eagle/debug/obj/pbuf.o .output/eagle/debug/obj/raw.o .output/eagle/debug/obj/tcp_in.o .output/eagle/debug/obj/sntp.o .output/eagle/debug/obj/def.o .output/eagle/debug/obj/netif.o .output/eagle/debug/obj/sys.o .output/eagle/debug/obj/timers.o .output/eagle/debug/obj/mdns.o .output/eagle/debug/obj/udp.o .output/eagle/debug/obj/tcp_out.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/liblwipcore.a
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle sockets.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle api_msg.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle err.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle netdb.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle tcpip.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle netifapi.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle api_lib.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle netbuf.c
echo CC netbuf.c
CC netbuf.c
echo CC api_lib.c
CC api_lib.c
echo CC netifapi.c
CC netifapi.c
echo CC tcpip.c
CC tcpip.c
echo CC netdb.c
CC netdb.c
echo CC err.c
CC err.c
echo CC api_msg.c
CC api_msg.c
echo CC sockets.c
CC sockets.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/liblwipapi.a .output/eagle/debug/obj/netbuf.o .output/eagle/debug/obj/api_lib.o .output/eagle/debug/obj/netifapi.o .output/eagle/debug/obj/tcpip.o .output/eagle/debug/obj/netdb.o .output/eagle/debug/obj/err.o .output/eagle/debug/obj/api_msg.o .output/eagle/debug/obj/sockets.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/liblwipapi.a
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle espconn_udp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle espconn_mdns.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle dhcpserver.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle ping.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle espconn_tcp.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle netio.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle espconn.c
echo CC espconn.c
CC espconn.c
echo CC netio.c
CC netio.c
echo CC espconn_tcp.c
CC espconn_tcp.c
echo CC ping.c
CC ping.c
echo CC dhcpserver.c
CC dhcpserver.c
echo CC espconn_mdns.c
CC espconn_mdns.c
echo CC espconn_udp.c
CC espconn_udp.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/liblwipapp.a .output/eagle/debug/obj/espconn.o .output/eagle/debug/obj/netio.o .output/eagle/debug/obj/espconn_tcp.o .output/eagle/debug/obj/ping.o .output/eagle/debug/obj/dhcpserver.o .output/eagle/debug/obj/espconn_mdns.o .output/eagle/debug/obj/espconn_udp.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/liblwipapp.a
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../include -I ./ -I ../../include -I ./ -I ../../../include -I ../../../include/eagle etharp.c
echo CC etharp.c
CC etharp.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/liblwipnetif.a .output/eagle/debug/obj/etharp.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/liblwipnetif.a
mkdir -p _liblwip
cd _liblwip; xtensa-lx106-elf-ar xo ../api/.output/eagle/debug/lib/liblwipapi.a; xtensa-lx106-elf-ar xo ../app/.output/eagle/debug/lib/liblwipapp.a; xtensa-lx106-elf-ar xo ../core/.output/eagle/debug/lib/liblwipcore.a; xtensa-lx106-elf-ar xo ../core/ipv4/.output/eagle/debug/lib/liblwipipv4.a; xtensa-lx106-elf-ar xo ../netif/.output/eagle/debug/lib/liblwipnetif.a;
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/liblwip.a _liblwip/
.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/liblwip.a
rm -f -r liblwip
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -Dprintf=c_printf -D__ets
_ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../libc -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spiffs.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -Dprintf=c_printf -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../libc -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spiffs_hydrogen.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -Dprintf=c_printf -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../libc -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spiffs_check.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -Dprintf=c_printf -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../libc -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spiffs_nucleus.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -Dprintf=c_printf -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../libc -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spiffs_gc.c
DEPEND: xtensa-lx106-elf-gcc -M -I/home/pi/esp/nodemcu-firmware/sdk-overrides/include -I/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/include -Os -ffunction-sections -fno-jump-tables -fdata-sections -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -Dprintf=c_printf -D__ets__ -DICACHE_FLASH -DLUA_OPTIMIZE_MEMORY=2 -DMIN_OPT_LEVEL=2 -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -I include -I ./ -I ../libc -I ../platform -I ../include -I ./ -I ../../include -I ../../include/eagle spiffs_cache.c
echo CC spiffs_cache.c
CC spiffs_cache.c
echo CC spiffs_gc.c
CC spiffs_gc.c
echo CC spiffs_nucleus.c
CC spiffs_nucleus.c
echo CC spiffs_check.c
CC spiffs_check.c
echo CC spiffs_hydrogen.c
CC spiffs_hydrogen.c
echo CC spiffs.c
CC spiffs.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/spiffs.a .output/eagle/debug/obj/spiffs_cache.o .output/eagle/debug/obj/spiffs_gc.o .output/eagle/debug/obj/spiffs_nucleus.o .output/eagle/debug/obj/spiffs_check.o .output/eagle/debug/obj/spiffs_hydrogen.o .output/eagle/debug/obj/spiffs.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/spiffs.a
xtensa-lx106-elf-gcc -L/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/lib -L/home/pi/esp/nodemcu-firmware/sdk/esp_iot_sdk_v1.5.4.1/ld -Wl,--gc-sections -Wl,-Map=mapfile -nostdlib -T../ld/nodemcu.ld -Wl,@../ld/defsym.rom -Wl,--no-check-sections -Wl,--wrap=_xtos_set_exception_handler -Wl,-static /home/pi/esp/cforth/build/esp8266/app.o -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lwpa2 -lmain -lsmartconfig -lssl -lcrypto user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a platform/.output/eagle/debug/lib/libplatform.a lwip/.output/eagle/debug/lib/liblwip.a spiffs/.output/eagle/debug/lib/spiffs.a -Wl,--end-group -lm -o .output/eagle/debug/image/eagle.app.v6.out
../tools/esptool.py elf2image .output/eagle/debug/image/eagle.app.v6.out -o ../bin/
esptool.py v1.2-dev
mv /home/pi/esp/nodemcu-firmware/bin/
.bin .
pi@HPDEBIAN:$ sudo COMPORT=/dev/ttyUSB0 make download
/home/pi/esp/nodemcu-firmware/tools/esptool.py --port /dev/ttyUSB0 -b 115200 write_flash -fm=dio -fs=32m 0x00000 0x00000.bin 0x10000 0x10000.bin
esptool.py v1.2-dev
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0240
Writing 28672 @ 0x0... 28672 (100 %)
Wrote 28672 bytes at 0x0 in 2.5 seconds (91.6 kbit/s)...
Writing 331776 @ 0x10000... 330752 (99 %)
A fatal error occurred: Timed out waiting for packet header
make: *** [../../src/app/esp8266/sdk.mk:46: download] Error 2
pi@HPDEBIAN:$
pi@HPDEBIAN:$ # The next attempt was OK
pi@HPDEBIAN:$
pi@HPDEBIAN:$ sudo COMPORT=/dev/ttyUSB0 make download
/home/pi/esp/nodemcu-firmware/tools/esptool.py --port /dev/ttyUSB0 -b 115200 write_flash -fm=dio -fs=32m 0x00000 0x00000.bin 0x10000 0x10000.bin
esptool.py v1.2-dev
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0240
Writing 28672 @ 0x0... 28672 (100 %)
Wrote 28672 bytes at 0x0 in 2.5 seconds (91.6 kbit/s)...
Writing 331776 @ 0x10000... 331776 (100 %)
Wrote 331776 bytes at 0x10000 in 28.9 seconds (91.9 kbit/s)...
Leaving...
pi@HPDEBIAN:$

esp8266 How do I change app

Hi,

I have feeling I'm doing something stupid, but I can't see what.

In src/app/esp8266/app.fth it includes car.fth

car.fth has a word 'car-init'

using sifting I can find this on my running board

So I comment out

fl car.fth

In app.fth, and rebuild, and flash the target:

make clean
make
COMPORT=/dev/ttyUSB2 make download 

And car-init is still there.

I also made some small, debugging, changes to wifi.fth, and app.fth which are not being changed either.

As usual any help is much appreciated.

Regards,
Andrew

ESP8266 xmodem bug

I am trying to transfer a small test file using xmodem from my Linux computer using minicom.

The file is simply

: hello
." Hello" cr
;

On the target I issue the command :

rf hello.fth

and wait a few seconds and:

ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 23992, room 16
tail 8
chksum 0xb5
load 0x3ffe8000, len 948, room 0
tail 4
chksum 0xb5
load 0x3ffe83b4, len 8, room 4
tail 4
chksum 0xc8
csum 0xc8
<0x8c><0xe2><0x02><0xec><0x12><0x82>n<0xec><0x92>r<0x82><0xf2>n|<0xec><0x0c>l<0x0c>lll`<0x02><0x8c><0xe2>r<0x92>l<0x8c>l<0x12><0xfc>
CForth built 2019-08-12 08:45 from b89d301
Type a key within 2 seconds to interact
ok

I have tested my comms by sending a file to a board running cforth on an ESP32 and it works fine.

esp8266 not working after flash

Hi everybody,

Once again I have returned to take a look at cforth.

Built latest esp32, works like a charm. MQTT publishing, very cool.

Tried building esp8266-rtos. Good start it built. Tried flashing onto a device, and

COMPORT=/dev/ttyUSB0 make download

It flashed without complaint:

....
Wrote 647088 bytes (398451 compressed) at 0x00010000 in 6.0 seconds (effective 866.6 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 97...
Wrote 3072 bytes (97 compressed) at 0x00008000 in 0.0 seconds (effective 9122.1 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Connected to a terminal:

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

and so on.

I have a tried a couple of other 8266 boards and they behave the same.

I have a feeling of deja vu, and this is something simple. but ....

Thanks,
Andrew

Checking conditionals

Hi Mitch,

When the following test3 is compiled on a ESP8266 or ESP32

: test3 then ;

then cforth crashes and reboots.

When if else then are redefined as follows the unfriendly reboot
is avoided and you get the msg: Conditionals not paired

: if2 \ runtime: ( flag - ) compiletime: ( - 2Pair )
+level compile ?branch >mark 2
; immediate

: else2 \ compiletime: ( 2Pair - 2Pair )
2 ?pairs postpone ahead postpone but postpone then 2
; immediate

: then2 \ compiletime: ( 2Pair - )
2 ?pairs >resolve -level
; immediate

: test 1 if2 10 else2 100 then2 . ;
: test2 0 if2 10 else2 100 then2 . ;
: test3 then2 1 . ;
: test4 if2 1 . ;
Note: test4 also changes the stack
No idea if this generate other problems.

Possible problem with number conversion for number > 2^64

After compilation of glfw-linux version of cforth for x86_64 Linux, I started testing number ranges and output. First attempt was -1 u. which produced the expected and correct output of 2^64-1. Thusly encouraged I went on with -1. ud. and got 204963821196358365382482626504915156991. While this is a nicely long number, it still struck me as not quite what I was expecting. I therefore did
-1. hex ud., which showed the possible problem in better detail: 1111111111111111ffffffffffffffff.
Examining then #, the culprit appeared to be mu/mod, which i then tested like this:
18446744073709551616. 10 mu/mod d. . ( producing 1844674407370955161 6, good )
36893488147419103232. 10 mu/mod d. . (producing 1844674407370955161 6, not good )
73786976294838206464. 10 mu/mod d. . (producing 1844674407370955161 6, again )
it appears as if mu/mod doesn't take upper half of a double into account.

Adding stuff etc to esp8266-rtos

Hi,

I have found time to look at cforth again and the new goodness that you have added.

Given that it's now on top of Esprissif's extended FreeRTOS I was looking at adding words for things like MQTT and looking in to lower power modes.

Not wanting to create a parallel implementation of these things I was wondering what your plans were for features.

Regards,
Andrew

repeat-alarm-us

Hi,
extend.c in /~esp8266-rtos includes the following line:
C(repeat_alarm_us) //c repeat-alarm-us { i.xt i.us -- }

For some reason the following code does not work:

0 value counter 0 value @do_alarm
: do_alarm ( - ) counter 1+ to counter ;

' do_alarm to @do_alarm
: test ( - ) 0 to counter @do_alarm #200 repeat-alarm-us #1000 ms ;

test counter . \ Shows 0

What must be done in order to get repeat-alarm-us working?
Thanks in advance, Jos

Connect to Wifi ?

If I type wifi-sta-on it says it needs a SSID when I type wifi-sta-ssid "SSID" then it says again it needs a SSID. I tried all combinations. maybe you can help me.

Greetings Lukas

MOre of a question: FreeBSD

Hi,

I'm taking a look at FReeBSD at the moment. I was wondering if tou have ever build cforth for a BSD os (not including SunOS 4.x of course)

Regards,
Andrew

ESP8266 test-socket.fth

I notice that Mitch has pushed an example file (test-socket.fth) to the repo.

As I understand it the test word "probe-ssh" sets up a a bunch of callbacks connects to the ssh port of a given machine, displays the string return by ssh and disconnects.

This works fine.

I have modified it to connect to a custom socket server. The connect callback sends "PING\n" and the server responds with "Pong!\n", and disconnects.

This too works fine.

I have made the changes to set respond to a callback that simply displays the stack and put false on the stack. With just this change it works.

What I am struggling with is sending a subsequent command and getting the response.

If at the prompt I send a second command (e.g. " PING"n" server-pcb tcp-write .) I get 0 o/p then

ok Tried to execute a null token

Any advice Mitch ?

Regards,
Andrew

Make error

Hello,

I have an Issue with Making the ESP32 Cforth Build. Sorry for asking if its dumb but Im a newbie with make stuff and so on...

Unbenannt

Address exception with pictured number conversion, host-serial-linux64

Trying to output rather long binary numbers, I encountered a possible buffer overflow when converting more than 100 digits. As the 64 bit versions ought to be able to handle 128 digits, in my humble opinion, that buffer should be large enough to accommodate such a number.
Please observe the issue by executing test2, which causes "Address exception" on my (2nd gen) i7-2640M system, running cforth in the host-serial-linux64 flavour. test1 doesn't exhibit that problem.

( binary )   ( irrelevant, shows with any radix )
: test1  -1. <# #100 0 do # loop #>  2drop ;
: test2  -1. <# #101 0 do # loop #>  2drop ;

Quick and easy workaround in this case was to output two 64 bit binary numbers, concatenating their output, but I feel that this issue deserves a somewhat more general fix.

Make keeps downloading same file

Make keeps downloading esp-idf-v3.1.4.zip. There needs to be a check to see if the file has been downloaded.

Might have been because I didn’t run make with sudo

esp8266 pwm working?

Has anyone else noticed a problem with the pwm- words on ESP8266? I've not yet dug into it in detail, but pwm-setup followed by pwm-start causes a hang then a watchdog reset or restart.

resize-file

In an ANS forth system RESIZE-FILE can be used to create quickly a large file.
The following code also works to create a large file:

decimal
768 constant /UdpData
0 value fd-file variable fsize
create &UdpData /UdpData allot

: init-file-space ( size -- )
&UdpData /UdpData erase
/UdpData /mod /UdpData * &UdpData + &UdpData
do &UdpData /UdpData fd-file write-file 1 ms
if fsize off leave
then
/UdpData
+loop
&UdpData swap fd-file write-file 1 ms
if fsize off
then
fd-file file-size 3drop ;

s" test.txt" 2dup type r/w create-file drop to fd-file
154659 init-file-space fd-file close-file ls

\ RESIZE-FILE ( ud fileid -- ior ) would still be much nicer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.