Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By Necromant
#2342 Hello all,
This is somewhat the first thing that I've done with ESP8266 in a state that's worth looking at.
I've started developing for esp8266 by adding limited support for it to antares (See experimental branch), which is my tool of choice for MCU development. Next, I've started developing alternative firwmware for those modules, since stock AT commands pretty much suck. You can grab the current code in it's crappy state at my github repo here, there are some binaries under binary/ directory.

So far I've got an u-boot like commandline running on the device with proper commandline editing, history and code completion (Pretty much thanks to the awesome microrl library) which can be easily extended with new commands and configured using menuconfig.

Code: Select allAntares blackblade 0.2-rc1, Insane Mushroom @ ESP8266.
(c) Andrew 'Necromant' Andrianov 2014 <andrew@ncrmnt.org>

Memory Layout:
data  : 0x3ffe8000 ~ 0x3ffe8a68, len: 2664
rodata: 0x3ffe8a70 ~ 0x3ffe9ab0, len: 4160
bss   : 0x3ffe9ab0 ~ 0x3fff0ef8, len: 29768
heap  : 0x3fff0ef8 ~ 0x3fffc000, len: 45320

 === Press enter to activate this console ===

blackblade > help

help       - Show this message
iwmode     - Get/set wireless mode. Available modes: NONE, STA, AP, APSTA
iwscan     - Scan for available stations

blackblade > iwmode
Wireless mode: AP
blackblade > iwmode STA
Wireless mode change: AP -> STA
blackblade > iwscan
BSSID bc:ee:7b:35:bf:d8 channel 6 rssi -83 auth 3 tishina70
BSSID 24:a4:3c:46:ae:49 channel 6 rssi -90 auth 0 ubnt
BSSID a8:15:4d:c:be:c channel 11 rssi -43 auth 3 frostgate

blackblade >
Last edited by Necromant on Sun Nov 09, 2014 8:00 am, edited 1 time in total.
User avatar
By RichardS
#2344 Nice work, thanks for sharing.

Richard.
User avatar
By alonewolfx2
#2351 Thanks your sharing. Your code more readable more than at example. Especially console :) thanks again.
User avatar
By Necromant
#2352 I'm working on getting evironment variables like uboot work. Can anyone point me to a decent writeup how the spi flash is organised/mapped, so that I can know for sure what I can and what I can't use? I'm somewhat new to ESP8266 development and might be missing some bits and pieces.

P.S. ifconfig and apconfig arrived:

Code: Select allblackblade > ifconfig
sta0: WiFi Client Interface
    inet addr:0.0.0.0 Mask:0.0.0.0 Gateway:0.0.0.0
ap0: WiFi Access Point Interface
    inet addr:192.168.4.1 Mask:255.255.255.0 Gateway:192.168.4.1

blackblade > apconfig MyApName WPA2 topsecretpassword

blackblade >