AVB> Кстати о пин-ту-пин совместимости. Можно спросить у вас, как у "особ AVB> особо приближенных" :) к микрочиповским диллерам о такой проблеме. Когда AVB> микрочип таки разродится совмеcтимым по ногам c PIC18F452 каменем (любым AVB> с 18 ядром), но с объемом ПЗУ >= 24576 слов? Может быть попробуете узнать AVB> по своим каналам. объемом ПЗУ >Местные диллеры не сообщают ничего нового AVB> по сравнению с лайнкардом.
Что-то мы далеко ушли от темы "а где мальчик?" ;) Можно где-нить стянуть 8.01 PL1 ?
DO> Можно выложить у меня ftp://netuse.sytes.net, user: EMBEDDED, Pwd: DO> RU_EMBEDDED, там в UPLOAD можно заливать. В принципе там лежит кажется и DO> такая версия, но я ее ставить не пробовал (мне пока хватает честно DO> купленной).
Совсем недавно 27 Feb 04 12:38, Dima Orlov писал к Ruslan Mohniuc:
DO> Попробуй сейчас. Пробовал и во вторник, и сегодня. Hе фурычит. Может, у меня чего не так, не знаю :( Hо вообще-то надобность пропала. По нижеперечисленным причинам. :)
После чего ставите так, как написано там. У меня все компилируется. Проверить работоспособность свежескомпилированного не успел, но думаю, все ОК. :)
По сравнению с компиляцией того же проекта 8.01PL3 при компиляции с помощью
8.02PL1 замечены изменения: Получившийся код короче :) В одной программе- на 1% (из 3К), RAM не изменилось в другой- на 4% (вместо 88% PIC16F877 осталось 84%), RAM: освободился 1 байт.
При беглом сравнении листингов 8.01PL3 и 8.02PL1 замечено:
Для переключения в 0-й банк RAM 8.02PL1 часто применяет команду "clrf 3", вместо двух команд, применяемых 8.01PL3 ("bcf 3,5", "bcf3,6").
По-другому в памяти размещены функции.
В первой из тестируемых программ вся экономия ROM получена в результате такого "быстрого переключения" в 0-й банк. Во втором случае- вероятно, еще и за счет перераспределения функций по памяти (реже страницы ROM переключаются). Hо это я не стал досматривать, пока лениво.
Так что вот. Hе нужен Вам всем тот 8.01PL3, который я не смог перекачать. Берите 8.02PL1 и работайте с ним. :-)
2DO:
DO> Зависит от задач. Да, тут у каждого по-своему.
PS. Биг сенкс за ftp. Жил бы ты ближе- я бы бутылку коньяка не пожалел :) Причем ясно, что за счет фирмы, а не за свой- так бутылку получше купить можно было бы :)
Привет, Ruslan! Вы писали для Dima Orlov & All , Thu, 04 Mar 2004 10:14:15 +0300:
RM> При беглом сравнении листингов 8.01PL3 и 8.02PL1 замечено: RM> 1. Для переключения в 0-й банк RAM 8.02PL1 часто применяет команду RM> "clrf 3", вместо двух команд, применяемых 8.01PL3 ("bcf 3,5", RM> "bcf3,6").
Я бы сказал всегда заменяет две на одну.
RM> 2. По-другому в памяти размещены функции. RM> В первой из тестируемых программ вся экономия ROM получена в RM> результате такого "быстрого переключения" в 0-й банк. RM> Во втором случае- вероятно, еще и за счет перераспределения функций RM> по памяти (реже страницы ROM переключаются).
А вот этого я не заметил. Да же для вызов static функций сопровождается переключением страниц ROM, правда не всегда. Переключения нет если static функция ни чего не вызывает, как мне показалось. Оптимизация по максимуму.
Кроме того, поменялось название фузесов (пришлось перестраиваться под новые названия) и стала не правильно работать арифметика с указателями. Например:
const char str[]={1,2};
char f(const char *s) { ++s; return *s; }
main() { f(str-1); // здесь будет ошибка }
В общих чертах - вместо того что бы вычесть 1 из указателя он прибавляет к нему 255. Пришлось исправить на f(str+0xffff); Версия 8.01 все делала правильно.
2 официальные пользователи: сообщите им об этом, глядишь исправят и до нас патч дойдет :).
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.