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

Miscellaneous

Topics that do not fit elsewhere:

  • Code style
  • SLIP-39 in Core
  • Exceptions usage
  • Memory fragmentation management
  • Running Trezor firmware on STM32F429I-DISC1
  • Translation data format
  • Optiga configuration