Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[nrf mergeup] Upmerge 2020 09 16 #120

Merged
merged 41 commits into from
Oct 6, 2020

Conversation

tejlmand
Copy link
Contributor

@tejlmand tejlmand commented Sep 16, 2020

galak and others added 30 commits April 30, 2020 10:59
…LER_LABEL

As upstream zephyr is phasing out DT_FLASH defines for non-partition
usage replace DT_FLASH_DEV_NAME with
DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
As the DT define DT_JEDEC_SPI_NOR_0_LABEL is intended to be deprecated
move to the new macro style to determine for DT_JEDEC_SPI_NOR_0_LABEL

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This reverts commit 8cd5dc5.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
…cros""

This reverts commit 39d1aef.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Synchronize up to

mcu-tools/mcuboot@82c5f7
which is same as v1.6.0-rc2 tag.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
As we replace the legacy DT_FLASH_ support use the new FLASH_AREA_
macros.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Use the new FLASH_AREA_ macros.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Fixup how we fake out devicetree.h, which is now really the flash map
API for what mcuboot is using.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Update CONFIG_FLOAT to CONFIG_FPU which has been renamed in zephyr.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Using find_package to locate Zephyr.

Old behavior was to use $ENV{ZEPHYR_BASE} for inclusion of boiler plate
code.

Whenever an automatic run of CMake happend by the build system / IDE
then it was required that ZEPHYR_BASE was defined.
Using ZEPHYR_BASE only to locate the Zephyr package allows CMake to
cache the base variable and thus allowing subsequent invocation even
if ZEPHYR_BASE is not set in the environment.

It also removes the risk of strange build results if a user switchs
between different Zephyr based project folders and forgetting to reset
ZEPHYR_BASE before running ninja / make.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Convert to use C99 types as we intend to deprecate the zephyr
specific integer types.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This reverts commit b7254d1.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Synchronize up to:
mcu-tools/mcuboot@9b48d08

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Synchronize up to:
mcu-tools/mcuboot@33fbef5

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Align the code to the new UART callback signature, see:

zephyrproject-rtos/zephyr#26426

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Synchronize up to:
mcu-tools/mcuboot@1cb076c

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Synchronize up to:
mcu-tools/mcuboot@5a6e181

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Change whitelist->allow to be compatible with sanitycheck in zephyr.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Fix author email after move to new mailing list.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
Follows up the change added to Zephyr with:

zephyrproject-rtos/zephyr#24873

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
Change fixes build issue that occurs if CONF_FILE contains multiple
file paths instead of single file path.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
…les"

This reverts commit 50eec26.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit 1ba3acd.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit 356dd40.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit 69c5483.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit b3e100b.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit 32882a0.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit 26d7f5e.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This reverts commit af7a7ca.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Regular upmerge.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
@NordicBuilder
Copy link

NordicBuilder commented Sep 16, 2020

All checks are passing now.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

@@ -262,6 +262,8 @@ if(NOT CONFIG_BOOT_SIGNATURE_KEY_FILE STREQUAL "")
${KEY_FILE}
)

message("MCUBoot bootloader key file: ${KEY_FILE}")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like improper conflict resolution, this line is originally placed in line 256.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

@nvlsianpu nvlsianpu changed the title Upmerge 2020 09 16 [nrf mergeup] Upmerge 2020 09 16 Sep 16, 2020
SebastianBoe and others added 7 commits September 16, 2020 14:21
Partition Manager is an nRF Connect SDK component which uses yaml
files to resolve flash partition placement with a holistic view of the
device.

This component's MCUboot portions began life as upstream mcuboot
PR#430. This added support for being built as a sub image from the
downstream Nordic patch set for a zephyr multi image build
system (mcuboot 430 was combined with effor submitted to upstream
zephyr as PR#13672, which was ultimately reworked after being rejected
for mainline at the ELCE 2019 conference in Lyon).

It has since evolved over time. This is the version that will go into
NCS v1.3. It features:

- page size aligned partitions for all partitions used by mcuboot.
- image swaps without scratch partitions

Additional notes:

- we make update.hex without trailer data

  This is needed for serial recovery to work using hex files.
  Prior to this the update.hex got TLV data at the end of the
  partition, which caused many blank pages to be included,
  which made it hard to use in a serial recovery scheme.

  Instead, make update.hex without TLV data at the end,
  and provide a new file test_update.hex which contains
  the TLV data, and can be directly flashed to test the
  upgrade procedure.

- we use a function for signing the application as future-proofing
  for when other components must be signed as well

Add support for configurations where there exists two primary slots
but only one secondary slot, which is shared. These two primary slots
are the regular application and B1. B1 can be either S0 or S1
depending on the state of the device.

Decide where an upgrade should be stored by looking at the vector
table.

Additional notes:

- In NCS, image 1 primary slot is the upgrade bank for mcuboot (IE S0 or
  S1 depending on the active slot). It is not required that this slot
  contains any valid data.

- The nRF boards all have a single flash page size, and partition
  manager deals with the size of the update partitions and so on, so we
  must skip a boot_slots_compatible() check to avoid getting an error.

- There is no need to verify the target when using partition manager.

Provide update candidates for both s0 and s1.
These candidates must be signed with mcuboot after being signed
by b0.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Signed-off-by: Sigvart Hovland <sigvart.m@gmail.com>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
(cherry picked from commit 395c344)
(cherry picked from commit 35a247e)
(cherry picked from commit c4b86da)
(cherry picked from commit af7a7ca)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This to enable the secure boot property of the system.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Signed-off-by: Sigvart Hovland <sigvart.hovland@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit b90966e)
(cherry picked from commit 7a4bffa)
(cherry picked from commit 26d7f5e)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This is necessary to keep the NCS build system able to access this
value, which it needs to do since it calls imgtool manually, but
cannot access DT values via Kconfig by default anymore following the
removal of devicetree.conf.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 0597378)
(cherry picked from commit 78f7a9e)
(cherry picked from commit 32882a0)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This is update to single image application that enables support for
partition manager.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 97c92cd)
(cherry picked from commit b3e100b)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The FLASH_AREA_IMAGE_SCRATCH redefinition has been introduced with
commit:
97c92cd

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit c54c728)
(cherry picked from commit 69c5483)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
When single image DFU is used scratch is not needed.

Signed-off-by: Pawel Dunaj <pawel.dunaj@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 51978c9)
(cherry picked from commit 356dd40)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Do some cleanup on NRF peripheral.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit dc9464d)
(cherry picked from commit 8f5336f)
(cherry picked from commit 1ba3acd)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Missing const on pointers to device structures caused compilation
warnings when compiling bootloader with serial recovery enabled.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
@tejlmand tejlmand force-pushed the upmerge_2020_09_16 branch from ce17073 to 9bf6927 Compare October 1, 2020 10:11
to avoid causing stack overflow in the image being booted.

PR: mcu-tools/mcuboot#824

Ref: NCSDK-6530

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
Cherry-picked from: mcu-tools/mcuboot#828

Some Zephyr boards enable HW stack protection by default, which
propagates in mcuboot build. Bootloader works fine with that option, but
the problem arises when we jump to application code. HW stack protection
catches application code during early init, which results in
"unresponsive" application.

Disable HW stack protection, so it doesn't make any harm for application
code.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
(cherry picked from commit ec5519259d0a8d5e7ef1db8d1d02b8bd4136d413)
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
@mbolivar-nordic mbolivar-nordic merged commit ec441e0 into nrfconnect:master Oct 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.