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

Reorganize SoftDevices for NRF52 series #6826

Merged
merged 2 commits into from May 21, 2018

Conversation

Projects
None yet
6 participants
@marcuschangarm
Contributor

marcuschangarm commented May 6, 2018

Description

New directory structure:

  • TARGET_SOFTDEVICE_COMMON
  • TARGET_SOFTDEVICE_S112
  • TARGET_SOFTDEVICE_S132_FULL (MBR + SoftDevice, default)
  • TARGET_SOFTDEVICE_S132_OTA (SoftDevice only, for firmware updates)
  • TARGET_SOFTDEVICE_S132_MBR (MBR only, for bootloader builds)
  • TARGET_SOFTDEVICE_S140_FULL (MBR + SoftDevice, default)
  • TARGET_SOFTDEVICE_S140_OTA (SoftDevice only, for firmware updates)
  • TARGET_SOFTDEVICE_S140_MBR (MBR only, for bootloader builds)
  • TARGET_SOFTDEVICE_NONE

The X_OTA and X_MBR binaries are obtained from the original x_FULL SoftDevice
by splitting it in an MBR part and a SoftDevice part. The MBR is needed for
the bootloader and the SoftDevice for firmware updates.

Build application without SoftDevice:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_NONE"]
      }
  }

Build application for firmware update using SoftDevice X:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_X_OTA"]
      }
  }

Build bootloader without SoftDevice X:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_X_MBR"]
      }
  }

Pull request type

[ ] Fix
[x] Refactor
[ ] New target
[ ] Feature
[x] Breaking change

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from b42d4d4 to 759e09b May 7, 2018

@0xc0170 0xc0170 requested a review from donatieng May 7, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented May 7, 2018

@marcuschangarm How this breaks the current apps? Can it be made backward compatible ?

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 7, 2018

Its not more breaking than the 5.9 stuff we've been doing! 😄
Just wanted to make sure it got tagged correctly.

@cmonr

This comment has been minimized.

Contributor

cmonr commented May 7, 2018

There sure are a bunch of new hex files and bootloaders. Would it be possible to comment in the commit message as to how they were generated?

@cmonr

This comment has been minimized.

Contributor

cmonr commented May 7, 2018

Build application without SoftDevice:

Shouldn't this be the default action for Nordic devices instead of needing to explicity add it to target_overrides?

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from 759e09b to 0c77c0c May 8, 2018

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 8, 2018

Added:

The x_OTA and x_MBR binaries are obtained from the original x_FULL SoftDevice
by splitting it in an MBR part and a SoftDevice part. The MBR is needed for
the bootloader and the SoftDevice for firmware updates.
@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 8, 2018

Build application without SoftDevice:

Shouldn't this be the default action for Nordic devices instead of needing to explicity add it to target_overrides?

That would be a deviation from what we have done since the first NRF51.

@cmonr

This comment has been minimized.

Contributor

cmonr commented May 8, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 8, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented May 8, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 8, 2018

@studavekar

This comment has been minimized.

Collaborator

studavekar commented May 8, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 8, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented May 8, 2018

Looks like something different went wrong with the CI.

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from 0c77c0c to cdf9b66 May 9, 2018

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 9, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 9, 2018

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from cdf9b66 to 0477521 May 10, 2018

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 10, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 10, 2018

Build : SUCCESS

Build number : 1973
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/6826/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 14, 2018

@donatieng

any chance you could add a README explaining how you split up the MBR/Softdevice?

Sure, I literally just copy pasted it in an intel hex editor.

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 14, 2018

@0xc0170

Note, with all these updates, we need to make sure the release notes contain sufficient details for these changes (how nrf52 update from the current minor release to the one that this is in - as there are quite changes and won't be that trivial, will it?).

I can collect a list with changes. The major changes have been to things that didn't work correctly to begin or to people that for some reason have linked directly to files in the SDK.

@marcuschangarm marcuschangarm dismissed stale reviews from 0xc0170 and cmonr via 388cd53 May 16, 2018

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from 19f11d1 to 388cd53 May 16, 2018

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 16, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 16, 2018

Build : SUCCESS

Build number : 2032
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/6826/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 16, 2018

/morph test
/morph export-build

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 16, 2018

/morph test

@mbed-ci

This comment has been minimized.

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 17, 2018

/morph test

@mbed-ci

This comment has been minimized.

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from 388cd53 to dbd65af May 17, 2018

Add NRF52 support for building bootloader and updateable firmware
New directory structure:

 * TARGET_SOFTDEVICE_COMMON
 * TARGET_SOFTDEVICE_S112
 * TARGET_SOFTDEVICE_S132_FULL (MBR + SoftDevice, default)
 * TARGET_SOFTDEVICE_S132_OTA (SoftDevice only, for firmware updates)
 * TARGET_SOFTDEVICE_S132_MBR (MBR only, for bootloader builds)
 * TARGET_SOFTDEVICE_S140_FULL (MBR + SoftDevice, default)
 * TARGET_SOFTDEVICE_S140_OTA (SoftDevice only, for firmware updates)
 * TARGET_SOFTDEVICE_S140_MBR (MBR only, for bootloader builds)
 * TARGET_SOFTDEVICE_NONE

The X_OTA and X_MBR binaries are obtained from the original x_FULL SoftDevice
by splitting it in an MBR part and a SoftDevice part. The MBR is needed for
the bootloader and the SoftDevice for firmware updates.

Build application without SoftDevice:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_NONE"]
      }
  }

Build application for firmware update using SoftDevice X:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_X_OTA"]
      }
  }

Build bootloader without SoftDevice X:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_X_MBR"]
      }
  }

@marcuschangarm marcuschangarm force-pushed the marcuschangarm:feature-ota branch from dbd65af to ef9bc9c May 17, 2018

@marcuschangarm

This comment has been minimized.

Contributor

marcuschangarm commented May 17, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented May 17, 2018

Build : SUCCESS

Build number : 2058
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/6826/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@cmonr

This comment has been minimized.

Contributor

cmonr commented May 18, 2018

/morph test
/morph export-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@cmonr cmonr removed the ready for merge label May 21, 2018

@cmonr cmonr merged commit 2fa6cb5 into ARMmbed:master May 21, 2018

13 checks passed

AWS-CI uVisor Build & Test Success
Details
ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
travis-ci/astyle Passed, 845 warnings (+0 warnings)
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 9571 cycles (+609 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/littlefs Passed, code size is 9964B (+0.00%)
Details
travis-ci/tools Local tools testing has passed
Details

@marcuschangarm marcuschangarm deleted the marcuschangarm:feature-ota branch May 25, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment