Skip to content

Add MCUBoot support for FRDM-K64F board#7181

Closed
kYc0o wants to merge 10 commits intoRIOT-OS:masterfrom
kYc0o:mcuboot_frdm-k64f_ldscripts
Closed

Add MCUBoot support for FRDM-K64F board#7181
kYc0o wants to merge 10 commits intoRIOT-OS:masterfrom
kYc0o:mcuboot_frdm-k64f_ldscripts

Conversation

@kYc0o
Copy link
Copy Markdown
Contributor

@kYc0o kYc0o commented Jun 13, 2017

"MCUBoot is a secure bootloader for 32-bit MCUs. The goal of MCUBoot is to define a common infrastructure for the bootloader, system flash layout on microcontroller systems, and to provide a secure bootloader that enables easy software upgrade."[1]

This PR aims to add support for MCUBoot using the FRDM-K64F board.

The goal is to produce an ELF file specifically linked to take into account the allowed space for MCUBoot. This ELF file is then converted to binary, in order to add headers, hashes and signatures required by the bootloader.

The process mentioned above for the binary file is done by the imgtool.py script which is added in the dis/tools directory. This script is maintained by MCUBoot and I will update the script according to the changes upstream.

A new target mcuboot needs to be called to generate automatically such binary, which can be flashed by calling make mcuboot flash. In order to make the program work, MCUBoot needs also to be flashed into the device. This can be done through mynewt or zephyr by following the instructions on the MCUBoot repository.

This is the first step towards MCUBoot full integration with RIOT, which should come soon.

This PR is based on #6986 to include last changes which will be done for the FRDM-K64F platform.

[1] https://github.com/runtimeco/mcuboot

Joakim Nohlgård and others added 2 commits June 13, 2017 15:01
The clock setting on this board depends on the existence of an external
RMII crystal, which is not mandatory for the CPU itself.
@kYc0o kYc0o added Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Jun 13, 2017
@kYc0o kYc0o added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jun 13, 2017
@kYc0o kYc0o force-pushed the mcuboot_frdm-k64f_ldscripts branch from 910438b to 5848cc8 Compare June 13, 2017 21:21
@kYc0o kYc0o force-pushed the mcuboot_frdm-k64f_ldscripts branch from 5848cc8 to a9e82c9 Compare June 13, 2017 21:57
@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 13, 2017

@kaspar030 I added a test application for this PR but it seems that Murdock always builds using make all. What I need is to force a make mcuboot, which I thought would work with the default: mcuboot rule in the Makefile. Any suggestions to trigger the correct build?

@kYc0o kYc0o added the State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet label Jun 22, 2017
@kYc0o kYc0o removed this from the Release 2017.10 milestone Oct 16, 2017
@kYc0o kYc0o mentioned this pull request Oct 29, 2017
8 tasks
@kYc0o kYc0o removed the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Sep 21, 2018
@stale
Copy link
Copy Markdown

stale bot commented Aug 10, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Aug 10, 2019
@stale stale bot closed this Sep 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Platform: ARM Platform: This PR/issue effects ARM-based platforms State: stale State: The issue / PR has no activity for >185 days State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants