signature=ed19d8ab7ffeeb052c7a67044b685408,25885 Wiesinger

ISBN-13:

978-613-8-56365-5

ISBN-10:

6138563654

EAN:

9786138563655

Lingua del libro:

Inglese

Risvolto di copertina:

Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. 25885 Wiesinger (provisional designation: 2000 SD144) is a main-belt minor planet. It was discovered by the Lincoln Near-Earth Asteroid Research project in Socorro, New Mexico, on September 24, 2000. It is named after Christoph Wiesinger, an Austrian high school student whose materials and bioengineering project won second place at the 2009 Intel International Science and Engineering Fair. Asteroids (from Greek ἀστήρ 'star' and εἶδος 'like, in form') are a class of Small Solar System Bodies in orbit around the Sun. They have also been called planetoids, especially the larger ones. These terms have historically been applied to any astronomical object orbiting the Sun that did not show the disk of a planet and was not observed to have the characteristics of an active comet, but as small objects in the outer Solar System were discovered, their volatile-based surfaces were found to more closely resemble comets, and so were often distinguished from traditional asteroids.

Casa editrice:

Sito Web:

A cura di:

Numero di pagine:

108

Pubblicato il:

28.01.2012

Giacenza di magazzino:

Disponibile

categoria:

Prezzo:

39,00 €

Parole chiave:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
头信息示例如下vbf_version = 2.6; header { sw_part_number = "8895913857"; sw_version = "B"; sw_part_type = DATA; data_format_identifier = 0x00; ecu_address = 0x1012; erase = { { 0x00B60000, 0x00010000 }, { 0x40200300, 0x00000D00 } }; verification_block_start = 0x40200300; verification_block_length = 0x0000002C; verification_block_root_hash = 0x3AB70E8A9C521B370E37D6FF03263770426297167C495C80C8AF3EA0B9AC3C7C; file_checksum = 0xEDB03AFF; sw_signature_dev = 0x7B3E3A02DBBC87DCC7BB9BFD795C7D1355C82DCA947BA5225B5BC549F4FF1648C3DC78C7947DF7F751A856351FBF340CB9F9E5B0790F026DC080800EA8A7AE6383DF63A0C8447ADB921A29A6FD2B84BA83D4769301FDBD3B019442A8FC588864F299D546587019E7700C345899F4CBEA7E5F831132DDC563C589DDD64F5A842129B803BC4C324310918162BC01E6312374A370A39F201F425B4DB457F8BA829A459BD5ED9E1673D9BD923D5E1287AAB45AC3B8999FC96CA514CB5EFBEBD5B23FDBF8AC944C376F44153B2C7F3B415AB87D274A4BD2DD120B70DA67721062F03125FA9D162C10855CD4F59A43253D0421A8D7AE851188E9D0EB1BAB13DE308012; sw_signature = 0x422CB67A399E4C7E0AA3621C8B9DA49947E5E655E83D0181A76CFA8FEFD250E0615576E3907530A4263F3198B8080ACE74E5113987EFA419B88B409D794860FD4A65511B2C95B1716947C6B7BE335800D8231C327AB866B7CA4D4F9CCB06BEEBDBA5EB797E21FC419B7D608D68FDD9F8095603ED298991DB8AC836D023B2059BF3641D6BADC4F626F5DC201561726FE9FB58BB4AEA0A04B0D9FE3B05C072AAA0CFE711679635187062FDB1AED7309E3D4F3400D1A4254884832CDB20C2C7DA0E264EF7F622DC0042C94AB19D7C74C966999A2A6D0F4C43EE179FFB6743FD056113898DFD1FF3E5E0DDE3B7010381857F046CCAD27357F39403FA2776821C438F; }, 请用c写代码 把头信息都解析出来
06-09
以下是用C语言解析头信息的示例代码: ```c #include <stdio.h> #include <stdint.h> #define MAX_ERASE_REGIONS 10 typedef struct { uint32_t start_address; uint32_t length; } erase_region_t; typedef struct { char sw_part_number[32]; char sw_version; char sw_part_type[8]; uint8_t data_format_identifier; uint16_t ecu_address; erase_region_t erase_regions[MAX_ERASE_REGIONS]; uint32_t verification_block_start; uint32_t verification_block_length; uint8_t verification_block_root_hash[32]; uint32_t file_checksum; uint8_t sw_signature_dev[128]; uint8_t sw_signature[128]; } header_t; int main() { // 头信息示例字符串 char header_str[] = "vbf_version = 2.6; header { sw_part_number = \"8895913857\"; sw_version = \"B\"; sw_part_type = DATA; data_format_identifier = 0x00; ecu_address = 0x1012; erase = { { 0x00B60000, 0x00010000 }, { 0x40200300, 0x00000D00 } }; verification_block_start = 0x40200300; verification_block_length = 0x0000002C; verification_block_root_hash = 0x3AB70E8A9C521B370E37D6FF03263770426297167C495C80C8AF3EA0B9AC3C7C; file_checksum = 0xEDB03AFF; sw_signature_dev = 0x7B3E3A02DBBC87DCC7BB9BFD795C7D1355C82DCA947BA5225B5BC549F4FF1648C3DC78C7947DF7F751A856351FBF340CB9F9E5B0790F026DC080800EA8A7AE6383DF63A0C8447ADB921A29A6FD2B84BA83D4769301FDBD3B019442A8FC588864F299D546587019E7700C345899F4CBEA7E5F831132DDC563C589DDD64F5A842129B803BC4C324310918162BC01E6312374A370A39F201F425B4DB457F8BA829A459BD5ED9E1673D9BD923D5E1287AAB45AC3B8999FC96CA514CB5EFBEBD5B23FDBF8AC944C376F44153B2C7F3B415AB87D274A4BD2DD120B70DA67721062F03125FA9D162C10855CD4F59A43253D0421A8D7AE851188E9D0EB1BAB13DE308012; sw_signature = 0x422CB67A399E4C7E0AA3621C8B9DA49947E5E655E83D0181A76CFA8FEFD250E0615576E3907530A4263F3198B8080ACE74E5113987EFA419B88B409D794860FD4A65511B2C95B1716947C6B7BE335800D8231C327AB866B7CA4D4F9CCB06BEEBDBA5EB797E21FC419B7D608D68FDD9F8095603ED298991DB8AC836D023B2059BF3641D6BADC4F626F5DC201561726FE9FB58BB4AEA0A04B0D9FE3B05C072AAA0CFE711679635187062FDB1AED7309E3D4F3400D1A4254884832CDB20C2C7DA0E264EF7F622DC0042C94AB19D7C74C966999A2A6D0F4C43EE179FFB6743FD056113898DFD1FF3E5E0DDE3B7010381857F046CCAD27357F39403FA2776821C438F; }"; // 将头信息解析到结构体中 header_t header = {0}; sscanf(header_str, "vbf_version = %*f; header { sw_part_number = \"%[^\"]\"; sw_version = \"%c\"; sw_part_type = %s; data_format_identifier = %hhx; ecu_address = %hx; erase = { %*[{ ]{ 0x%x , 0x%x }%*[ }],%*[{ ]{ 0x%x , 0x%x }%*[ }] }; verification_block_start = %x; verification_block_length = %x; verification_block_root_hash = 0x%32hhx; file_checksum = 0x%x; sw_signature_dev = 0x%256hhx; sw_signature = 0x%256hhx; }", header.sw_part_number, &header.sw_version, header.sw_part_type, &header.data_format_identifier, &header.ecu_address, &header.erase_regions[0].start_address, &header.erase_regions[0].length, &header.erase_regions[1].start_address, &header.erase_regions[1].length, &header.verification_block_start, &header.verification_block_length, header.verification_block_root_hash, &header.file_checksum, header.sw_signature_dev, header.sw_signature); // 输出解析结果 printf("sw_part_number = %s\n", header.sw_part_number); printf("sw_version = %c\n", header.sw_version); printf("sw_part_type = %s\n", header.sw_part_type); printf("data_format_identifier = 0x%02x\n", header.data_format_identifier); printf("ecu_address = 0x%04x\n", header.ecu_address); printf("erase_regions:\n"); for (int i = 0; i < MAX_ERASE_REGIONS; i++) { if (header.erase_regions[i].length == 0) { break; } printf(" [%d] start_address = 0x%08x, length = 0x%08x\n", i, header.erase_regions[i].start_address, header.erase_regions[i].length); } printf("verification_block_start = 0x%08x\n", header.verification_block_start); printf("verification_block_length = 0x%08x\n", header.verification_block_length); printf("verification_block_root_hash = "); for (int i = 0; i < 32; i++) { printf("%02x", header.verification_block_root_hash[i]); } printf("\n"); printf("file_checksum = 0x%08x\n", header.file_checksum); printf("sw_signature_dev = "); for (int i = 0; i < 128; i++) { printf("%02x", header.sw_signature_dev[i]); } printf("\n"); printf("sw_signature = "); for (int i = 0; i < 128; i++) { printf("%02x", header.sw_signature[i]); } printf("\n"); return 0; } ``` 该代码将头信息解析到一个结构体中,然后逐一输出解析结果。注意,该代码仅适用于给定的头信息示例字符串,如果头信息的格式有所变化,可能需要相应地修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值