feat: kboot package (#894)
* feat: kboot package * feat: kboot package * fix: wait 1 sec after device is available * test: fix unit test * refactor: clean unused codes * doc: improve readme.md * doc: improve readme.md * test: fix unit test * chore: fix lint settings * style: fix linting issues
This commit is contained in:
committed by
László Monda
parent
bfc08edfce
commit
3964698cf7
23
packages/kboot/src/enums/commands.ts
Normal file
23
packages/kboot/src/enums/commands.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
export enum Commands {
|
||||
FlashEraseAll = 0x01,
|
||||
FlashEraseRegion = 0x02,
|
||||
ReadMemory = 0x03,
|
||||
WriteMemory = 0x04,
|
||||
FillMemory = 0x05,
|
||||
FlashSecurityDisable = 0x06,
|
||||
GetProperty = 0x07,
|
||||
ReceiveSBFile = 0x08,
|
||||
Execute = 0x09,
|
||||
Call = 0x0A,
|
||||
Reset = 0x0B,
|
||||
SetProperty = 0x0C,
|
||||
FlashEraseAllUnsecure = 0x0D,
|
||||
FlashProgramOnce = 0x0E,
|
||||
FlashReadOnce = 0x0F,
|
||||
FlashReadResource = 0x10,
|
||||
ConfigureQuadSpi = 0x11,
|
||||
ReliableUpdate = 0x12,
|
||||
ConfigureI2c = 0xc1,
|
||||
ConfigureSpi = 0xc2,
|
||||
ConfigureCan = 0xc3
|
||||
}
|
||||
5
packages/kboot/src/enums/index.ts
Normal file
5
packages/kboot/src/enums/index.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export * from './commands';
|
||||
export * from './memory-ids';
|
||||
export * from './properties';
|
||||
export * from './response-codes';
|
||||
export * from './response-tags';
|
||||
5
packages/kboot/src/enums/memory-ids.ts
Normal file
5
packages/kboot/src/enums/memory-ids.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export enum MemoryIds {
|
||||
Internal = 0,
|
||||
Spi0 = 1,
|
||||
ExecuteOnly = 0x10
|
||||
}
|
||||
26
packages/kboot/src/enums/properties.ts
Normal file
26
packages/kboot/src/enums/properties.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
export enum Properties {
|
||||
BootloaderVersion = 0x01,
|
||||
AvailablePeripherals = 0x02,
|
||||
FlashStartAddress = 0x03,
|
||||
FlashSize = 0x04,
|
||||
FlashSectorSize = 0x05,
|
||||
FlashBlockCount = 0x06,
|
||||
AvailableCommands = 0x07,
|
||||
CrcCheckStatus = 0x08,
|
||||
VerifyWrites = 0x0A,
|
||||
MaxPacketSize = 0x0B,
|
||||
ReservedRegions = 0x0C,
|
||||
ValidateRegions = 0x0D,
|
||||
RAMStartAddress = 0x0E,
|
||||
RAMSize = 0x0F,
|
||||
SystemDeviceIdent = 0x10,
|
||||
FlashSecurityState = 0x11,
|
||||
UniqueDeviceIdent = 0x12,
|
||||
FlashFacSupport = 0x13,
|
||||
FlashAccessSegmentSize = 0x14,
|
||||
FlashAccessSegmentCount = 0x15,
|
||||
FlashReadMargin = 0x16,
|
||||
QspiInitStatus = 0x17,
|
||||
TargetVersion = 0x18,
|
||||
ExternalMemoryAttributes = 0x19
|
||||
}
|
||||
76
packages/kboot/src/enums/response-codes.ts
Normal file
76
packages/kboot/src/enums/response-codes.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
export enum ResponseCodes {
|
||||
// Generic status codes.
|
||||
Success = 0,
|
||||
Fail = 1,
|
||||
ReadOnly = 2,
|
||||
OutOfRange = 3,
|
||||
InvalidArgument = 4,
|
||||
|
||||
// Flash driver errors.
|
||||
FlashSizeError = 100,
|
||||
FlashAlignmentError = 101,
|
||||
FlashAddressError = 102,
|
||||
FlashAccessError = 103,
|
||||
FlashProtectionViolation = 104,
|
||||
FlashCommandFailure = 105,
|
||||
FlashUnknownProperty = 106,
|
||||
|
||||
// I2C driver errors.
|
||||
I2C_SlaveTxUnderrun = 200,
|
||||
I2C_SlaveRxOverrun = 201,
|
||||
I2C_AribtrationLost = 202,
|
||||
|
||||
// SPI driver errors.
|
||||
SPI_SlaveTxUnderrun = 300,
|
||||
SPI_SlaveRxOverrun = 301,
|
||||
|
||||
// QuadSPI driver errors
|
||||
QSPI_FlashSizeError = 400,
|
||||
QSPI_FlashAlignmentError = 401,
|
||||
QSPI_FlashAddressError = 402,
|
||||
QSPI_FlashCommandFailure = 403,
|
||||
QSPI_FlashUnknownProperty = 404,
|
||||
QSPI_NotConfigured = 405,
|
||||
QSPI_CommandNotSupported = 406,
|
||||
|
||||
// Bootloader errors.
|
||||
UnknownCommand = 10000,
|
||||
SecurityViolation = 10001,
|
||||
AbortDataPhase = 10002,
|
||||
PingError = 10003,
|
||||
NoResponse = 10004,
|
||||
NoResponseExpected = 10005,
|
||||
|
||||
// SB loader errors.
|
||||
RomLdrSectionOverrun = 10100,
|
||||
RomLdrSignature = 10101,
|
||||
RomLdrSectionLength = 10102,
|
||||
RomLdrUnencryptedOnly = 10103,
|
||||
RomLdrEOFReached = 10104,
|
||||
RomLdrChecksum = 10105,
|
||||
RomLdrCrc32Error = 10106,
|
||||
RomLdrUnknownCommand = 10107,
|
||||
RomLdrIdNotFound = 10108,
|
||||
RomLdrDataUnderrun = 10109,
|
||||
RomLdrJumpReturned = 10110,
|
||||
RomLdrCallFailed = 10111,
|
||||
RomLdrKeyNotFound = 10112,
|
||||
RomLdrSecureOnly = 10113,
|
||||
|
||||
// Memory interface errors.
|
||||
MemoryRangeInvalid = 10200,
|
||||
MemoryReadFailed = 10201,
|
||||
MemoryWriteFailed = 10202,
|
||||
|
||||
// Property store errors.
|
||||
UnknownProperty = 10300,
|
||||
ReadOnlyProperty = 10301,
|
||||
InvalidPropertyValue = 10302,
|
||||
|
||||
// Property store errors.
|
||||
AppCrcCheckPassed = 10400,
|
||||
AppCrcCheckFailed = 10401,
|
||||
AppCrcCheckInactive = 10402,
|
||||
AppCrcCheckInvalid = 10403,
|
||||
AppCrcCheckOutOfRange = 10404
|
||||
}
|
||||
7
packages/kboot/src/enums/response-tags.ts
Normal file
7
packages/kboot/src/enums/response-tags.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export enum ResponseTags {
|
||||
Generic = 0xA0,
|
||||
ReadMemory = 0xA3,
|
||||
Property = 0xA7,
|
||||
FlashReadOnce = 0xAF,
|
||||
FlashReadResource = 0xB0
|
||||
}
|
||||
Reference in New Issue
Block a user