Commit Graph

  • e7f6cd3ee8 pureboot: the pin axis, and the mute it was hiding main BlackMark 2026-07-24 22:08:56 +02:00
  • 0f00f6bdeb test: move the handshake regression in beside the rest BlackMark 2026-07-24 18:22:19 +02:00
  • 3990f53180 pureboot: take the running slot from avr::startup::caller_page BlackMark 2026-07-24 17:57:47 +02:00
  • 3899e8ef40 pureboot: release a USART left enabled on the software link's pins BlackMark 2026-07-24 17:22:48 +02:00
  • 0ddc65ca28 pureboot.py: bump the tool version to 5 BlackMark 2026-07-24 17:11:03 +02:00
  • 142de8775d pureboot.py: bound the activation drain against a flooding target BlackMark 2026-07-24 17:10:40 +02:00
  • a285347e5f pureboot 5: one command pair for every memory, and a clock-free backend autobaud BlackMark 2026-07-24 15:50:48 +02:00
  • 2cc540c6a1 pureboot: the unified autobaud loader, and the hang that settled the decision BlackMark 2026-07-24 00:48:54 +02:00
  • 14efef96cc pureboot: autobaud host support and simavr end-to-end for both variants BlackMark 2026-07-23 22:45:22 +02:00
  • eecf9673b9 pureboot: autobaud variant, two versions for review BlackMark 2026-07-23 22:15:38 +02:00
  • c78bf2841a docs: the watchdog-lockout and EEPROM-wrap gotchas BlackMark 2026-07-23 02:01:33 +02:00
  • f9eeae5069 pureboot: the info block reads as a table, one wire byte per line BlackMark 2026-07-23 01:19:09 +02:00
  • 01e0169ac5 style: clang-format the W-fix line BlackMark 2026-07-23 01:13:51 +02:00
  • 98a3be3c2e pureboot 4: the loader carries its fixes' identity BlackMark 2026-07-23 01:09:38 +02:00
  • 11707e0b06 pureboot: the info block is what proves a knock landed BlackMark 2026-07-22 23:49:37 +02:00
  • c763ca856a pureboot: W addresses a page, not a word in it BlackMark 2026-07-22 23:43:41 +02:00
  • a5b42bc02f test: the exhaustive clock x baud x backend size matrix BlackMark 2026-07-22 23:32:28 +02:00
  • 8f106b636d pureboot 3: a 512-byte slot on every chip, the 1284s included BlackMark 2026-07-22 19:02:59 +02:00
  • 6f3eb06233 pureboot: a version number for the loader, not for the protocol BlackMark 2026-07-22 17:19:27 +02:00
  • a39a3c7f46 docs: correct the size figures for the configured variants BlackMark 2026-07-22 17:08:24 +02:00
  • 862bc14e1e pureboot: no SPM buffer discard, the host repairs instead BlackMark 2026-07-22 16:29:27 +02:00
  • 52c3b6ca7f build: generated presets and a check entry point BlackMark 2026-07-21 23:42:57 +02:00
  • 9a528f9411 host: one fact per line, progress bars, --verbose BlackMark 2026-07-21 23:42:57 +02:00
  • a977e507f3 pureboot: every deployment axis is a build parameter BlackMark 2026-07-21 23:42:57 +02:00
  • 76f4576fe0 pureboot: a loader in the staging slot is the staging copy — leave it there BlackMark 2026-07-21 21:55:15 +02:00
  • 5f9e736d66 pureboot: artifact roles, wrong-chip refusal, and misplaced-loader re-homing BlackMark 2026-07-21 21:18:10 +02:00
  • 9cbe2d682d pureboot: every libavr chip — 37 loaders, the m48 class, the 644 geometry BlackMark 2026-07-21 18:53:04 +02:00
  • b7d082ff11 pureboot: correct the 1284P deployment profiles in the README BlackMark 2026-07-21 16:48:46 +02:00
  • 65f8fdd537 pureboot: the 1284P rides a 1 KiB slot — its own boot-sector minimum BlackMark 2026-07-21 13:54:40 +02:00
  • 0fa53e1cad pureboot: the classic megas and the word-addressed 1284P groundwork BlackMark 2026-07-21 12:00:19 +02:00
  • a1ff032c87 pureboot: take the device signature from the chip database BlackMark 2026-07-20 23:30:17 +02:00
  • f9b86393e1 build: emit a raw .bin beside the HEX for every loader image BlackMark 2026-07-20 23:17:59 +02:00
  • e57b79c94b pureboot: take the emitted loader HEX for --update-loader BlackMark 2026-07-20 22:46:50 +02:00
  • 82a31d4f16 pureboot: drive the serial port on Windows too BlackMark 2026-07-20 22:46:14 +02:00
  • d6b3e85284 build: emit an Intel-HEX beside every loader image BlackMark 2026-07-20 21:57:26 +02:00
  • 7d046c3b89 pureboot: PI lint, tightened gates, and the self-update test suite BlackMark 2026-07-20 19:37:57 +02:00
  • f964b875b9 pureboot: one position-independent binary — its own staging loader BlackMark 2026-07-20 19:37:43 +02:00
  • 6594c1b044 pureboot: harden the sim device runner BlackMark 2026-07-20 19:37:10 +02:00
  • cbe6acff13 pureboot: review-pass fixes to the host tool and device runner BlackMark 2026-07-20 10:45:19 +02:00
  • 9145d1ec22 pureboot: gitignore python bytecode cache BlackMark 2026-07-20 10:43:56 +02:00
  • 3e4df8638c pureboot: stop tracking the python bytecode cache BlackMark 2026-07-20 10:43:36 +02:00
  • 2133627057 pureboot: host tool and end-to-end protocol tests, all three chips BlackMark 2026-07-20 05:54:15 +02:00
  • 47990349a4 pureboot: the device — one pure C++ source, 512 bytes, every chip BlackMark 2026-07-20 05:33:28 +02:00
  • 74d8b92885 tsb: third size pass — restructure to the oracle's shape BlackMark 2026-07-20 01:00:27 +02:00
  • 2b705ad130 tsb: beat the first-pass size floors (tricks 666, pure 842) BlackMark 2026-07-19 20:15:49 +02:00
  • fc5433fd7d tsb: drive each tier to its size floor BlackMark 2026-07-19 18:47:38 +02:00
  • ac9447c07f tsb: document the three tiers at full parity in the build file BlackMark 2026-07-19 16:50:18 +02:00
  • beff7bb3ee tsb: protocol test covers the password gate and emergency erase BlackMark 2026-07-19 16:49:20 +02:00
  • 3a0d3790ee tsb: pure and tricks tiers reach full oracle feature parity BlackMark 2026-07-19 16:47:21 +02:00
  • 3ea8957e69 tsb: asm tier reaches full oracle feature parity at 502 B BlackMark 2026-07-19 16:23:16 +02:00
  • 04c04abe3e tsb: vendor the fixed-baud assembly oracle as the size/feature bar BlackMark 2026-07-19 15:29:58 +02:00
  • f32a27ff15 tsb: use the named register surface BlackMark 2026-07-19 14:55:01 +02:00
  • 57d94cf631 tsb: refactor the pure tier onto libavr sugar BlackMark 2026-07-19 13:33:53 +02:00
  • 8203a24f33 tsb: slim the port branch to the libavr reimplementation BlackMark 2026-07-19 13:12:56 +02:00
  • 2906da3272 tsb: drop the local -O3 strip, now handled by the libavr toolchain BlackMark 2026-07-19 10:52:13 +02:00
  • 64c1e484b5 tsb: reimplement TinySafeBoot on libavr in three size tiers BlackMark 2026-07-19 05:00:51 +02:00
  • 14ac91c815 Update uart submodule master BlackMark 2020-04-13 17:20:31 +02:00
  • 621d34cc18 Update uart submodule BlackMark 2020-04-13 13:08:34 +02:00
  • 0a65626975 Update uart submodule to fix 115200 baud with 16 MHz BlackMark 2020-04-13 00:22:02 +02:00
  • 9390f7830b Add small blink example as bootloader payload test BlackMark 2020-04-12 18:45:33 +02:00
  • b21673e326 Uncomment setting stack pointer to allow jumping into bootloader BlackMark 2020-04-12 18:43:53 +02:00
  • 3afda0ebf9 Replace function call to user code with jump BlackMark 2020-04-12 16:05:16 +02:00
  • 807b1f336f Finish bootloader by adding jump to user code BlackMark 2020-04-12 15:32:31 +02:00
  • 5f8d6a6f85 Fix chip erase followed immediately by flash programming BlackMark 2020-04-12 15:12:02 +02:00
  • 41f81247ce Improve semantics for chip erase state enum BlackMark 2020-04-12 15:07:58 +02:00
  • a72bf67b07 Fix flash memory address being a word-address BlackMark 2020-04-12 13:10:00 +02:00
  • 3a04b1f488 Add topcard detection for avrdude BlackMark 2020-04-12 12:01:53 +02:00
  • 8979066420 Fix receiveByte timeout and add global timeout BlackMark 2020-04-12 11:47:11 +02:00
  • 6f9d8bae42 Implement writing flash memory BlackMark 2020-04-12 00:15:26 +02:00
  • 289e66160e Refactor getting bootloader size from lambda to function BlackMark 2020-04-12 00:14:51 +02:00
  • 355160dedb Increase uart receive timeout BlackMark 2020-04-12 00:12:56 +02:00
  • b20d0aced8 Change bootloader location of debug build BlackMark 2020-04-11 23:02:50 +02:00
  • f307eb1340 Fix bootloader size read-out BlackMark 2020-04-11 23:02:16 +02:00
  • 3ce9c60448 Refactor address variable BlackMark 2020-04-11 22:25:30 +02:00
  • 16955979a2 Implement chip erase BlackMark 2020-04-11 22:19:22 +02:00
  • 28eeca8158 Move transmitMessage to message handling part BlackMark 2020-04-11 21:17:10 +02:00
  • 03fd10860f Implement eeprom programming BlackMark 2020-04-11 19:19:23 +02:00
  • 9c24c32f3d Add reading of eeprom BlackMark 2020-04-11 17:48:13 +02:00
  • c46ba6bbb3 Move code to bootloader section and provide custom init code BlackMark 2020-04-11 16:51:09 +02:00
  • 98d6c9720f Add flash reading functionality BlackMark 2020-04-11 10:35:52 +02:00
  • 9ba16e71e1 Fix checksum discarding high-order byte of size field BlackMark 2020-04-11 10:34:40 +02:00
  • c5b3614733 Add reading of lock bits BlackMark 2020-04-10 16:47:17 +02:00
  • c808c344b4 Implement basic stk500v2 protocol support BlackMark 2020-04-10 16:09:41 +02:00
  • 0e39021192 Add all stk500v2 commands BlackMark 2020-04-10 10:22:28 +02:00
  • 39c98939bd Add uart to stk500v2 BlackMark 2020-04-10 10:11:47 +02:00
  • ef42a67d10 Change clock crystal to 18.432 MHz BlackMark 2020-04-10 10:06:11 +02:00
  • cf60d846b6 Rename solution and add stk500v2 bootloader project BlackMark 2020-04-10 08:56:54 +02:00
  • 4348759652 Implement basic tsb protocol for information command BlackMark 2020-04-10 08:50:22 +02:00
  • 8386d55813 Initial commit BlackMark 2020-04-10 08:47:54 +02:00