Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 16 Oct 2005 05:37:00
+0400:
DT>>> Так чего бы не писаться. Я говорю, что _архитектура не DT>>> приспособлена_. Прямо адресуемой памяти 128 байт, под стек DT>>> -
DO>> Для чего не приспособлена?
DT> Для создания эффективных компиляторов с ЯВУ. Вот на том же
Вполне приличные компиляторы созданы.
DT> MSP430 IAR компилит так, как я бы сам на ассемблере написал, а
Для i51 - тоже самое. Если конечно не писать на С вещи, которые на этой архитектуре реализуются громоздко (например вызов функции по указателю).
DT> то и эффективнее. :) Потому что ему структурность-читаемость DT> сохранять не надо.
Именно. Только какая тут связь с архитектурой?
DT>>> Хорошо ещё, если их два. С другой стороны, например, DT>>> битовые переменные: удобная и эффективная вещь, но в C даже DT>>> типа bool нет, чтобы их поддержать...
DO>> Для битовых переменных не нужен тип bool, но конкретно в C DO>> для i51 есть расширения для работы с битами.
DT> Битовые переменные - это эффективная реализация именно DT> абстракции булевых чисел.
Да нет, это прямого отношения к манипуляции битами портов/памяти не имеет.
DT> И в 51-м эта реализация очень удачная. Единственное, чего не хватало - DT> это xor двух бит.
DT> Hо если, действительно, есть что-то вроде встроенного типа DT> bit, то это тоже неплохо.
Есть, там есть форма porta.5, подробности я уже не помню, так как уже много лет с i51 не работаю.
DT>>> А на ассемблере можно извернуться. Особенно если проект DT>>> несложный.
DO>> Тогда тем более писать на С, пусть он и изворачивается.
DT> Тогда почему не взять более уместный кристалл?
Выбор кристалла - дело совсем другое. Последний раз мы выбрали 51 кристалл по желанию заказчика. Сами мы PIC'и применяем, они куда приятнее по своим возможностям.
DT> Сейчас их масса, подходящих по любым параметрам. Те же AVR-ы, при всей DT> их кривоватости :), под C заточены неплохо.
Да по-фигу как оно под С заточено. Мы неоднократно прицеливались на AVR и неоднократно от Микрочипа получали больше или дешевле. Аналоги тех же pic16f73,
16f819, 16f88, 12f675 у Атмела есть, но они дороже. Да, у них может быть при этом больше памяти, но на кой она мне нужна,если я влажу в имеющуюся? Кроме того, что куда важней, с PIC'ами есть опыт их применения в тяжелейших помеховых условиях. Набирать его с атмеловскими кристаллами (даже если предположить что у них с этим не хуже, хотя есть обратные данные) - это лишие расходы и лишняя работа ради весьма призрачных преимуществ.
dima
formatting link