реклама на сайте
подробности

 
 
> C8051F310 копирование кода, помогите скопировать код
aleksandr LAN
сообщение Apr 29 2009, 16:20
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-09
Пользователь №: 48 443



Добрый день.
Подскажите может кто сталкивался. Есть МК с8051f310 с зашитым кодом, необходимо произвести копирование на такой же. Тот кто писал код не может (скорее всего нет желания т.к. код маленький) найти исходник, сказал скопировать самому. Считывание произвожу через Development Kit для 8051а310 от Siliconlabs ( хоть это дал разработчик). Но при записи на диск пишет текстовый файл с кодом hex в каждой строчке. Если пробывать записывать этот код то программа Silicon Labolatories IDE ругается что код не того формата (((. Защита на копирование разработчиком не ставилась (он сам это подтверждает).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
barabek
сообщение Apr 30 2009, 01:16
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Посмотрел, что считывает IDE. Получается все необходимое адресное пространство CODE считывается и последовательно записывается встолбик в выходном файле. По мне, так я бы сделал из этого файла нормальный hex-файл. Группируем допустим по 16 байт в строки, добавляем в начале строки заголовок, в конце контрольную сумму.
Код
// Hex Record Format:
//
// +--------+--------+------+-------+--------+------(n bytes)------+----------+
// | RECORD | RECLEN | OFFSET       | RECORD |                     | CHECKSUM |
// | MARK   | (n)    | (2 BYTES)    | TYPE   | DATA                |          |
// | ‘:’    |        |              |        |                     |          |
// +--------+--------+------+-------+--------+------(n bytes)------+----------+

:100D0500914863F70E848FBEE8AB7E5782A1CFEB87 <-пример
тогда RECLEN будет 10 (16 байт), offset начиная с 0000 и каждую строку увеличиваем на 10h, record type всегда 00, дальше данные, в конце вычисляем контрольную сумму по всей строке кроме record mark. Как я понял, вычисляется контрольная сумма следующим образом: складываем все байты строки (естественно, переводя из ascii в hex, а если на калькуляторе, то что видим то и складываем smile.gif ) к поученному числу нужно добавить такой checksum, чтобы младший байт суммы равнялся 00h.
И в конце всего файла добавляем строку :00000001FF (это что-то типа EndOfFile)
Go to the top of the page
 
+Quote Post
kosyak©
сообщение Apr 30 2009, 04:49
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966



Я сдирал прошивку с сигналов с помощью https://www.silabs.com/Support%20Documents/...are/UtilDLL.zip, потом этаже программа свои дампы может и заливать....
Go to the top of the page
 
+Quote Post
aleksandr LAN
сообщение Apr 30 2009, 05:35
Сообщение #4





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-09
Пользователь №: 48 443



Цитата(kosyak© @ Apr 30 2009, 08:49) *
Я сдирал прошивку с сигналов с помощью https://www.silabs.com/Support%20Documents/...are/UtilDLL.zip, потом этаже программа свои дампы может и заливать....

Да есть и такая утилита в комплекте(Flash Programming Utility) - ток не могу разобраться с ней, вернее если в ней считываю код и при попытке записи его - пишет что неверный формат нех-файла(((( может я чет не так делаю??

to barabek
спасибо, если не разберусь как сделать программно(хотя это возможно) - сделаю как ты подсказал.)
Go to the top of the page
 
+Quote Post
aleksandr LAN
сообщение Apr 30 2009, 11:45
Сообщение #5





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-09
Пользователь №: 48 443



Barabek спасибо еще раз, строчек оказалось десяток всего, пересчитал вручную, прошил - вроде показывает что все норм, осталось ток впаять в устройство и проверить)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 18:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01367 секунд с 7
ELECTRONIX ©2004-2016