|
|
  |
Формирование собственного HEX intel файла, существуют ли готовые решения ? |
|
|
|
Nov 17 2008, 09:10
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(west329_ @ Nov 17 2008, 14:39)  -потом в считанной строке начиная с 9 бита считываю 32 ASCCI символа, Там совершенно необязательно 32 символа. И не все строки являются кодом. Вот примерчик чтения хекса и заливки его в еепром: CODE #define HEX_LINE_DATA (0x00) #define HEX_LINE_END (0x01) #define HEX_LINE_BAD (0xFF)
static struct ProgRecord { u08 count; u08 kind; u16 address; u08 data[32]; }HexLine;
static u08 csum;
u08 h2b(u08 b ) { return ((b <= '9') ? (b - '0') : (b - 0x37)); }
u08 read_hex(void) { u08 Hb, Lb;
Hb = rs_getchar(); Lb = rs_getchar();
Lb = (h2b(Hb) << 4) | h2b(Lb); csum += Lb; return(Lb); }
u08 read_hex_line(void) { u08 i;
// hex line sample: //:10007B00DFF6804288828C8387F009E0A3B5F036E7
// skip to the ':' while (rs_getchar() != ':');
csum = 0;
// Number of Bytes. HexLine.count = read_hex();
if (HexLine.count > 32) goto bad_len;
// Build address Information. HexLine.address = (u16)read_hex() << 8; HexLine.address |= read_hex();
// Get Type HexLine.kind = read_hex();
// Extract the Data Bytes. for (i = 0; i < HexLine.count; i++) HexLine.data[i] = read_hex();
// don't forget about the Checksum u08.*/ read_hex();
if (csum) goto bad_cs;
return TRUE;
bad_len: rs_puts_p("Bad length. Hit esc\r\n"); while (rs_getchar() != 27); return FALSE;
bad_cs: rs_puts_p("Bad csum. Hit esc\r\n"); while (rs_getchar() != 27); return FALSE; }
void programm_eeprom(void) { rs_puts_p("\r\nSend file!\r\n"); while (read_hex_line()) { if (HexLine.kind == HEX_LINE_END) { rs_puts_p("Done!\r\n"); break; } if (HexLine.kind == HEX_LINE_DATA && HexLine.count > 0) if (!at24c256_write(HexLine.address, (u08*)&HexLine.data, HexLine.count)) { rs_puts_p("Write error\r\n"); break; } rs_putchar('.'); } }
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Nov 17 2008, 09:55
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(gotty @ Nov 17 2008, 12:54)  Можно использовать утилиты hex2bin и bin2hex для преобразования в двоичный файл, а с двоичным уже можно делать любые преобразования Я как-то в загрузчике делал шифрование при помощи RC4, если надо - могу поделиться. Будем очень вам благодарны если поделитесь. Интересует часть создания hex и опредиление CRC Всем огромное спасибо, что откликнулись.
Сообщение отредактировал west329_ - Nov 17 2008, 10:06
|
|
|
|
|
Nov 17 2008, 12:12
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045

|
Цитата(west329_ @ Nov 17 2008, 11:55)  Будем очень вам благодарны если поделитесь.
Интересует часть создания hex и опредиление CRC Всем огромное спасибо, что откликнулись. Тут я вас разочарую. Если для Вас парсинг hex-файла дремучий лес, обходной вариант я предложил в прошлом сообщении, а пример кода - AHTOXA. Ну а код для шифрования/дешифрования прилагаю. Ограничения для него - длинна ключа 16 байт (сделано для замены операции "остаток от деления" на "побитовое И").
Прикрепленные файлы
arc4.zip ( 735 байт )
Кол-во скачиваний: 33
|
|
|
|
|
Nov 18 2008, 11:53
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(uriy @ Nov 17 2008, 21:02)  Это что вы, самого себя пытаетесь обмануть? Что мешает просто скопировать прошивку с вашего контроллера. http://www.semiresearch.com/каким образом если лок биты установлены ? Единственная путя через бутзагрузчик Кстати существую готовые решения для работы с хекс файлами кому интересно <iHEX> слово для поиска
|
|
|
|
|
Nov 19 2008, 07:14
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(uriy @ Nov 18 2008, 22:43)   Зря вы не посмотрели ссылку которую я вам дал. Там есть скриншоты вскрытых чипов китайцы по ним даже электрическую принципиальную схему восстанавливают. Стирать маркировку с корпуса тоже бесполезно. Она видимо у всех есть прямо на чипе. На том же сайте вроде продавался девайс за 12 килобаксов который считывает прошивку и с локбитами. На мой взгляд вскрытие чипа более правдоподобно чем существование такого девайса. Хотя кто знает... Ну тогда давайте не лочить контроллеры вобще  uriy вы взрослый человек, а в сказки верите, спросите на форуме, хоть один пользователь пользовался такими услугами ? ИМХО лохотрон, я непредставляю себе как такое можно сделать, да и с таким количеством контроллеров, это как минимум надо чтоб с каждой фирмы микрочип, атмел..., там было по пару первокласных инженеров со всеми закрытыми документациями. И оборудовани не на один 10К$
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|