Merge branch 'master' into info-2-1
This commit is contained in:
6
.github/workflows/python.yml
vendored
6
.github/workflows/python.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
pip install tockloader pylint
|
||||
pip install 'tockloader~=1.4' pylint
|
||||
- name: Register matcher
|
||||
run: echo ::add-matcher::./.github/python_matcher.json
|
||||
- name: Test code with pylint
|
||||
@@ -39,8 +39,8 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
pip install yapf tockloader
|
||||
pip install 'yapf>=0.30.0' tockloader
|
||||
- name: Test code formatting with yapf
|
||||
run: |
|
||||
echo ::add-matcher::./.github/python_matcher.json
|
||||
yapf --style=chromium --recursive --exclude third_party --diff .
|
||||
yapf --style=yapf --recursive --exclude third_party --diff .
|
||||
|
||||
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -15,7 +15,7 @@
|
||||
// Try to make VSCode formating as close as possible to the Google style.
|
||||
"python.formatting.provider": "yapf",
|
||||
"python.formatting.yapfArgs": [
|
||||
"--style=chromium"
|
||||
"--style=yapf"
|
||||
],
|
||||
"python.linting.enabled": true,
|
||||
"python.linting.lintOnSave": true,
|
||||
|
||||
27
deploy.py
27
deploy.py
@@ -29,6 +29,7 @@ import sys
|
||||
|
||||
import colorama
|
||||
from six.moves import input
|
||||
import tockloader
|
||||
from tockloader import tab
|
||||
from tockloader import tbfh
|
||||
from tockloader import tockloader as loader
|
||||
@@ -252,12 +253,16 @@ class OpenSKInstaller:
|
||||
board=self.args.board,
|
||||
debug=False,
|
||||
force=False,
|
||||
jlink_cmd="JLinkExe",
|
||||
jlink=self.args.programmer == "jlink",
|
||||
jlink_device=board.jlink_device,
|
||||
jlink_if=board.jlink_if,
|
||||
jlink_speed=1200,
|
||||
openocd=self.args.programmer == "openocd",
|
||||
openocd_board=board.openocd_board,
|
||||
openocd_cmd="openocd",
|
||||
openocd_commands=copy.copy(board.openocd_commands),
|
||||
openocd_options=copy.copy(board.openocd_options),
|
||||
jtag=False,
|
||||
no_bootloader_entry=False,
|
||||
page_size=board.page_size,
|
||||
@@ -291,8 +296,8 @@ class OpenSKInstaller:
|
||||
# empty value.
|
||||
target_toolchain.append("")
|
||||
current_version = self.checked_command_output(["rustc", "--version"])
|
||||
if not all((target_toolchain[0] in current_version,
|
||||
target_toolchain[1] in current_version)):
|
||||
if not (target_toolchain[0] in current_version and
|
||||
target_toolchain[1] in current_version):
|
||||
info("Updating rust toolchain to {}".format("-".join(target_toolchain)))
|
||||
# Need to update
|
||||
self.checked_command_output(
|
||||
@@ -399,7 +404,7 @@ class OpenSKInstaller:
|
||||
setattr(args, "make", False)
|
||||
setattr(args, "no_replace", False)
|
||||
tock = loader.TockLoader(args)
|
||||
tock.open(args)
|
||||
tock.open()
|
||||
tabs = [tab.TAB(tab_filename)]
|
||||
try:
|
||||
tock.install(tabs, replace="yes", erase=args.erase)
|
||||
@@ -428,7 +433,7 @@ class OpenSKInstaller:
|
||||
args = copy.copy(self.tockloader_default_args)
|
||||
setattr(args, "address", board_props.app_address)
|
||||
tock = loader.TockLoader(args)
|
||||
tock.open(args)
|
||||
tock.open()
|
||||
try:
|
||||
tock.flash_binary(kernel, board_props.kernel_address)
|
||||
except TockLoaderException as e:
|
||||
@@ -441,7 +446,7 @@ class OpenSKInstaller:
|
||||
args = copy.copy(self.tockloader_default_args)
|
||||
setattr(args, "address", board_props.padding_address)
|
||||
tock = loader.TockLoader(args)
|
||||
tock.open(args)
|
||||
tock.open()
|
||||
try:
|
||||
tock.flash_binary(padding, args.address)
|
||||
except TockLoaderException as e:
|
||||
@@ -451,11 +456,14 @@ class OpenSKInstaller:
|
||||
args = copy.copy(self.tockloader_default_args)
|
||||
board_props = SUPPORTED_BOARDS[self.args.board]
|
||||
setattr(args, "app_address", board_props.app_address)
|
||||
# Ensure we don't force erase all apps but only the apps starting
|
||||
# at `board.app_address`. This makes sure we don't erase the padding.
|
||||
setattr(args, "force", False)
|
||||
info("Erasing all installed applications")
|
||||
tock = loader.TockLoader(args)
|
||||
tock.open(args)
|
||||
tock.open()
|
||||
try:
|
||||
tock.erase_apps(False)
|
||||
tock.erase_apps()
|
||||
except TockLoaderException as e:
|
||||
# Erasing apps is not critical
|
||||
info(("A non-critical error occurred while erasing "
|
||||
@@ -467,6 +475,7 @@ class OpenSKInstaller:
|
||||
return False
|
||||
args = copy.copy(self.tockloader_default_args)
|
||||
tock = loader.TockLoader(args)
|
||||
tock.open()
|
||||
app_found = False
|
||||
with tock._start_communication_with_board():
|
||||
apps = [app.name for app in tock._extract_all_app_headers()]
|
||||
@@ -515,6 +524,10 @@ class OpenSKInstaller:
|
||||
final_hex.tofile(dest_file, format="hex")
|
||||
|
||||
def check_prerequisites(self):
|
||||
if not tockloader.__version__.startswith("1.4."):
|
||||
fatal(("Your version of tockloader seems incompatible: found {}, "
|
||||
"expected 1.4.x.".format(tockloader.__version__)))
|
||||
|
||||
if self.args.programmer == "jlink":
|
||||
assert_mandatory_binary("JLinkExe")
|
||||
|
||||
|
||||
2
setup.sh
2
setup.sh
@@ -86,7 +86,7 @@ source tools/gen_key_materials.sh
|
||||
generate_crypto_materials N
|
||||
|
||||
rustup install $(head -n 1 rust-toolchain)
|
||||
pip3 install --user --upgrade tockloader six intelhex
|
||||
pip3 install --user --upgrade 'tockloader~=1.4' six intelhex
|
||||
rustup target add thumbv7em-none-eabi
|
||||
|
||||
# Install dependency to create applications.
|
||||
|
||||
2
third_party/tock
vendored
2
third_party/tock
vendored
Submodule third_party/tock updated: ba44dd690f...f1f9d717a4
Reference in New Issue
Block a user