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

User avatar
By jcmvbkbc
#21416
0xPIT wrote:Any idea about the cause for the following compile error:

Code: Select allUndefined symbols for architecture x86_64:
  "_load_device_tree", referenced from:
      _lx_init in xtfpga.o
ld: symbol(s) not found for architecture x86_64


Missing libfdt. You can either install your OS package with libfdt and its headers, or fetch the DTC submodule in QEMU, using 'git submodule update --init dtc'.
User avatar
By pietrushnic
#26099 How esp8266.rom and esp8266-call-user.rom were created ? Is there source code for those?

I tried blinky example but get couple of "READ ?????", so some reads are not implemented yet.
How much is missing to get blinky example work ?

I tried to look in code and figure out what should be next thing to implement. Have you got any plans for next features ? I would be glad to provide some support in free time.
User avatar
By jcmvbkbc
#26106
pietrushnic wrote:How esp8266.rom and esp8266-call-user.rom were created ? Is there source code for those?

esp8266.rom is the ROM dump from the esp8266 chip, I took it here initially: viewtopic.php?f=6&t=39&start=15#p327
I made esp8266-call-user.rom from esp8266.rom by patching couple bytes in it with hex editor to make it read entry point address of ELF file passed to QEMU through '-kernel' and jump to it.
I believe esp8266-call-user.rom is not needed anymore now that we can reach user init "naturally", and it probably wouldn't work since the implementation of mappable FLASH model.

pietrushnic wrote:I tried blinky example but get couple of "READ ?????", so some reads are not implemented yet.
How much is missing to get blinky example work ?

I guess the timer.

pietrushnic wrote:I tried to look in code and figure out what should be next thing to implement. Have you got any plans for next features ? I would be glad to provide some support in free time.

No plan and considerably less interest and free time than I used to have.
A list of things that are currently missing:
- incomplete implementation of UART and SPI;
- not very useful external interface for GPIO/...;
- unimplemented peripherals that are rather straightforward: timer, RTC;
- all other peripherals (: