Skip to content
Snippets Groups Projects
Unverified Commit b486ff44 authored by gendx's avatar gendx Committed by GitHub
Browse files

Merge pull request #100 from jmichelp/master

Depends on tockloader 1.4.x from now
parents dc12e104 a0601145
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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,
......@@ -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")
......
......@@ -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.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment