1. 21 Jul, 2019 1 commit
    • Johny Mattsson's avatar
      Major cleanup - c_whatever is finally history. (#2838) · 526d21da
      Johny Mattsson authored
      The PR removed the bulk of non-newlib headers from the NodeMCU source base.  
      app/libc has now been cut down to the bare minimum overrides to shadow the 
      corresponding functions in the SDK's libc. The old c_xyz.h headerfiles have been 
      nuked in favour of the standard <xyz.h> headers, with a few exceptions over in 
      sdk-overrides. Again, shipping a libc.a without headers is a terrible thing to do. We're 
      still living on a prayer that libc was configured the same was as a default-configured
      xtensa gcc toolchain assumes it is. That part I cannot do anything about, unfortunately, 
      but it's no worse than it has been before.
      
      This enables our source files to compile successfully using the standard header files, 
      and use the typical malloc()/calloc()/realloc()/free(), the strwhatever()s and 
      memwhatever()s. These end up, through macro and linker magic, mapped to the 
      appropriate SDK or ROM functions.
      526d21da
  2. 22 Jun, 2018 1 commit
  3. 17 Mar, 2018 1 commit
  4. 17 Feb, 2016 1 commit
    • TerryE's avatar
      Add New Tasking I/F and rework GPIO, UART, etc to support it · 49733f6f
      TerryE authored
      As with the last commit this rolls up the follwowing, but include the various
      review comments on the PR.
      
      -   **Documentation changes**. I've added the taks FAQ as a stub new Extension
      developer FAQ, and split the old FAQ into a Lua Developer FAQ and a Hardware
      FAQ.
      
      -   **Tasking I/F**.  New `app/task/Makefile`, `app/task/task.c`,
      `app/include/task/task.h` and `app/Makefile` as per previous commit.  Cascade
      changes to `app/driver/uart.c`, `app/include/driver/uart.h`,
      `app/user/user_main.c` and `app/modules/node.c`
      
      -   **GPIO Rework** to `app/modules/gpio.c` and `pin_map.[hc]`, `platform.[hc]`
      in `app/platform`
      
      -   **Other Optimisations** Move the `platform_*_exists()` from
      `app/platform/common.c` to static inline declarations in `platform.h` as
      this generates faster, smaller code. Move lgc.a routines out of iram0.
      49733f6f
  5. 12 Dec, 2015 2 commits
    • Johny Mattsson's avatar
      d84a24fc
    • Johny Mattsson's avatar
      Cleaned up all uses of INTERNAL_FLASH_START_ADDRESS. · c4e8b04f
      Johny Mattsson authored
      There was only one genuine use of this macro, all other places were
      using it only as a necessary compensation. While this was fine as long as
      it was the first meg of flash which was mapped, it became incorrect and
      quite dangerous whenever this assumption did not hold (such as when
      running from the second slot in an OTA scenario).
      
      The flash API now uses actual addresses, not translated/mapped
      addresses, and the users of this API have been adjusted accordingly.
      This makes the flash API work correctly regardless of what flash mapping
      is in use.
      
      The old macro is still available under the new name
      INTERNAL_FLASH_MAPPED_ADDRESS, and this is used to detect flash writes
      where the source is mapped flash (and thus has to be bounced), and to
      adjust the _flash_used_end linker symbol when used with
      flassh_find_sector() by the filesystem code. The latter usage is not
      OTA-proof, but in an OTA scenario the filesystem needs a fixed location
      anyway and thus would not use this code path.
      c4e8b04f
  6. 04 Aug, 2015 1 commit
  7. 19 Jun, 2015 1 commit
  8. 18 Jun, 2015 1 commit
  9. 05 Jan, 2015 1 commit
  10. 22 Dec, 2014 1 commit