Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Необходимо определиться с языком программирования для MSP340
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
РДимка
Трудность заключается в том, что я только начинаю знакомиться с данным контроллером и не имею обширного опыта в разработках устройств на МК!
При написании диплома в компании, занимающейся автоматизацией, мне сказали, что они давно уже отошли от assemblera, но внятно не аргументировали почему!
Теперь же, работая в другой фирме, я вижу, что все пишут на assemblere!
Я конечно понимаю, что проги на assemblere выполняются быстрее, однако в случае, где не критично время быть может логичнее было бы ичспользовать С?
Вообщем хочу услышать плюсы и минусы, за и против!
Тем более, что большого опыта ни с тем ни с другим языком я не имею! Но с С знаком ближе.
Еще немаловажный факт - наличие примеров (кодов), библиотек и готовых модулей, как то прием передача по интерфейсам и прочее!!!

Спасибо.
Olegovich
Для MSP430 - скорее Си, чем Ассемблер. На мой взгляд, ассемблер там на редкость неудобный.
Что хорошо - есть побайтовая адресация, IAR-компилятор с Си работает весьма прозрачно, так что можно посмотреть, что получается в коде.
А если говорить глобально ассемблер или Си, то я думаю все согласятся, что формула "Си + ассемблерные вставки" для встраиваемых систем оптимальна.
unichorn
Лично я за С и С++ ну и куда ж без ассемблерных вставов в критичных по времени местах smile.gif
На С и С++ удобно делать многие вещи которые на ассемблере замучаешся.
Например работа с графическими дисплэями и большой системой менюх и т.д.
Aleks17
По моему в настоящее время наиболее значимую роль играют такие вещи как "time to market" - время вывода продукта на рынок, переносимость программных продуктов, возможность командной работы над проектом и пр.
Поэтому (с этой точки зрения) предпочтение однозначно отдаётся языкам высокого уровня.

С другой стороны иногда встают задачи, требующие значительной оптимизации (например реакции на прерывания и пр.). Тогда приходится помогать компилятору и писать участки кода на ассемблере.
Но это лишь фрагменты программы и не более того.
VAI
Я сам начинал с ассемблера, потом меня ЗАСТАВИЛИ перейти на С.
И теперь я именно за С. Про время на разработтку уже говорили, про большие проекты тоже, про переносимость программ тоже говорили.
И с процессора на процессор перейти очень легко. Не надо новый язык учить/осваивать.
Включите генерацию ассемблерного листинга в своем компиляторе, смотрите, какой код получается, со временем и асм освоите и научитесь писать так, что не понадобятся асм-оввские вставки (так называемый "оптимизирующий программер" :-).
IgorKossak
Цитата(VAI @ Dec 28 2005, 06:45) *
"оптимизирующий программер" :-).

Который иногда, но не всегда, бывает эффективнее оптимизирующего компилятора.
Сам пишу на С/С++. Time to market (как и все остальные доводы) в моём случае намного важнее 1% производительности.
0xFF
Одно из главных достоинтво ассемблера - на нем удобней общаться с переферией, реализовать, например, 1-wire в том же IARe довольно проблематично на С, а вот время исполнения на Ассемблере можно четко рассчитать (временные интервалы).
goodwin
Цитата(Olegovich @ Dec 27 2005, 17:01) *
Для MSP430 - скорее Си, чем Ассемблер. На мой взгляд, ассемблер там на редкость неудобный.


?! Неправда насчет ассемблера (вернее - архитектуры и набора команд). Если конечно не начинать до этого с PIC. PDP был вообще сказка...
gleb
Вообще-то это провокация ..
ИХМО, писать надо на С, но знать ассемблер.
Не стоит копаться в регистрах и т.д. - кроме этого дофига проблем - жалко время
Потом - сколько времени займет написание 60кбайт на асме?
Переносимость - у меня большие куски програм кочуют с PIC на MSP430 на ARM на 51 и т.д - сколько времени на асме перевести драйвер для NAND flash с PIC на MSP430 - если нечего делать, можно писать на асме
Mt_
Цитата(Olegovich @ Dec 27 2005, 17:01) *
Для MSP430 - скорее Си, чем Ассемблер. На мой взгляд, ассемблер там на редкость неудобный.


У MSP430 очень хороший асм, авр тут просто CENSORED, хотя я много пишу на авр.
IgorKossak
Цитата(РДимка @ Dec 27 2005, 14:57) *
...Но с С знаком ближе.
Еще немаловажный факт - наличие примеров (кодов), библиотек и готовых модулей, как то прием передача по интерфейсам и прочее!!!
Спасибо.

1. Если с С знакомы больше, то на нём и пишите.
2. Что касается "библиотек и готовых модулей", то в случае с С найдёте их гораздо больше и не обязательно под платформу 430. Портирование труда не составит.
3. Многие компиляторы С могут выдавать в качестве выходного файла в том числе и ассемблерный если уж очень понадобится. Так сможете заодно и ассемблер освоить.
psL
Ся хороши с точки зрения сроков разработки, последующего сопровождения (а вдруг Вы уволитесь?), миграции на другую платформу и разработки алгоритма (можно прямо на PC отлаживаться без targeta вообще). asm оптимален для создания шедевров цена-производительность, но практически лишен всех преимуществ Си, если только это не грамотное модульное программирование с использованием макросов и внятными комментариями. Так что выбирайте Си, если хотите универсальности, asm - если хотите быть самым важным и незаменимым человеком в проекте, а будущее все равно за Java!:)smile.gifsmile.gif
IgorKossak
Цитата(psL @ Feb 11 2006, 15:16) *
... создания шедевров цена-производительность... а будущее все равно за Java!...

Как по мне, так это несовместимые тезисы.
Или уже что-то поменялось в программерском мире?
psL
конечно несовместимыеsmile.gif А про Java я просто пошутил.
Во всяком случае пока.
=AK=
Цитата(IgorKossak @ Dec 28 2005, 17:07) *
Сам пишу на С/С++. Time to market (как и все остальные доводы) в моём случае намного важнее 1% производительности.

По скорости разработки С уступает Форту. В основном в силу того, что Форт обеспечивает интерактивность и инкрементальность, которая С-программистам и не снилась. Цикл добавления новой функции и ее отладки в Форте занимает раз в 10 меньше времени чем на С (или хоть на той же Жабе). Однако как язык Форт немного ниже уровнем, чем С, поэтому суммарное время разработки на Форте получается меньше не в 10 раз, а всего примерно в 2-3 раза.
sensor_ua
Как вопрос на засыпку - почему большинство C-компиляторов платные? Даже GCC подточенный дляMSP и обернутый в Eclipse? Действительно на C писать быстрее и time-to-market строит порядок. Иной код на С так оптимален (и оптимизирован), что не всякий специалист, пишущий на асме, так разложит. Конечно, если пользоваться где-придется длинными индексами массивов, передачу параметров писать всегда в лоб - без структур и указателей на них, не уметь пользоваться другими возможностями, то завсегда получим больше кода и медленнее в работе.
З.Ы. Хотя, ИМХО, у MSP430 ассемблер удобный.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.