37 Commits

Author SHA1 Message Date
kaczmarczyck
893faa5113 Ask contributors to go to develop (#677)
* Ask contributors to go to develop

* Enables CI on other branches
2024-01-15 14:57:58 +01:00
kaczmarczyck
e5ba9db644 Reworks workflows into script (#661)
* Reworks some workflows to run a script instead

Advantages are:
- Only one set of tests needs maintenance.
- Local results match workflows, no surprises.
- Reduced reliance on GitHub actions.

Fixes #50, #168, #169, #171, #507

* Adds macos to the test matrix
2023-11-08 17:24:15 +01:00
kaczmarczyck
778102712f venv for Python setup (#653)
* Python uses venv

* Small fixes to python calls
2023-11-07 05:13:21 +01:00
kaczmarczyck
645c1ba3a7 Vendor Command + HID fix (#618)
* Fixes CBOR message passing through Vendor HID

I did all my tests on hardware with this fix, and now I'm surprised that
it didn't end up on develop. So should have been part of a former PR.

* vendor channel test

* forward vendor HID correctly for upgrades

* fixes cargo fmt

* removes script and updates documentation to match
2023-04-26 14:59:22 +02:00
kaczmarczyck
3091b5a29d Moves vendor commands into TockEnv (#614)
This move changes the Env trait: It removes all functionality that is
used only in vendor commands (`FirmwareProtection`, `UpgradeStorage`)
and adds a function to call when parsing CBOR commands.

The abstraction necessary to test these commands is instead realized
through compile flags. The mock upgrade storage is active when compiled
for std for example.
2023-04-17 00:17:37 +02:00
kaczmarczyck
963549f9bb Removes nrfutil from default install (#595)
* remove nrfutil from the default install

* run CI Fuzz after merging, so changes are reflected
2023-02-13 17:49:29 +01:00
kaczmarczyck
a222986995 adds requirements.txt for setup (#591) 2023-02-08 11:36:01 +01:00
kaczmarczyck
598c21071e New metadata format (#539)
* new metadata format is used

* Update bootloader/src/main.rs

Co-authored-by: ztoked <zhalvorsen@google.com>

* splits the metadata signed and unsigned parts evenly

* fixes pylint

Co-authored-by: ztoked <zhalvorsen@google.com>
2022-08-31 14:35:45 +02:00
kaczmarczyck
4442998b64 Vendor HID for upgrades (#529)
* vendor-hid for upgrades

* empty argument fix

* same vendor-hid usage in both deploys

* forgot one board

* aaand also forgot the quotes
2022-08-17 10:29:26 +02:00
foopub
a9a67ae0d7 Provide openocd_cmd and add some documentation (#492)
* Provide openocd_cmd

* Add openocd instructions for dongle
2022-06-29 01:40:02 +02:00
kaczmarczyck
bf3d65dc79 roll back fuzzing install script, documentation instead (#439) 2022-03-08 03:09:48 +01:00
kaczmarczyck
187111f9c5 Bootloader infrastructure and main logic (#404)
* adds bootloader code without a SHA256 implementation

* small fixes and typos
2022-03-03 22:01:42 +01:00
kaczmarczyck
402b708ab9 fix broken link (#412) 2021-11-19 13:10:16 +01:00
kaczmarczyck
ae4e32ba4a New documentation for develop (#408)
* documentation refactoring

* documentation fixes

* distilled instructions for MDK

* remove deploy TODO after creating PR

* fixes typos
2021-11-18 16:57:58 +01:00
kaczmarczyck
9b780ef7d7 New boards with layouts for dual partition setups (#387)
* upgradable boards

* updates the install manual for proper SSL config

* storage locations from build script

* deploy script improvements

* UTC time
2021-10-06 18:33:40 +02:00
kaczmarczyck
596b47886c Upgrade signing key generation (#379)
* adds the upgrade signing key generation and the partition offset

* use openssl in build.rs instead
2021-09-15 21:25:19 +02:00
Jean-Michel Picod
c1f2551d0d Bump Tock kernel version (#374)
* Bump Tock kernel version

* Update boards to new kernel

* Update patches to new kernel

* Update PR template

* Bump libtock-rs

* Use new layout from libtock-rs

* Fix clippy warnings due to updated toolchain

* Fix new toolchain file format

* Bump elf2tab to v0.7.0

* Fix worklow and setup.sh script to use the TOML rust-toolchain file

* New libtock-rs style of declaring the stack.

* Fix padding in layout file.

The layout from libtock-rs generates invalid flash padding.
The value is 32-bit and therefore setting padding to 0xff yields
0xff000000 instead of 0xffffffff that we want.

* adds tock patch for app break hard fault

* sets in deploy, removed patch 04-mpu-fix

* fixed the if deploy

* fixes indentation

* updates board names in install.md

* fix docs and deploy style

Co-authored-by: Fabian Kaczmarczyck <kaczmarczyck@google.com>
Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
2021-09-10 08:32:34 +02:00
kaczmarczyck
ce0ee6c054 Kernel minimization (#334)
* adds patch to remove unused kernel components

* new boards, rebase patches to match

* rename boards for deployment
2021-06-28 14:55:20 +02:00
kaczmarczyck
c014d21ff8 adds README changes, logo and certificate (#285) 2021-02-11 19:53:45 +01:00
Geoffrey
a17ee39bb6 Add Feitian OpenSK USB Dongle (#257)
Co-authored-by: superskybird <skybird.le@gmail.com>
2021-01-14 12:10:42 +01:00
Jean-Michel Picod
7213c4ee99 Address first round of comments. 2020-12-16 18:22:15 +01:00
Jean-Michel Picod
a1854bb98a Update documentation 2020-12-16 18:22:15 +01:00
Guillaume Endignoux
780a5e6a0d More detailed installation instructions. 2020-04-14 16:19:48 +02:00
Jean-Michel Picod
e63482af1c Revamp deploy.py
Now the script supports more flashing methods:
- JLink (with tockloader)
- OpenOCD (with tockloader)
- pyOCD
- Nordic DFU
- none (will produce an IntelHex file)

Also merged the contributions from:
- Yihui Xiong to support the Makerdiary USB dongle board
- Dennis Geurts to support Nordic DFU

Doc updated accordingly.

Imported 2 patches for Tock kernel:
- 06-add-set_vector_table_offset.patch (upstream tock/tock#1579)
- 07-nrf52-bootloader.patch (upstream tock/tock#1681)
2020-03-11 17:54:37 +01:00
Fred Chien(錢逢祥)
c6665d9a25 Fixed incorrect command in documentation.
`ioreg -P USB` doesn't work, it should be `ioreg -p USB` to get usb list in Mac OS X.
2020-02-28 02:16:04 +08:00
Jean-Michel Picod
ca40818eb6 Fix markdownlint warnings 2020-02-24 19:21:12 +01:00
Jean-Michel
a5c0ea054d Document troubleshooting on OS X 2020-02-21 11:57:11 +01:00
Jean-Michel Picod
76aaea0333 Merge branch 'master' into gendx-patch-1 2020-02-19 16:16:03 +01:00
Jean-Michel Picod
1128a66e94 Fix typo 2020-02-19 15:43:13 +01:00
Jean-Michel Picod
5082e23e65 Revert a minor change 2020-02-19 15:22:27 +01:00
gendx
0bd7a97057 Fix review comments. 2020-02-19 14:21:08 +01:00
gendx
a0d3696e7d Add troobleshooting instructions. 2020-02-19 11:38:13 +01:00
Jean-Michel Picod
7d421d3ae0 Replace shell script with a python3 script.
Updated the shell script that generates the certificates and the
documentation accordingly.
Caveat: now installation is a 2-step procedure, installing OS and
application are split into 2 commands.
2020-02-19 11:34:43 +01:00
Fabian Kaczmarczyck
ddba62a45d Mentions webauthn.io at the end of install.md. 2020-02-18 16:09:22 +01:00
Julien Cretin
796261d538 Check that rustup and pip3 are installed
Fixes #25
2020-02-09 16:30:23 +01:00
Derry Pratama
c67cbdc9bc Update install.md
Fixed the link for TC2050 Tag-Connect programming cable. The right cable that connect to the Tag-Connect TC2050 ARM2010 adapter is the TC2050-IDC-NL instead of TC2050-IDC-NL-050-ALL.
2020-02-06 12:49:53 +09:00
Jean-Michel Picod
f91d2fd3db Initial commit 2020-01-30 11:47:29 +01:00