Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Модель ядра v6 в IAR. Нужно кое-что подправить
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
sensor_ua
Где в IAR-е хранятся формальные описания ядер? Оно чего-то как-бы из ниоткуда подставляет, типа адреса стека. Хочу надругаться.
Rst7
Цитата(sensor_ua @ Jun 26 2006, 14:25) *
Где в IAR-е хранятся формальные описания ядер? Оно чего-то как-бы из ниоткуда подставляет, типа адреса стека. Хочу надругаться.


Уж не странички ли ОЗУ Вы хотите прикрутить? Т.е., если я правильно понял, out в RAMPZ хотите на out в порт заменить? А что, идея очень даже ничего... Надо поковыряться...
sensor_ua
Оно самое. Пока предполагаю, что оно в самом компилере наглухо зашито, т.к. имеются ошибки (в смысле ругань), в которых эти регистры обозваны.
Rst7
Цитата(sensor_ua @ Jun 26 2006, 14:54) *
Оно самое. Пока предполагаю, что оно в самом компилере наглухо зашито, т.к. имеются ошибки (в смысле ругань), в которых эти регистры обозваны.


Эх, давно не брал я в руки шашек wink.gif Пошел искать, похоже нахрапом не получается, т.е. надо будет патчить компилятор. Вообщем, IDA нам поможет. Через денек-другой отпишусь.
sensor_ua
А мы со своей стороны потыкаемwink.gif IDA нам поможетwink.gif
sensor_ua
Похоже, всё значительно хуже. В этой модели есть sfr-ы RAMPD, RAMPX, RAMPY и EIND. Вроде бы старший байт адреса укладывается в RAMPD, но остальные ему нафига-то нужны же;( Ну перемаплю я, пусть "с ноги", этот RAMPD (0x38), а с остальными как?
Rst7
Цитата(sensor_ua @ Jun 26 2006, 17:53) *
Похоже, всё значительно хуже. В этой модели есть sfr-ы RAMPD, RAMPX, RAMPY и EIND. Вроде бы старший байт адреса укладывается в RAMPD, но остальные ему нафига-то нужны же;( Ну перемаплю я, пусть "с ноги", этот RAMPD (0x38), а с остальными как?


Да вообще фигня получается, не стрельнет - это я ночью поразмышлял wink.gif RAMPX, RAMPY и RAMPZ - это регистры страницы для X,Y и Z. Допустим, мы подправим их адреса, но мы НЕ СМОЖЕМ узнать, с каким индексным регистром сейчас проц обращается к памяти, и какой регистр страницы надо использовать. Т.е. настоящей реализации v6 не получится, а получится обычный регистр страницы снаружи. Так что идея провалилась sad.gif
sensor_ua
Как-нить всё-таки помучаю ручками выходной асм. Если не будет просматриваться индексная логика с использованием всех этих регистров, а только с RAMPD, то тогда надежда не потеряна. Например, дизасм показал, что инициализация переменной в сегменте в старшей странице памяти использует только RAMPD(0x38) и R16, R17.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.