summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/esp8266.ld
Commit message (Collapse)AuthorAge
* esp8266/esp8266.ld, esp8266_ota.ld: Grow main firmware size by 32KB.Paul Sokolovsky2017-05-12
| | | | To accommodate both system and user frozen modules.
* esp8266: Factor out common linker code to esp8266_common.ld.Damien George2017-01-25
|
* py: Factor out persistent-code reader into separate files.Damien George2016-11-16
| | | | | | | Implementations of persistent-code reader are provided for POSIX systems and systems using FatFS. Macros to use these are MICROPY_READER_POSIX and MICROPY_READER_FATFS respectively. If an alternative implementation is needed then a port can define the function mp_reader_new_file.
* py: Factor persistent code load/save funcs into persistentcode.[ch].Damien George2016-11-16
|
* esp8266: Rename "machine" module implementation to use contemporary naming.Paul Sokolovsky2016-11-06
| | | | | | | Previously they used historical "pyb" affix causing confusion and inconsistency (there's no "pyb" module in modern ports; but people took esp8266 port as an example, and "pyb" naming kept proliferating, while other people complained that source structure is not clear).
* esp8266: Add MP_FASTCODE modifier to put a function to iRAM.Paul Sokolovsky2016-10-19
| | | | | | It can be used in the following manner: void MP_FASTCODE(foo)(int arg) { ... }
* esp8266/esp8266.ld: Move main.o to iROM.Paul Sokolovsky2016-10-19
|
* esp8266/esp8266.ld: Move modmachine.o to iROM.Paul Sokolovsky2016-10-19
|
* esp8266/esp8266.ld: Move help.o to iROM.Paul Sokolovsky2016-10-19
|
* esp8266/esp_init_data: Auto-initialize system params with vendor SDK 2.0.0.Paul Sokolovsky2016-10-18
| | | | | | | SDK 2.0.0 goes into boot loop if a firmware is programmed over erased flash, causing problems with user experience. This change implements behavior similar to older SDKs': if clean flash is detected, default system parameters are used.
* esp8266/modmachine: Simplify SPI class implementation multiplexing.Paul Sokolovsky2016-09-04
| | | | | | | | | | | | modpybhspi now does the needed multiplexing, calling out to modpybspi (bitbanging SPI) for suitable peripheral ID's. modmachinespi (previous multiplexer class) thus not needed and removed. modpybhspi also updated to following standard SPI peripheral naming: SPI0 is used for FlashROM and thus not supported so far. SPI1 is available for users, and thus needs to be instantiated as: spi = machine.SPI(1, ...)
* esp8266/esp8266.ld: Move modmachinewdt to FlashROM.Paul Sokolovsky2016-09-03
|
* esp8266/modmachinespi: Add a factory method for SoftSPI/HSPIRadomir Dopieralski2016-08-19
|
* esp8266/modpybhspi: Add a HSPI module for hardware SPI supportRadomir Dopieralski2016-08-19
| | | | | | This module uses ESP8266's SPI hardware, which allows much higher speeds. It uses a library from https://github.com/MetalPhreak/ESP8266_SPI_Driver
* esp8266/esp8266.ld: Increase firmware image size to 0x90000 (576K).Paul Sokolovsky2016-08-09
| | | | | | | Of them, 0x87000 is irom0 segment. This is required to ship increasing number of modules and examples developed in teh course of ESP8266 port project.
* esp8266: Enable btree module.Paul Sokolovsky2016-07-31
|
* esp8266/esp8266.ld: Put axTLS to FlashROM.Paul Sokolovsky2016-04-27
|
* esp8266: Separate 1-wire timing funcs from Python module to save iRAM.Damien George2016-04-14
| | | | | esponewire.c contains low-level timing-critical functions that go in iRAM. modonewire.c contains Python wrapper code.
* esp8266: Add initial implementation of machine.UART.Damien George2016-04-06
| | | | Currently UART(0) and UART(1) are exposed and only uart.write works.
* esp8266: Minimize gap between Inst/DataRAM segments and FlashROM segment.Paul Sokolovsky2016-04-03
| | | | | | | | | With .rodata being in FlashROM now, gap can be much smaller now. InstRAM can be max 32K, and with segment headers, that already makes it more than 32K. Then there's some .data still, and the next Flash page boundary is 0x9000. That figure should be more or less future-proof. TODO: Refactor makeimg to take FlashROM segment offset from file name.
* esp8266: Bump iROM size to 512k.Paul Sokolovsky2016-04-03
| | | | Needed for frozen scripts, and for future growth of binary.
* esp8266: Move .rodata where it belongs with -mforce-l32 help.Paul Sokolovsky2016-04-03
|
* esp8266/esp8266.ld: Put FatFs to FlashROM.Paul Sokolovsky2016-03-27
|
* esp8266: Put modpybi2c.o to FlashROM.Paul Sokolovsky2016-03-26
|
* esp8266: Put utils.o to FlashROM.Paul Sokolovsky2016-03-26
|
* esp8266: Put lexerstr32.o into FlashROM.Paul Sokolovsky2016-03-26
|
* esp8266: Add PWM support.Damien George2016-03-26
| | | | | | | | | | | | | | | | | PWM implementation uses a timer and interrupts (FRC1), taken from Espressif's/NodeMCU's implementation and adapted for our use. 8 channels are supported, on pins 0, 2, 4, 5, 12, 13, 14, 15. Usage: import machine pwm0 = machine.PWM(machine.Pin(0)) pwm0.freq(1000) pwm0.duty(500) Frequency is shared (ie the same) for all channels. Frequency is between 1 and 1000. Duty is between 0 and 1023.
* esp8266: Implement software SPI class.Damien George2016-03-25
| | | | | Supports speeds up to 500k baud, polarity=0/1, phase=0/1, and using any pins. Only supports MSB output at the moment.
* esp8266: Store frozen modules in FlashROM.Paul Sokolovsky2016-03-17
| | | | Requires special lexer to access their contents.
* esp8266: Put more code in iROM section.Damien George2016-03-08
| | | | | Also explicitly name the py/*.o files in the linker file, to enable easy testing of putting certain ones in iRAM.
* esp8266: Enable modlwip.Damien George2016-03-08
|
* esp8266/esp8266.ld: Link in SDK version section.Paul Sokolovsky2016-03-03
| | | | Otherwise, os.uname() returns empty string for SDK version.
* esp8266: Enable float support, using 30-bit stuffed floats.Damien George2016-03-02
| | | | No complex numbers though.
* esp8266: Put more code in irom0 section, to get it building again.Damien George2015-10-20
|
* esp8266: Update to SDK version 1.1.0 (MIT-licensed).Josef Gajdusek2015-05-30
| | | | | | | | | 1. Updated linker script, now user app appears to contain exception vector table and oesn't work (faults) without it. 2. Commened out support for GPIO pulldown, which was removed in this SDK version without clear explanation, but apparently because it was released without proper validation, and now turns out it doesn't work as expected, or there's a different function there.
* esp8266: Put more literal and text obj data in irom0_0_seg.Damien George2015-05-13
| | | | | | | With newer versions of esp_iot_sdk the iram1_0_seg started to overflow. Now it doesn't. Addresses issue #1254.
* esp8266: Update the linker scriptJosef Gajdusek2015-05-13
| | | | | Moved modesp.o to flash and increased size of the irom0_0_seg segment. The new value was taken from NodeMCU linker script.
* esp8266: Move more rodata to irom section.Damien George2014-11-29
| | | | | rodata can only go in iram/irom if it's accessed only using word loads (ie no byte or half-word access).
* esp8266: Change bignum from mpz to longlong; move some rodata to iram.Damien George2014-11-28
| | | | | | Some rodata items can go in iram/irom segment, but not others. With this patch ESP now has 24256 bytes of heap ram. It passes 228 out of 248 tests from tests/basics directory.
* esp8266: New port of Micro Python to ESP8266 wifi module.Damien George2014-11-27