И как этой прогой проверить совпадение? Сам пробовал? Объясни. Для сравнения в первую очередь см. адреса регистров и потом назначение бит в них. Хотя в даном случае из дш и так всё понятно.
"Начинку" МК обычно смотрят на сайте производителя...
Этого недостаточно. Помимо объема памяти программ и данных, нужно знать, какая периферия по умолчанию включена/выключена. Например в девайс ТС можно было-бы поставить тот-же 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 бит, остальное нули).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения