]> granicus.if.org Git - esp-idf/log
esp-idf
8 years agoMerge branch 'bugfix/make_tests_noninteractive' into 'master'
Ivan Grokhotkov [Thu, 25 Aug 2016 02:20:48 +0000 (10:20 +0800)]
Merge branch 'bugfix/make_tests_noninteractive' into 'master'

make: update template configuration before running tests

This fixes build error for non-interactive builds

See merge request !26

8 years agomake: update template configuration before running tests
Ivan Grokhotkov [Thu, 25 Aug 2016 02:28:25 +0000 (10:28 +0800)]
make: update template configuration before running tests

This fixes build error for non-interactive builds

8 years agoMerge branch 'bugfix/dram_attr' into 'master'
Ivan Grokhotkov [Thu, 25 Aug 2016 02:19:17 +0000 (10:19 +0800)]
Merge branch 'bugfix/dram_attr' into 'master'

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

8 years agoMerge branch 'bugfix/bootloader_incremental_build' into 'master'
Ivan Grokhotkov [Wed, 24 Aug 2016 12:24:33 +0000 (20:24 +0800)]
Merge branch 'bugfix/bootloader_incremental_build' into 'master'

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

8 years agoMerge branch 'feature/openocd-freertos-support_try2' into 'master'
Jeroen Domburg [Wed, 24 Aug 2016 12:21:52 +0000 (20:21 +0800)]
Merge branch 'feature/openocd-freertos-support_try2' into 'master'

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

8 years agoUndo two empty lines
Jeroen Domburg [Wed, 24 Aug 2016 10:34:04 +0000 (18:34 +0800)]
Undo two empty lines

8 years agoUndo submodule commit
Jeroen Domburg [Wed, 24 Aug 2016 10:31:37 +0000 (18:31 +0800)]
Undo submodule commit

8 years agoAdd symbol needed for OpenOCD to detect FreeRTOS, add feature to break execution...
Jeroen Domburg [Wed, 24 Aug 2016 04:23:58 +0000 (12:23 +0800)]
Add symbol needed for OpenOCD to detect FreeRTOS, add feature to break execution when the scheduler is initially started.

8 years agoAdd files I forgot (FreeRTOS-openocd.c and panic.h)
Jeroen Domburg [Wed, 24 Aug 2016 09:21:27 +0000 (17:21 +0800)]
Add files I forgot (FreeRTOS-openocd.c and panic.h)

8 years agocomponents/esp32: fix DRAM_ATTR attribute
Ivan Grokhotkov [Wed, 24 Aug 2016 09:20:00 +0000 (17:20 +0800)]
components/esp32: fix DRAM_ATTR attribute

This change places contents of .dram1 section into .dram0.data.
Also removes .iram1pro/.iram1app/.dram1pro/.dram1app which weren't used anywhere.

8 years agoCI: Pass IDF_PATH to build_system_tests.sh
Angus Gratton [Wed, 24 Aug 2016 05:31:33 +0000 (13:31 +0800)]
CI: Pass IDF_PATH to build_system_tests.sh

8 years ago'Merge branch 'thread_local_storage_delete_callbacks' into 'master'
Jeroen Domburg [Wed, 24 Aug 2016 05:29:06 +0000 (13:29 +0800)]
'Merge branch 'thread_local_storage_delete_callbacks' into 'master'

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

8 years agoMake: Building the bootloader depends on syncing its sdkconfig from the top-level...
Angus Gratton [Wed, 24 Aug 2016 05:23:00 +0000 (13:23 +0800)]
Make: Building the bootloader depends on syncing its sdkconfig from the top-level project

8 years agoMakefile: Don't re-build libraries or re-link ELF files if nothing has changed in...
Angus Gratton [Wed, 24 Aug 2016 05:02:51 +0000 (13:02 +0800)]
Makefile: Don't re-build libraries or re-link ELF files if nothing has changed in the component

make/build_system_tests.sh should now pass.

8 years agoMakefile: Rename $(vecho) to $(summary), add new $(details) for echoing details when V=1
Angus Gratton [Wed, 24 Aug 2016 05:02:24 +0000 (13:02 +0800)]
Makefile: Rename $(vecho) to $(summary), add new $(details) for echoing details when V=1

8 years agomake bootloader: Always recurse into bootloader directory to check source dependencies
Angus Gratton [Wed, 24 Aug 2016 04:26:13 +0000 (12:26 +0800)]
make bootloader: Always recurse into bootloader directory to check source dependencies

8 years agoAdd build system test (via bash script)
Angus Gratton [Wed, 24 Aug 2016 04:16:26 +0000 (12:16 +0800)]
Add build system test (via bash script)

Currently fails due to bootloader not automatically rebuilding anything,
and ELF/BIN files generating when nothing changed.

8 years agoMerge branch 'feature/docs_linux_gettingstarted' into 'master'
Ivan Grokhotkov [Wed, 24 Aug 2016 04:06:18 +0000 (12:06 +0800)]
Merge branch 'feature/docs_linux_gettingstarted' into 'master'

docs: add linux getting started guide

See merge request !16

8 years agodocs: update linux getting started guide
Ivan Grokhotkov [Wed, 24 Aug 2016 03:17:15 +0000 (11:17 +0800)]
docs: update linux getting started guide

- add commands to get prerequisites on Debian and Arch
- change "Terminal.app" to "terminal"
- add note on python2 for Arch users

8 years agoMerge branch 'bugfix/ci-menuconfig-noninteractive' into 'master'
Ivan Grokhotkov [Tue, 23 Aug 2016 15:13:50 +0000 (23:13 +0800)]
Merge branch 'bugfix/ci-menuconfig-noninteractive' into 'master'

Fix for noninteractive builds

This MR fixes the case when new Kconfig configuration options were added
and you run `make menuconfig`. Previously this would first show console
prompt to set values for new options, and then launch menuconfig.
Now this will just launch menuconfig. New items are marked as `(NEW)`.

New target is added, defconfig, which may be useful for non-interactive
environments to set default values for all new configuration options.

Gitlab CI uses `make defconfig` to update sdkconfig in case any new
options were added in ESP-IDF.

See merge request !15

8 years agodocs: add linux getting started guide
Ivan Grokhotkov [Tue, 23 Aug 2016 09:25:32 +0000 (17:25 +0800)]
docs: add linux getting started guide

Currently this is mostly a verbatim copy of macOS guide with some obvious changes.
Exact lists of dependencies for Debian and Arch need to be specified.
Also made minor fixes to Windows and macOS guides:
- changed http urls to https
- added --prefix=$PWD to crosstool-NG's configure
- added chmod u+w for the build output directory

In general, except for prerequisites, Linux and macOS guides are virtually identical.
It might make sense to refactor this into single document with prerequisites being
described in separate docs.

8 years agogitlab-ci: run make defconfig before make all to update sdkconfig
Ivan Grokhotkov [Tue, 23 Aug 2016 08:19:49 +0000 (16:19 +0800)]
gitlab-ci: run make defconfig before make all to update sdkconfig

8 years agomake: add defconfig, don't run silentoldconfig before menuconfig
Ivan Grokhotkov [Tue, 23 Aug 2016 08:18:36 +0000 (16:18 +0800)]
make: add defconfig, don't run silentoldconfig before menuconfig

This commit fixes the case when new Kconfig configuration options were added and you run `make menuconfig`.
Previously this would first show console prompt to set values for new options, and then launch menuconfig.
Now this will just launch menuconfig.
New target is added, defconfig, which may be useful for non-interactive environments to set default values for
all new configuration options.

8 years agoMerge branch 'feature/configurable_add_lf_after_cr_printf' into 'master'
Jeroen Domburg [Tue, 23 Aug 2016 07:09:13 +0000 (15:09 +0800)]
Merge branch 'feature/configurable_add_lf_after_cr_printf' into 'master'

Add cr after a lf is printed (configurable)

Small menuconfig option to make the newlib stdout functions replicate the behaviour of ets_printf e.a. by sending out a \r before every \n.

See merge request !14

8 years agoAdd cr after a lf is printed (configurable)
Jeroen Domburg [Tue, 23 Aug 2016 07:02:27 +0000 (15:02 +0800)]
Add cr after a lf is printed (configurable)

Formatting

8 years agoMerge branch 'feature/nvs_tests' into 'master'
Ivan Grokhotkov [Tue, 23 Aug 2016 07:06:06 +0000 (15:06 +0800)]
Merge branch 'feature/nvs_tests' into 'master'

Power off recovery tests for non-volatile storage library, bug fixes, test coverage

This merge request:
- fixes several issues with internal state handling in nvs::Page
- fixes possible infinite loop when initializing namespace list
- fixes nvs_get_{str,blob} APIs to behave according to header file doc (they didn't return *length)
- adds extra consistency checks in nvs::PageManger initialization.
- adds test coverage via gcov and lcov
- adds host side tests during CI builds

See merge request !9

8 years agocomponents/nvs: strlcpy is not available on Linux, replace with strncpy and terminate...
Ivan Grokhotkov [Tue, 23 Aug 2016 07:14:13 +0000 (15:14 +0800)]
components/nvs: strlcpy is not available on Linux, replace with strncpy and terminate strings explicitly

8 years agocomponents/nvs: run small number of tests as part of CI builds
Ivan Grokhotkov [Tue, 23 Aug 2016 04:54:09 +0000 (12:54 +0800)]
components/nvs: run small number of tests as part of CI builds

8 years agocomponents/nvs: fix typos in readme
Ivan Grokhotkov [Tue, 23 Aug 2016 04:07:23 +0000 (12:07 +0800)]
components/nvs: fix typos in readme

8 years agocomponents/nvs: fix host build with GCC 4.9, add coverage report generation
Ivan Grokhotkov [Mon, 22 Aug 2016 06:16:21 +0000 (14:16 +0800)]
components/nvs: fix host build with GCC 4.9, add coverage report generation

8 years agocomponents/nvs: handle more cases where sudden power off may happen
Ivan Grokhotkov [Mon, 22 Aug 2016 04:11:32 +0000 (12:11 +0800)]
components/nvs: handle more cases where sudden power off may happen

This commit fixes several issues with state handling in nvs::Page. It also adds extra consistency checks in nvs::PageManger initialization.
These changes were verified with a new long-running test ("test recovery from sudden poweroff"). This test works by repeatedly performing same pseudorandom sequence of calls to nvs_ APIs. Each time it repeats the sequence, it introduces a failure into one of flash operations (write or erase). So if one iteration of this test needs, say, 25000 flash operations, then this test will run 25000 iterations, each time introducing the failure point at different location.

8 years agocomponents/nvs: clear handles list on init, fix returning *length in nvs_get_{str...
Ivan Grokhotkov [Mon, 22 Aug 2016 03:58:13 +0000 (11:58 +0800)]
components/nvs: clear handles list on init, fix returning *length in nvs_get_{str,blob}

8 years agocomponents/nvs: fix infinite loop when loading namespaces
Ivan Grokhotkov [Mon, 22 Aug 2016 03:50:31 +0000 (11:50 +0800)]
components/nvs: fix infinite loop when loading namespaces

8 years agocomponents/nvs: add debugging facilities and runtime checks
Ivan Grokhotkov [Mon, 22 Aug 2016 03:46:44 +0000 (11:46 +0800)]
components/nvs: add debugging facilities and runtime checks

Extra runtime sanity checks run when compiled for the host (i.e. with no ESP_PLATFORM define)

8 years agocomponents/nvs: make some methods const
Ivan Grokhotkov [Mon, 22 Aug 2016 02:30:35 +0000 (10:30 +0800)]
components/nvs: make some methods const

8 years agoMerge branch 'feature/esptoolpy_performance' into 'master'
Jeroen Domburg [Tue, 23 Aug 2016 03:52:03 +0000 (11:52 +0800)]
Merge branch 'feature/esptoolpy_performance' into 'master'

esptool.py performance

Restores esptool.py custom baud rate, and re-adds compressed upload into the Makefile default targets

See merge request !11

8 years agoMerge branch 'feature/docs_osx_gettingstarted' into 'master'
Ivan Grokhotkov [Tue, 23 Aug 2016 03:36:15 +0000 (11:36 +0800)]
Merge branch 'feature/docs_osx_gettingstarted' into 'master'

:blue_book: Setup guide for macOS

Initial version of getting started guide for macOS. Section on crosstool-NG may lack all the necessary steps, but usage of crosstool-NG on macOS is pretty well documented, so this shouldn't be a showstopper. We need to run these steps on a clean install of macOS, both with MacPorts and homebrew. I'll do this once i get a VM with macOS working.

See merge request !13

8 years agoMerge branch 'feature/gitlab-ci' into 'master'
Ivan Grokhotkov [Tue, 23 Aug 2016 03:22:15 +0000 (11:22 +0800)]
Merge branch 'feature/gitlab-ci' into 'master'

GitLab CI and sync with GitHub

This change adds GitLab CI support. Currently we pull latest version of esp-idf-template project from Github and try to compile it with esp-idf version in question.
Additional test steps will be added in the future.

This change also adds automatic push to GitHub for master branch only, if CI has passed.

To implement CI builds, I created a docker image, espressif/esp32-ci-env. I will make its Dockerfile available on Github as well.

See merge request !12

8 years agodocs: macOS update started guide
Ivan Grokhotkov [Tue, 23 Aug 2016 02:38:05 +0000 (10:38 +0800)]
docs: macOS update started guide

fix URL to use HTTPS
fix typo
mention that compiling toolchain is optional
mention how to find the serial port

8 years agodocs: add setup guide for macOS
Ivan Grokhotkov [Fri, 19 Aug 2016 06:47:25 +0000 (14:47 +0800)]
docs: add setup guide for macOS

8 years agogitlab-ci: push master to GitHub master on success
Ivan Grokhotkov [Mon, 22 Aug 2016 10:19:08 +0000 (18:19 +0800)]
gitlab-ci: push master to GitHub master on success

8 years agoesptool.py & Makefile: Fix compressed upload support (enabled by default)
Angus Gratton [Mon, 22 Aug 2016 10:43:47 +0000 (18:43 +0800)]
esptool.py & Makefile: Fix compressed upload support (enabled by default)

8 years agoesptool.py: Set higher baud rates on ESP32
Angus Gratton [Mon, 22 Aug 2016 10:31:44 +0000 (18:31 +0800)]
esptool.py: Set higher baud rates on ESP32

8 years agoMerge branch 'default_freq' into 'master'
Angus Gratton [Mon, 22 Aug 2016 09:38:00 +0000 (17:38 +0800)]
Merge branch 'default_freq' into 'master'

rtos: change XT_CLOCK_FREQ from 13MHz to 80MHz

Freq has been change to `80MHz` in system_init, otherwise system tick will not be accurate now.

Maybe we can config freq by menuconfig.

See merge request !8

8 years agogitlab-ci: initial version
Ivan Grokhotkov [Mon, 22 Aug 2016 07:02:22 +0000 (15:02 +0800)]
gitlab-ci: initial version

This change adds gitlab CI support. It tests if latest master of esp-idf-template can be built with the commit of ESP-IDF in question. Currently it's a bit lax because both SDK_PATH and IDF_PATH are defined.
This change also changes components/esp32/lib submodule to point to Github over HTTPS instead of SSH, because CI server might not have its SSH keys uploaded to Github.

8 years agoMerge branch 'bugfix/spurious_uninitialized_mux_notice' into 'master'
Jeroen Domburg [Mon, 22 Aug 2016 09:33:29 +0000 (17:33 +0800)]
Merge branch 'bugfix/spurious_uninitialized_mux_notice' into 'master'

Add static initializers for muxes, add mutex init to vPortCPUAcquireMutex

We still have some ERROR: vPortCPUAcquireMutex: mux 0x3ffc01cc is uninitialized (0x0)!  errors. I'd like to fix those by giving muxes as used in critical regions an initializer, so they can get initialized at program load. This is FreeRTOS core code, I'd like someone to review it before I commit it.

See merge request !10

8 years agoAdd C99-style named field in initialisation struct
Jeroen Domburg [Mon, 22 Aug 2016 09:45:46 +0000 (17:45 +0800)]
Add C99-style named field in initialisation struct

8 years agoOops, left in a debugging break.n. Removed.
Jeroen Domburg [Mon, 22 Aug 2016 09:41:55 +0000 (17:41 +0800)]
Oops, left in a debugging break.n. Removed.

8 years agoAdd static initializers for muxes, add mutex init to vPortCPUAcquireMutex
Jeroen Domburg [Mon, 22 Aug 2016 09:36:32 +0000 (17:36 +0800)]
Add static initializers for muxes, add mutex init to vPortCPUAcquireMutex

8 years agortos: change XT_CLOCK_FREQ from 13MHz to 80MHz
Wu Jian Gang [Mon, 22 Aug 2016 04:04:14 +0000 (12:04 +0800)]
rtos: change XT_CLOCK_FREQ from 13MHz to 80MHz

Freq has been change to 80MHz in system_init

8 years agoUse IDF_PATH instead of SDK_PATH for the environment variable pointing to esp-idf
Angus Gratton [Fri, 19 Aug 2016 06:32:35 +0000 (14:32 +0800)]
Use IDF_PATH instead of SDK_PATH for the environment variable pointing to esp-idf

This will require a matching change in all projects using ESP-IDF.

8 years agoStandardise remaining uses of SDK to ESP-IDF
Angus Gratton [Fri, 19 Aug 2016 06:30:39 +0000 (14:30 +0800)]
Standardise remaining uses of SDK to ESP-IDF

8 years agoMake: Add some "magic" to try and pull git submodules if missing
Angus Gratton [Fri, 19 Aug 2016 06:20:28 +0000 (14:20 +0800)]
Make: Add some "magic" to try and pull git submodules if missing

8 years agoWindows-setup: Remove direct download option as it doesn't work
Angus Gratton [Fri, 19 Aug 2016 06:08:11 +0000 (14:08 +0800)]
Windows-setup: Remove direct download option as it doesn't work

8 years agoMerge branch 'ag_make_fixes' into 'master'
Angus Gratton [Fri, 19 Aug 2016 06:29:06 +0000 (14:29 +0800)]
Merge branch 'ag_make_fixes' into 'master'

8 years agoMakefile: bootloader-clean shouldn't clean config or partition table
Angus Gratton [Fri, 19 Aug 2016 04:16:06 +0000 (12:16 +0800)]
Makefile: bootloader-clean shouldn't clean config or partition table

Also don't build config for 'make help', and remove some redundant
clearing of variables.

8 years agomake: 'make all' default target builds everything, 'make flash' flashes everything
Angus Gratton [Thu, 18 Aug 2016 09:11:27 +0000 (17:11 +0800)]
make: 'make all' default target builds everything, 'make flash' flashes everything

Also added 'make help' target which prints some useful usage summary.

8 years agoMove details about partition tables to their own ReST doc in docs/
Angus Gratton [Thu, 18 Aug 2016 09:46:34 +0000 (17:46 +0800)]
Move details about partition tables to their own ReST doc in docs/

8 years agoFix 'make bootloader' not printing instructions
Angus Gratton [Thu, 18 Aug 2016 08:59:38 +0000 (16:59 +0800)]
Fix 'make bootloader' not printing instructions

8 years agoFix documentation errors/typos
Angus Gratton [Thu, 18 Aug 2016 04:41:47 +0000 (12:41 +0800)]
Fix documentation errors/typos

8 years agoFix gen_esp32part.py locations & documentation (thanks @wujiangang\!)
Angus Gratton [Thu, 18 Aug 2016 04:38:51 +0000 (12:38 +0800)]
Fix gen_esp32part.py locations & documentation (thanks @wujiangang\!)

8 years agoMake: Fix make bootloader, make bootloader-flash, cleaning of bootloader
Angus Gratton [Thu, 18 Aug 2016 04:36:15 +0000 (12:36 +0800)]
Make: Fix make bootloader, make bootloader-flash, cleaning of bootloader

Should resolve TW6610

8 years agoInitial public version
Ivan Grokhotkov [Wed, 17 Aug 2016 15:08:22 +0000 (23:08 +0800)]
Initial public version