Satyr, не надо цитировать, тем более полностью, сообщение на которое сразу за ним отвечаешь..
Форум не резиновый и читать такие темы не удобно.. Де-жа не котёнок..
МитяРа..
А что ж удивительного ? У меня ни капли фанатизма, только прагматизм
Я всегда готов поменять привычное на лучшее.
А уж лучшее оно или нет - узнаем, когда будут более жирные МК и с ценами.
Satyr писал(а):всегда готов поменять привычное на лучшее.
Его величество - новатор, однако..
Так что там с потреблением, например у NXP?
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Что касается ST, то они всяко более прожорливыми будут.
Меня, например, абсолютно это дело не тревожит. А вот, к примеру, сводная табличка энергопотребления STM32F407 в рабочем режиме и работой с флэш:
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего ) MrYuran: Самые ортодоксальные — это PICудеи ) Katz: Не, 51-ники. )
У L-ки тоже не все так радужно, к сожалению.
А насчет "с чем сравнивать" - почему бы и нет?
Зато видна мощща!
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего ) MrYuran: Самые ортодоксальные — это PICудеи ) Katz: Не, 51-ники. )
ploop писал(а):просто не знаю, куда бы пристроил, будь они у меня.
Я себе представляю, как я со своим IAR Kickstart Edition с ограничением кода в 32 кБ ваяю приложение для 1-мегабайтового МК.
Да, 1 Мб флэша - хоть модуль управления искусственным спутником клепай.)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего ) MrYuran: Самые ортодоксальные — это PICудеи ) Katz: Не, 51-ники. )
Andy_ry писал(а):Странное мнение! Вы китайский пробовали учить? Ассемблер 8080 - 244 команды, Z80 - более 600. На ARM микроконтроллерах система команд > 4000! Библиотеки той же ST Microelectronics пишутся исключительно на С.
Извините, но Вы саму малость ошибаетесь Число команд языка ассемблера отнюдь не равно числу допустимых машинных кодов или даже формально отдельных мнемоник, а Вы, похоже, именно так и пытаетесь их считать. Так, в систему команд Thumb-2, а именно она используется во всех МК с ядрами семейства Cortex-M, за исключением Cortex-M0 (где применяется просто Thumb), согласно руководству, входит 252 команды.
На чём пишутся библиотеки, меня волнует меньше всего. А вот что мой коллега по работе, используя эти библиотеки как раз для STM32, прободался несколько дней из-за тупой ошибки в библиотеке (индусский быдлокодер, судя по всему, вместо |= написал &=, из-за чего что-то там нормально не инициализировалось), меня весьма позабавило: я-то его предупреждал, что нечего пытаться сократить сроки разработки, используя все эти "фирменные средства". Так в итоге и вышло: библиотеку выкинули в мусорку и пишем-с всё сами, причём изрядную часть -- именно на ассемблере.
Последний раз редактировалось SII Ср фев 29, 2012 20:27:50, всего редактировалось 1 раз.
Satyr писал(а):
8080 - CISC, там полно бредовых никчемных комманд, типа работы с BCD арифметикой и строками.
ARMы - RISC. Cortex-M3 еще и без каких либо расширения наборов комманд, набор комманд у него очень компактный и практически ортогональный, как и задумано в концепции RISC -))
8080 -- он, конечно, CISC, причём с паршивой системой команд (хотя BCD-арифметика не такая уж бесполезная, а работы со строками там точно нет, это вроде как в Z80 появилось). Однако современные ARM'ы идеи RISC-архитектуры сохраняют главным образом в своём названии. У Thumb-2 от RISC'а осталось вообще только одно свойство: невозможность обрабатывать данные прямо в памяти. На самом деле эта система команд ни разу не ортогональная (из-за совместимости с чисто 16-разрядной по кодировке Thumb в первую очередь), работа с регистрами не полностью равноправна и т.д. Настоящая система команд ARM в этом плане лучше: она куда ортогональнее и всегда кодируется словом одной и той же длины (32 бита, а не 16/32, как в Thumb-2), что намного ближе к тому, что изначально понималось под аббревиатурой RISC.
Библиотеки и даташиты даже именитых производителей нынче ошибками наполнены так, что если делается чтото более менее серьезное, вероятность напороться на них 100%
Атмел в части AVR32 особенно крут был -))
3DRaven писал(а):Так как решено перебираться на stm32 то вновь достал уже покрытую пылью stm32 discovery
Эх! Хорошо мне, я уже года три на Eclipse софт пишу, а тут все под него заточено и для отладки
и плагины есть под АРМ, и все, что угодно
Сразу предупреждаю. GCC -- компилятор плохой, что бы ни говорили его фанаты. По эффективности кода для ARM он вчистую сливает, например, кейловскому, для IA-32 (x86) -- мелкомягкому, не говоря об интеловском, и т.д. Что ещё хуже, временами для ARMа он генерит неработоспособный или потенциально ошибочный код. Я сталкивался с этим на версиях 4.5.3 и 4.6.1, если склероз не изменяет. В частности, потенциально неверный код появлялся при обращении к структурам, объявленным как volatile (а именно так должны объявляться структуры, описывающие регистры всякой периферии): там почему-то вместо однократной записи по нужному адресу иногда генерируется двойная запись, что может привести к неработоспособности программы. Так что, если у Вас творится какой-то бред, не поленитесь проверить, что там сгенерил транслятор
P.S. Сам я время от времени пользуюсь GCC, но только из-за того, что в него входит компилятор Ады. На Си не пишу в принципе, за исключением редких тестов чего-нибудь, ну а в реальной работе, помимо Ады для "высокоуровневых" задач, широко использую ассемблер для "низкоуровневых".
SII писал(а):
Сразу предупреждаю. GCC -- компилятор плохой, что бы ни говорили его фанаты. По эффективности кода для ARM он вчистую сливает, например, кейловскому, для IA-32 (x86) -- мелкомягкому, не говоря об интеловском, и т.д.
Я удивлюсь, елси есть хоть одна архитектура, под которую GCC не хуже среднего по больнице. При условии, что он под нее не единственный.
Собсно, как и практически со всем 'свободным' ПО. Нет мотивации - нет результата.
Под МК под многие архитектуры IARовский компиляторы или просто лучшие, или одни из лучших.
Satyr писал(а):Я удивлюсь, елси есть хоть одна архитектура, под которую GCC не хуже среднего по больнице. При условии, что он под нее не единственный.
Собсно, как и практически со всем 'свободным' ПО. Нет мотивации - нет результата.
Под МК под многие архитектуры IARовский компиляторы или просто лучшие, или одни из лучших.
Насчёт IARа не знаю: мне его среда разработки не понравилась, а главное -- ассемблер, падающий на русских буквах в комментариях (!), посему его посмотрел и выбросил. У кейла в этом плане всё более-менее нормально (хотя не без своих заморочек), поэтому в конце концов на нём и остановился, хотя использую лишь ассемблер, компоновщик и отладчик (благо, сгенерированные GCC из адского кода объектники благополучно собираются с ассемблерными на кейле).
Что же до мотивации, то, ИМХО, она -- не самое главное в таких вопросах. Например, если для человека некая задача действительно интересна, он будет ей заниматься, даже если прямой выгоды не получает. Тут скорей сказывается полный хаос в процессе разработки (каждый делает то, что ему интересно, нет никакой внятной централизации, никто не отвечает за устранение ошибок и т.п.), а также невысокая квалификация большинства разработчиков: энтузиазм -- это хорошо, но необходимость прямых рук и кривых извилин ещё никто не отменял, а таковые обычно сидят на приличных деньгах в коммерческих компаниях. Особенно учитывая, что разработка хорошего транслятора -- очень нетривиальная задача, и по-настоящему для решения подобных задач подходят лишь очень немногие программисты. Это не светодиодами на МК мигать и не формошлёпством заниматься