初始版本
This commit is contained in:
82
components/libraries/bootloader/dfu/dfu-cc.proto
Normal file
82
components/libraries/bootloader/dfu/dfu-cc.proto
Normal file
@@ -0,0 +1,82 @@
|
||||
package dfu;
|
||||
|
||||
// Version 0.1
|
||||
|
||||
enum FwType {
|
||||
APPLICATION = 0;
|
||||
SOFTDEVICE = 1;
|
||||
BOOTLOADER = 2;
|
||||
SOFTDEVICE_BOOTLOADER = 3;
|
||||
EXTERNAL_APPLICATION = 4;
|
||||
}
|
||||
|
||||
enum HashType {
|
||||
NO_HASH = 0;
|
||||
CRC = 1;
|
||||
SHA128 = 2;
|
||||
SHA256 = 3;
|
||||
SHA512 = 4;
|
||||
}
|
||||
|
||||
enum OpCode {
|
||||
INIT = 1;
|
||||
}
|
||||
|
||||
enum ValidationType {
|
||||
NO_VALIDATION = 0;
|
||||
VALIDATE_GENERATED_CRC = 1;
|
||||
VALIDATE_SHA256 = 2;
|
||||
VALIDATE_ECDSA_P256_SHA256 = 3;
|
||||
}
|
||||
|
||||
message Hash {
|
||||
required HashType hash_type = 1;
|
||||
required bytes hash = 2;
|
||||
}
|
||||
|
||||
message BootValidation {
|
||||
|
||||
required ValidationType type = 1;
|
||||
required bytes bytes = 2;
|
||||
}
|
||||
|
||||
// Commands data
|
||||
message InitCommand {
|
||||
optional uint32 fw_version = 1;
|
||||
optional uint32 hw_version = 2;
|
||||
repeated uint32 sd_req = 3 [packed = true];
|
||||
optional FwType type = 4;
|
||||
|
||||
optional uint32 sd_size = 5;
|
||||
optional uint32 bl_size = 6;
|
||||
optional uint32 app_size = 7;
|
||||
|
||||
optional Hash hash = 8;
|
||||
|
||||
optional bool is_debug = 9 [default = false];
|
||||
repeated BootValidation boot_validation = 10;
|
||||
}
|
||||
|
||||
// Command type
|
||||
message Command {
|
||||
optional OpCode op_code = 1;
|
||||
optional InitCommand init = 2;
|
||||
}
|
||||
|
||||
// Signed command types
|
||||
enum SignatureType {
|
||||
ECDSA_P256_SHA256 = 0;
|
||||
ED25519 = 1;
|
||||
}
|
||||
|
||||
message SignedCommand {
|
||||
required Command command = 1;
|
||||
required SignatureType signature_type = 2;
|
||||
required bytes signature = 3;
|
||||
}
|
||||
|
||||
// Parent packet type
|
||||
message Packet {
|
||||
optional Command command = 1;
|
||||
optional SignedCommand signed_command = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user