{"id":27462,"library":"tockloader","title":"Tockloader","description":"Tockloader is a command-line tool for programming and managing applications on Tock OS boards. It handles bootloader communication, app flashing, erase, and board management. Current version: 1.16.0, released regularly.","status":"active","version":"1.16.0","language":"python","source_language":"en","source_url":"https://github.com/tock/tockloader","tags":["tock","embedded","serial","bootloader","cli"],"install":[{"cmd":"pip install tockloader","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Direct import for programmatic use.","symbol":"TockLoader","correct":"from tockloader.tockloader import TockLoader"},{"note":"Entry point for CLI usage.","symbol":"main","correct":"from tockloader import main"}],"quickstart":{"code":"import tockloader.main as tm\ntm.main(['--help'])  # Show help","lang":"python","description":"Quick programmatic access to CLI functionality."},"warnings":[{"fix":"Use subprocess.run(['tockloader', ...]) for stability.","message":"Tockloader is primarily a CLI tool; programmatic API may have breaking changes across minor versions.","severity":"gotcha","affected_versions":"all"},{"fix":"Check board compatibility and specify --board <name>.","message":"Multiple Tock boards may have different bootloader protocols; --board flag may be required.","severity":"gotcha","affected_versions":"all"},{"fix":"Replace --jlink with --debugger jlink.","message":"The --jlink flag was removed in v1.13.0; use --debugger jlink instead.","severity":"deprecated","affected_versions":">=1.13.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"pip install tockloader","cause":"Tockloader not installed or installed in a different environment.","error":"ModuleNotFoundError: No module named 'tockloader'"},{"fix":"Use 'tockloader --port /dev/ttyUSB0 list' (Linux) or check permissions.","cause":"Serial port not specified or incorrect permissions.","error":"error: Unable to open serial port"},{"fix":"Use 'from tockloader import main' (note: no .tockloader).","cause":"Relying on wrong import path.","error":"AttributeError: module 'tockloader' has no attribute 'main'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}