Files
agent/packages/kboot
Róbert Kiss 33c910d70c chore: upgrade angular => 7.x (#925)
* Merge branch 'master' into chore-upgrade-angular-to-7

* reformat files of the store

* set preserveWhitespaces = true

* delete console.log from AutoGrowInputComponent

* fix null pinter exception when set the keyaction on an undefined key

* speed tuning

* delete svg-keyboard-key animation

* revert electron logger upgrade

* improve animation speed of scg-keyboard-key component

* fix: popover keymap tab visibility

* fix: remove btn-line css class
2019-03-04 10:27:25 +01:00
..
2019-01-18 17:37:31 +01:00
2019-01-18 17:37:31 +01:00
2019-01-18 17:37:31 +01:00
2019-01-18 17:37:31 +01:00
2019-01-18 17:37:31 +01:00
2019-01-18 17:37:31 +01:00
2019-01-18 17:37:31 +01:00

Javascript implementation of the Kinetis Bootloader protocol

Based on the Kinetis Bootloader v2.0.0 Reference Manual

Supported communication channels/protocols

  • USB
  • I2C
  • SPI
  • CAN
  • UART

Supported Commands

We implemented only the commands that is used in UHK software. If someone needs other commands, (s)he can easily implement it based on existing.

  • GetProperty
  • SetProperty
  • FlashEraseAll
  • FlashEraseRegion
  • FlashEraseAllUnsecure
  • ReadMemory
  • WriteMemory
  • FillMemory
  • FlashSecurityDisable
  • Execute
  • Call
  • Reset
  • FlashProgramOnce
  • FlashReadOnce
  • FlashReadResource
  • ConfigureQuadSpi
  • ReliableUpdate
  • ConfigureI2c
  • ConfigureSpi
  • ConfigureCan

How to use

  // Initialize peripheral
  const usbPeripheral = new UsbPeripheral({ productId: 1, vendorId: 1 });
  // Initialize Kboot
  const kboot = new KBoot(usbPeripheral);
  // Call the command
  const version = await kboot.getBootloaderVersion();
  // ... more commands
  
  // Close the communication channel. Release resources
  kboot.close();

If you have to communicate other I2C device over USB call kboot.configureI2c(i2cId) before the command.

  const usbPeripheral = new UsbPeripheral({ productId: 1, vendorId: 1 });
  const kboot = new KBoot(usbPeripheral);
  
  // Get the bootloader version of I2C device
  await kboot.configureI2c(i2cId);
  const version = await kboot.getBootloaderVersion();

TODO

  • Improve exception handling