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

Adds support for nrf5340-DK board (application and networking core) #302

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rkudaj
Copy link

@rkudaj rkudaj commented May 23, 2023

Pull request contains three segger studio projects for dual-core nrf5340_DK board:

  • mbr project that builds mbr file which is a replacement for original nordic sdk mbr.hex for other microcontrollers
  • application core bootloader project,
  • networking core bootloader project.
    Bootloader settings and configuration sections are currently deactivated in this pull request.

Application bootloader is almost the same as for other previous micros, it implements additional mechanizm which
basing on uf2 block address decides whether its destination is application core flash or networking core flash.
In case it is networking core flash it copies data into allocated RAM area (shared with networking core) and sends request
to networking core to write it under proper address. When all blocks are flashed application core sends request to
networking core to start execution of newely received firmware.

Building and flashing sequence:

  • connect USB cable to nrf USB on nrf5340 board and to PC
  • build all segger projects: MBR project, application core bootloader project, networking core bootloader project
  • erase FLASH memory on both cores:
    nrfjprog --recover --coprocessor CP_NETWORK; nrfjprog --recover
  • flash networking core bootloader (F5 and disconnect)
  • flash MBR (F5 and disconnect)
  • flash application core bootloader (F5 and disconnect)
  • press and hold button 1 on the board
  • press reset button

Mass storage device should show up on PC.
All bootloaders should be now ready for receiving firmware (diodes LED 1 and 2 should go on).
Drag and drop binaries, example: blinky_nrf5340_app_zephyr_0x1000_2Hz.uf2 (located in uf2binaries folder)

  • press and hold button 1 on the board again
  • press reset button

Bootloaders should be now ready again for receiving new firmware.
Drag and drop binaries, example: blinky_nrf5340_net_zephyr_0x01004000_05Hz.uf2

Both cores should start executing flashed firmware, diodes LED3 and LED 4 should be blinking, LED3 controlled by application core and LED4 by networking core.

NOTE: nrfx drivers updated to newest release nrfx 2.11.0 from Nordic repo.

@rkudaj rkudaj force-pushed the porting_to_nrf5430_dk_app_and_net_core branch from d3f8c60 to 0896b99 Compare June 2, 2023 11:18
@rkudaj rkudaj force-pushed the porting_to_nrf5430_dk_app_and_net_core branch from 0896b99 to ab13535 Compare June 5, 2023 07:38
@hathach
Copy link
Member

hathach commented Jul 20, 2023

sorry I was a bit busy recently, and this falled off my radar. I will try to review/test and update this as soon as I could. Thank you for your works and patient.

@lboue
Copy link

lboue commented Jan 14, 2024

@hathach Did you do the review/test?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants