Skip to content
Failed

Changes

Summary

  1. gitgnore (details)
  2. clang-format (details)
  3. tame the linter (details)
  4. linker scripts: add bl size, fix ram size to 19a part (details)
  5. bl updater app (details)
  6. errata 2.6.10 (details)
  7. contrib: add nvm urow parser ipynb (details)
  8. add fw update crcstub (details)
Commit ee4fe05cf91033689914b763af589c74dc8487f3 by ewild
gitgnore

Change-Id: I95af162a01fb35656e0f9ccc9ce46b59a15c8c34
The file was modified.gitignore
Commit 943253f6cb85173ad192defaa038672596b982bf by ewild
clang-format

pre commit hook -> .git/hooks/pre-commit

Change-Id: I9768bc2590ca5306ee19d3276f0953c6b0b6f926
The file was addedcontrib/pre-commit-hook
The file was added.clang-format
Commit f86be64212f285a231ed68fba705f63852bd2eb0 by ewild
tame the linter

Change-Id: I745b741dedf2c2ed5679c289e70adcb01c750e4d
The file was added.checkpatch.conf
Commit 32cc0d743f168a2082a239997766ddea9042908f by ewild
linker scripts: add bl size, fix ram size to 19a part

Change-Id: Ic2da201b8f95855d05e15ac6ac8461e434593760
The file was modifiedgcc/gcc/same54p20a_flash.ld
The file was addedgcc/gcc/blsize.ld
The file was modifiedgcc/gcc/same54p20a_sram.ld
The file was addedgcc/gcc/same54p20a_dfu.ld
Commit 4127315e24977dfb7a88ac70a78f3472ff1b56aa by ewild
bl updater app

This builds a second binary that will be flashed like the main firmware
and will then update the bootloader, just like the st2. It additionaly
aligns the cmsis + config with the main app, and ensures the hw is
mostly completely initalized before the main app starts, which allows
skipping the init in the main fw.

Main changes:
* bl freq 12/48Mhz -> 120Mhz
* ext 32khz disabled
* "proper" init time for xosc
* no usb init unless DFU mode is actually used
* errata 2.13.1 clock init/lock fixups
* no guessing according to f++&%! bootprog flags where the main app is

Change-Id: I1403d35497cdea41ea5bed2c94b9e729ca352772
The file was modifiedconfig/hpl_gclk_config.h
The file was addedhpl/sercom/hpl_sercom.c
The file was modifiedusb_start.c
The file was modifiedgcc/Makefile
The file was modifiedusb_dfu_main.c
The file was addedCMSIS/Include/cmsis_version.h
The file was modifiedgcc/system_same54.c
The file was modifiedhpl/core/hpl_core_m4.c
The file was modifiedconfig/hpl_cmcc_config.h
The file was addedconfig/hpl_rtc_config.h
The file was modifiedatmel_start_pins.h
The file was modifiedconfig/peripheral_clk_config.h
The file was modifiedconfig/hpl_osc32kctrl_config.h
The file was addedconfig/hpl_sercom_config.h
The file was modifiedconfig/hpl_oscctrl_config.h
The file was addedusb_flash_main.c
The file was modifiedhpl/oscctrl/hpl_oscctrl.c
The file was modifiedatmel_start.c
Commit 81b8687a0c8ad3b22eadcba83a455dd154bb4a41 by ewild
errata 2.6.10

set wdt urow bits to ensure nvm cache is clear

Change-Id: Ifbc6a3dfe91462029fce50ed42f20440debaa552
The file was modifiedgcc/gcc/startup_same54.c
The file was modifiedhpl/nvmctrl/hpl_nvmctrl.c
The file was modifiedusb_flash_main.c
Commit 6ac5fd9b4e15d1e3d7cead577356528d94cbaa75 by ewild
contrib: add nvm urow parser ipynb

Useful when dealing with the urow bits for wdt, bootprot, ..

Change-Id: I588838d7c33be24636e00cec65c3b485a486f747
The file was addedcontrib/same54_urow.ipynb
Commit aaec87347849715449edfa06ddf47e996fd6c0ca by ewild
add fw update crcstub

Adds a crc stub that lives in front of the dfu bl updater app and checks
it.

The whole process is somewhat complicated to ensure we end up not just
with
a firmware file that contains the right crc for the right offsets, but
the elf
file is updated as well, to ensure the result is debuggable as-is.

The stub is built as part of the firmware code, and ends up in its own
section.
Linker script padding and alignment ensures that this works.

Change-Id: I39eae7aaafd5531db6ce48837c9499432caadbed
The file was modifiedgcc/gcc/same54p20a_dfu.ld
The file was modifiedgcc/gcc/same54p20a_flash.ld
The file was modifiedusb_start.c
The file was modifiedgcc/Makefile
The file was modifiedusb_flash_main.c
The file was addedcrc_code.c
The file was addedcrc_params.c
The file was modifiedgcc/gcc/startup_same54.c
The file was modifiedusb_dfu_main.c