1. 1. Introduction
  2. 2. Core
    1. 2.1. Build
      1. 2.1.1. Embedded
      2. 2.1.2. Emulator
    2. 2.2. Emulator
      1. 2.2.1. Valgrind profiling
    3. 2.3. Event Loop
    4. 2.4. Apps
    5. 2.5. Tests
    6. 2.6. Debugging on hardware
    7. 2.7. SystemView instrumentation
    8. 2.8. Miscellaneous
      1. 2.8.1. Boot stages
      2. 2.8.2. Code style
      3. 2.8.3. DISC1
      4. 2.8.4. DISC2
      5. 2.8.5. Exceptions usage
      6. 2.8.6. Memory fragmentation management
      7. 2.8.7. Memory layout
      8. 2.8.8. TrustZone
      9. 2.8.9. SLIP-39
      10. 2.8.10. Translation data format
      11. 2.8.11. UI Layout lifecycle
      12. 2.8.12. Optiga configuration
  3. 3. Legacy
    1. 3.1. Firmware format
  4. 4. Python
    1. 4.1. trezorlib
  5. 5. Common
    1. 5.1. Communication
      1. 5.1.1. Sessions
      2. 5.1.2. Passphrase
        1. 5.1.2.1. Migration
      3. 5.1.3. Bitcoin signing
    2. 5.2. Reproducible builds
    3. 5.3. Message Workflows
    4. 5.4. External definitions
  6. 6. Storage
  7. 7. Tests
    1. 7.1. Device Tests
    2. 7.2. Upgrade Tests
    3. 7.3. UI Tests
    4. 7.4. Click Tests
  8. 8. Miscellaneous
    1. 8.1. Affected third-parties
    2. 8.2. Changelog
    3. 8.3. Coins' BIP-44 Paths
    4. 8.4. Contributing
    5. 8.5. FW update and device wipe
    6. 8.6. Generated Files
    7. 8.7. Git Hooks
    8. 8.8. Monorepo Notes
    9. 8.9. Review Process
    10. 8.10. TOIF Image Format
  9. 9. Developers guide
    1. 9.1. Libraries
    2. 9.2. Hello World in Core

Trezor Firmware

Developers guide