И как этой прогой проверить совпадение? Сам пробовал? Объясни. Для сравнения в первую очередь см. адреса регистров и потом назначение бит в них. Хотя в даном случае из дш и так всё понятно.
"Начинку" МК обычно смотрят на сайте производителя...
Этого недостаточно. Помимо объема памяти программ и данных, нужно знать, какая периферия по умолчанию включена/выключена. Например в девайс ТС можно было-бы поставить тот-же PIC10F204, но у него имеется компаратор и после сброса он включен, следовательно нужно править прошивку. Для PIC10F320-322 прошивка вообще никаким боком не подойдет в силу разных архитектур. Некоторые подробности можно найти только в даташите.
Проблем, кроме калибровочной константы (обычно для мелколапых среднемладших) не будет. А содержимое последней ячейки ПЗУ у каждого МК разное (там movlw k - с самой константой). Ессно, что и помещать ее надо будет в соответствующее место.
Если прошивать МК нормальным программатором, то о сохранении константы можно не париться. К тому-же для устройства, что ТС намерен повторить, эта константа нах не нужна, можно ничего, никуда не размещать вообще. С PIC12F629/675 можно было налететь c чужой прошивкой и константой, но не с PIC10.
Это понятное дело, но предварительно можно выбрать похожие или более "жирные" МК, а потом уже на даташиты смотреть... Да и правило хорошего тона в начале программы инициализировать всю периферию...
Сегодня попробовал прошить 202 этой прошивкой, программатор (TL866 II Plus) выдал- "выход за пределы области..." Хотя объём прошивки меньше чем его памяти. Фигня какая то. Или программатор глючит или что то не то..
У программатора мозги определяют к какому кристаллу файл присоединен... Возможно Надо на простейшем радиогубительском коррекцию размера дампа делать...
выдал- "выход за пределы области..." Хотя объём прошивки меньше чем его памяти. Фигня какая то. Или программатор глючит или что то не то..
Из-за разного объема флеша, адрес конфигурационного регистра другой. Выход за пределы области не означает, что адрес больше, чем последний адрес. Это означает, что адрес ВНЕ области, а область разрывная. То есть адрес попал в несуществующий интервал. Читайте мануал по программированию: http://ww1.microchip.com/downloads/en/D ... 41228F.pdf
Если в наличии только *.hex файл правка параметров будет представлять проблему... Другое дело - наличие исходника с последующей перекомпиляцией под требуемый кристалл...
Изменение только адреса конфигурационного регистра в хексе не слишком большая проблема. Он всегда в конце. Одна цифра адреса смещения и пара цифр в контрольной сумме строки.
В данном конкретном случае совершенно лишнее. Сложить на виндовом калькуляторе несколько байт и найти дополнительный формат (вычесть из нуля) - элементарная процедура для коррекции одной строки.
Разница только в добавленной строчке :040064000008000888
Добавлено after 21 minute 48 seconds: Пишут, что адрес конфигурационного регистра в хексе всегда записывается как 0xFFF почему-то в доке по программированию. Хотя по факту в хексе 0x1FFE (?).
Ну компилятор микрочипа выдает вот так, как выше указал. С учетом замены в файлике инклюда на pic10f202.inc. И при сборке указан камень. Так что дело возможно не в адресе конфигурацинного слова.
В хексе адрес всегда удвоен. Поэтому реальный адрес в хексе FFF. Скорее всего, поэтому оболочка программатора верещит о выходе за адресное пространство. На самом деле, старшие биты должны быть проигнорированы. Разницы в хексах для 200 и 202 нет никакой.
Разница только в добавленной строчке :040064000008000888
Это строка относящаяся к основному коду. Стартовый адрес флеша 0x32. В строке две одинаковых команды 0x800, каждая занимает по 2 байта (реально по 12 бит, остальное нули).
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения