Gitlab CI will cache build directory per branch and per build step. Also it doesn't try to update submodules.
We have to do this manually because otherwise we end up with old version of submodule in cached directory.
Fix: Return after setting breakpoint when ocd is detected instead of continuing …
…into the panic routine
Made a small thinko when refactoring the panic handler code. This fixes it.
See merge request !36
Add openocd documentation and config file
As we (=Ivan/Angus) discussed, the esp32-specific openocd/gdb documentation and helper tools will live in the esp-idf repository. This is an initial document detailing the basics of setting up OpenOCD with an esp32 module. It should be sufficient for people already familiar with a similar setup on another platform to start using JTAG for debugging. It can be expanded much more (e.g. the tracetool still is missing) but we'llhave to add that later.
See merge request !31
components/expat: add XML parse feature
Develop and Compile XML Parse based on XMPP protocol, can test from unity running list, see expat file.
See merge request !32
[Github] Fix prototype for ets_aes_set_endian
https://github.com/espressif/esp-idf/pull/3
Original description:
>
> found small mistake in it
>
> we have:
>
```
PROVIDE ( ets_aes_crypt = 0x4005c9b8 );
PROVIDE ( ets_aes_disable = 0x4005c8f8 );
PROVIDE ( ets_aes_enable = 0x4005c8cc );
PROVIDE ( ets_aes_set_endian = 0x4005c928 );
PROVIDE ( ets_aes_setkey_dec = 0x4005c994 );
PROVIDE ( ets_aes_setkey_enc = 0x4005c97c );
```
See merge request !29
found small mistake in it
we have:
PROVIDE ( ets_aes_crypt = 0x4005c9b8 );
PROVIDE ( ets_aes_disable = 0x4005c8f8 );
PROVIDE ( ets_aes_enable = 0x4005c8cc );
PROVIDE ( ets_aes_set_endian = 0x4005c928 );
PROVIDE ( ets_aes_setkey_dec = 0x4005c994 );
PROVIDE ( ets_aes_setkey_enc = 0x4005c97c );
Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
update ld and heap region
Divide origin fpga ld to several lds, choose specific ld for normal/BT/Trace by menuconfig, change iram/dram len in ld to full use hardware ram region.
See merge request !28
Fix dualcore startup
This MR includes:
- a workaround for a hardware bug with cache initialization
- fix of `#if CONFIG_WIFI_ENABLED` block in cpu_start.c for the case when WiFi is disabled.
- removal of miscellaneous delays in cpu_start.c
See merge request !22
fix DRAM_ATTR attribute
Variables marked with DRAM_ATTR were not placed in any specific section and were appended to the last section, causing some errors at binary file generation stage.
This change places contents of .dram1 section into .dram0.data.
Also removes .iram1pro/.iram1app/.dram1pro/.dram1app which weren't used anywhere.
See merge request !23
Make: fix incremental builds, add build tests
Four semi-related build changes in one:
* Add basic tests for make system sanity (can be expanded as we find corner cases)
* Fix incremental building of bootloader when source files change
* Don't regenerate component libraries or re-link the ELF file if nothing changed
* Rename `$(vecho)` to `$(summary)` and add a new `$(details)` macro to echo some helpful build details when V=1.
See merge request !20
Add symbol needed for OpenOCD to detect FreeRTOS, add feature to break execution, try 2
Add symbol needed for OpenOCD to detect FreeRTOS, add optional feature to break execution when the scheduler is initially started. The workflow is now so that if you start an esp-idf program, you can reset the CPU and end up in a gdb prompt just before all threads start up. In gdb you can then inspect all threads and watch breakpoints. Has the nice side effect that OpenOCD will restore any break/watchpoints that were there before you reset the chip.
This is try 2 because seemingly, someone or something replaced the bit of my brain that is responsible for handling Git with a squeaky toy.
See merge request !24
This is a workaround for a hardware bug with cache initialization.
Only two lines of code related to DPORT_APP_CACHE_MMU_IA_CLR were added around mmu_init(1); call,
and two lines at the end of comment block.
I reformatted surrounding lines to use spaces for indentation, like the rest of the code in this file does.
This change removes various delays in PRO and APP CPU startup paths.
Also some unused code and ets_printf statements are cleaned up or removed.
2nd CPU now communicates that it has started through a global variable.
The thread-local-storage feature in FreeRTOS attaches an application-usable array of pointers to a thread control block. These pointers usually point to a structure the thread allocates. When a thread gets (voluntarily or involuntarily) destroyed, this memory can leak. This merge adds a matching second array of user-settable pointers to destructor routines. As soon as the task gets cleaned up (which happens in the idle thread), the destructors get called and the memory can be freed.
See merge request !19