Angus Gratton
ea4005e673
Merge branch 'feature/esptool_secure_boot' into 'master'
...
Secure boot support
Also includes a lot of esptool.py changes (two new command line tools, espefuse.py and espsecure.py)
https://github.com/themadinventor/esptool/compare/feature/esp32_v20_refactor...feature/esp32_secure_boot?expand=1
See merge request !163
2016-11-14 11:32:04 +08:00
Angus Gratton
09c7ccfa2c
bootloader: Fix unused variable errors when secure boot is disabled
2016-11-14 14:22:37 +11:00
Angus Gratton
0b4fe9dd6d
secure boot: Add warnings this feature is not finished yet
2016-11-14 14:22:36 +11:00
Angus Gratton
8691b54758
secure boot: Rename efuse option for UART bootloader to option for ROM interpreter
2016-11-14 11:08:42 +11:00
Angus Gratton
bcdebda8e4
Build system: Don't shell-quote SEPARATOR variable or it evaluates as a bunch of wildcards!
2016-11-14 11:08:42 +11:00
Angus Gratton
e459f803da
secure boot: Functional partition table & app signature verification
2016-11-14 11:08:42 +11:00
Angus Gratton
fe66dd85f0
secure boot: Enable based on sdkconfig, remove "secure boot flag" from binary image
2016-11-14 11:08:42 +11:00
Angus Gratton
64f3893cb9
secure boot: Derive secure bootloader key from private key
...
Means only one key needs to be managed.
2016-11-14 11:08:42 +11:00
Angus Gratton
b5de581399
Secure boot: initial image signature support
2016-11-14 11:08:42 +11:00
Angus Gratton
341593f7d2
build system: Remove need for $(Q) macro in recipes, use --silent in MAKEFLAGS instead
2016-11-11 12:32:47 +11:00
Angus Gratton
208e83def7
build system: Refactor component.mk to not need component_common.mk
...
New makefile component_wrapper.mk allows some variables to be set
before component.mk is evaluated. This properly fixes problems with
sdkconfig being hard to access in all phases of the build.
Including component_common.mk is no longer necessary and will print a
deprecation warning for components which use it.
2016-11-10 15:52:22 +11:00
Angus Gratton
155f912433
build system: Don't build an sdkconfig for bootloader, share the top-level one
...
This works because all CONFIG variables are exported into child make processes.
2016-11-09 16:51:52 +11:00
Angus Gratton
830e5caf4d
build system: Replace get_variable target w/ component_project_vars.mk generated makefiles
...
Reduces number of make invocations, allows variables exported in project
to be seen in all component make processes, not just the main ones.
Also makes a no-op build about 3x faster than it was.
2016-11-09 16:51:52 +11:00
Angus Gratton
c5793521a0
build system: Fix bootloader-flash target
...
ESP32 forum thread: http://esp32.com/viewtopic.php?f=2&t=407&p=1902#p1902
2016-11-08 20:17:08 +08:00
Angus Gratton
98a0387854
bootloader_support: Move secure boot code to bootloader_support
2016-11-08 11:13:54 +11:00
Ivan Grokhotkov
2fa00ebd90
ld scripts: fix overlap between bootloader and application IRAM ranges
2016-11-04 12:18:57 +08:00
Angus Gratton
aceb6517c0
Refactor existing bootloader common functionality into bootloader_support component
2016-11-02 17:58:41 +11:00
Angus Gratton
04beb8baba
Add documentation for bootloader secure boot stage
2016-11-02 10:41:59 +11:00
Angus Gratton
4ba1b73eba
build system: Add espefuse/espsecure support for secure boot
2016-11-02 10:41:59 +11:00
Angus Gratton
f10cc7dc8e
bootloader: Refactor secure boot digest generation
2016-11-02 10:41:59 +11:00
Ivan Grokhotkov
628bde2080
bootloader: move useful structures to esp32 component
2016-10-27 17:57:29 +08:00
Angus Gratton
1413ec3ff0
Remove SPIUnlock from linker script symbols
...
Add a comment about why it was removed and where it went.
2016-10-21 17:50:37 +11:00
Angus Gratton
f37e70ebd6
Bootloader: Export IS_BOOTLOADER_BUILD during make process
2016-10-21 17:50:37 +11:00
Ivan Grokhotkov
42827ff869
bootloader, menuconfig: add flash size setting support
2016-10-21 15:27:25 +11:00
Angus Gratton
90cad92b9b
Merge branch 'master' into bugfix/build_dir_base
2016-10-18 15:30:57 +11:00
Angus Gratton
c12582c122
bootloader: Fix accidental tabs introduced in !78
2016-10-11 07:56:08 +11:00
Angus Gratton
305bc9fd9c
build system: Run parallel builds without warnings
...
Ref github #38
2016-10-06 18:29:34 +11:00
Angus Gratton
f720e82d40
build system: Allow BUILD_DIR_BASE to be a relative directory (see github #38 )
2016-10-06 18:05:51 +11:00
Angus Gratton
477d71e589
config system: Fix configuration when BUILD_DIR_BASE out-of-tree
...
Ref #38 . Also no longer generates bootloader sdkconfig in source tree.
2016-10-04 15:38:20 +11:00
Angus Gratton
66882347e8
build system: Fix out-of-tree building via BUILD_DIR_BASE
...
Closes #38
2016-10-04 15:04:56 +11:00
Angus Gratton
7c494055e3
esp32: Bootloader wake deep sleep stub
...
App can contain a stub program resident in RTC fast memory. Bootloader
will load the stub on initial boot. If the device wakes from deep sleep,
the stub is run immediately (before any other data is loaded, etc.)
To implement a custom wake stub, implement a function in your program:
```
void RTC_IRAM_ATTR esp_wake_deep_sleep(void)
{
esp_default_wake_deep_sleep();
// other wake logic
}
```
... and it will replace the default implementation.
2016-09-28 11:14:58 +08:00
Ivan Grokhotkov
dcf34b1be1
bootloader: remove trailing newlines from log messages
2016-09-20 14:18:23 +08:00
Ivan Grokhotkov
69278b28bf
components/log: fix bugs, add options to override log level for files, components, and bootloader
2016-09-18 20:24:31 +08:00
Ivan Grokhotkov
b0683b0bb4
components/esp32,bootloader: fix build
...
esp32: use new register name in cpu_start
bootloader: EXTRA_CFLAGS don't work any more, set global CFLAGS in Makefile.projbuild
2016-09-15 02:37:54 +08:00
Ivan Grokhotkov
cf22e4445a
Merge branch 'master' into feature/logging
...
* master: (45 commits)
esp32/lib: update to 1303c92c
dhcpserver: Fix crash when switching wifi mode
mbedtls: Temporarily disable default hardware crypto SHA & bignum
mbedtls hwcrypto sha512: Fix redirection of function names
mbedtls upstream tweak: Move mbedtls_sha512_process in sha512.h
Format code by using 4 spaces instead
modify character conversion error and typo
modify i2s_reg.h, rebase to master
Only modify headers in soc/ . Pass compiling under esp-idf-tests/merge_soc_tmp/merge_for_soc_headers branch.(only change some names of register and INUM).
Rename vender_ie_type_t and vendor_ie_id_t to wifi_vendor_ie_type_t and wifi_vendor_ie_id_t respectively
modify arguments for vendor ie APIs by using enum instead
esp32: fix typo
esp32: fix kconfig
define lwip task priority in esp_task.h
components: esp32 - fix build error
components: lwip - Modify lwip task priority and stack definition method
components: esp32
components: esp32
components: esp32/lwip
task priority: modify lwip/wifi/event task priority
...
# Conflicts:
# components/bootloader/src/main/bootloader_start.c
# components/bootloader/src/main/flash_encrypt.c
# components/bootloader/src/main/secure_boot.c
# components/esp32/cpu_start.c
2016-09-15 02:15:50 +08:00
Ivan Grokhotkov
0290a34b55
components/esp32: clean up cpu_start
...
Move CPU region protection setup into soc/cpu.h
change tabs to spaces
remove unused extern declarations
use RTC_WDTCONFIG0 instead of numeric address (still need to fix BB reg)
2016-09-15 02:03:55 +08:00
Ivan Grokhotkov
716cec5ded
components/log: add implementation, update a few components to use it
...
This also removes logging implementation from bootloader and replaces it
with the one provided by the log component. Some occurrences of printf
and ets_printf have been changed to ESP_LOGx APIs.
2016-09-15 00:53:33 +08:00
Wu Jian Gang
2efaf42253
Merge remote-tracking branch 'origin/feature/mbedtls'
2016-09-14 18:05:56 +08:00
Wangjialin
41d397cf3f
Only modify headers in soc/ .
...
Pass compiling under esp-idf-tests/merge_soc_tmp/merge_for_soc_headers branch.(only change some names of register and INUM).
2016-09-14 13:47:28 +08:00
Wu Jian Gang
b56098a612
Merge remote-tracking branch 'origin/master' into feature/mbedtls
2016-09-13 16:31:48 +08:00
Angus Gratton
3061ae40c0
bootloader: Add bootloader Kconfig
...
Allow debug level & colour highlighting to be configured
2016-09-13 14:18:17 +10:00
jack
24011ddd05
header files: modify rom code and soc header files
...
1. timer reg file for both time group 0 and time group 1, not only timer group 0
2. fix bug that io mux header file mismatch with chip
3. fix bug that some BASE address not correct
4. add some static function to eagle.fpga32.rom.addr.v7.ld
5. add interrupts usage table
6. add some comments for rom code functions
2016-09-12 17:47:49 +08:00
Angus Gratton
7c58c1e06b
Build system: Allow components to add to the global CFLAGS via Makefile.projbuild
...
Used by mbedTLS to set MBEDTLS_CONFIG_FILE in all components.
This change sets CFLAGS/etc at the project level and then exports those
variables for components, rather than setting them independently each time
a component Makefile is invoked.
2016-09-09 11:08:19 +10:00
Angus Gratton
3b1c3dab4b
Name component makefiles component.mk instead of Makefile
...
Fixes problems with Eclipse trying to build in directories it shouldn't.
This is a breaking change for existing repositories, they need to rename
any component Makefiles to component.mk and rename their references to
$(IDF_PATH)/make/component.mk to $(IDF_PATH)/make/component_common.mk
2016-09-08 13:41:19 +10:00
Wu Jian Gang
f4b3820ecd
Merge branch 'feature/ld_change' into 'master'
...
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
2016-08-25 15:52:11 +08:00
Wu Jian Gang
c72248193b
ld: fix ld for bootloader
2016-08-25 11:35:06 +08:00
Ivan Grokhotkov
842bc53549
Merge branch 'bugfix/dualcore_startup' into 'master'
...
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
2016-08-25 11:07:21 +08:00
Ivan Grokhotkov
4d1084120c
components/bootloader: fix enabling cache for APP CPU
...
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.
2016-08-24 16:25:04 +08:00
Angus Gratton
a278c51d3e
Make: Building the bootloader depends on syncing its sdkconfig from the top-level project
2016-08-24 13:25:06 +08:00
Angus Gratton
1fd22c5748
make bootloader: Always recurse into bootloader directory to check source dependencies
2016-08-24 13:25:06 +08:00
Angus Gratton
aa4c31f3b0
esptool.py & Makefile: Fix compressed upload support (enabled by default)
2016-08-22 18:44:46 +08:00
Angus Gratton
f853f94335
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.
2016-08-19 15:01:49 +08:00
Angus Gratton
9ec0e1545d
Standardise remaining uses of SDK to ESP-IDF
2016-08-19 15:01:15 +08:00
Angus Gratton
b0f530d004
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.
2016-08-19 14:04:51 +08:00
Angus Gratton
14eb490bb3
make: 'make all' default target builds everything, 'make flash' flashes everything
...
Also added 'make help' target which prints some useful usage summary.
2016-08-18 21:42:37 +08:00
Angus Gratton
9552b0e6f0
Fix 'make bootloader' not printing instructions
2016-08-18 21:42:37 +08:00
Angus Gratton
45d1baa24b
Make: Fix make bootloader, make bootloader-flash, cleaning of bootloader
...
Should resolve TW6610
2016-08-18 21:15:47 +08:00
Ivan Grokhotkov
bd6ea4393c
Initial public version
2016-08-17 23:08:22 +08:00