Перейти к содержанию
    

Необходимо определиться с языком программирования для MSP340

Трудность заключается в том, что я только начинаю знакомиться с данным контроллером и не имею обширного опыта в разработках устройств на МК!

При написании диплома в компании, занимающейся автоматизацией, мне сказали, что они давно уже отошли от assemblera, но внятно не аргументировали почему!

Теперь же, работая в другой фирме, я вижу, что все пишут на assemblere!

Я конечно понимаю, что проги на assemblere выполняются быстрее, однако в случае, где не критично время быть может логичнее было бы ичспользовать С?

Вообщем хочу услышать плюсы и минусы, за и против!

Тем более, что большого опыта ни с тем ни с другим языком я не имею! Но с С знаком ближе.

Еще немаловажный факт - наличие примеров (кодов), библиотек и готовых модулей, как то прием передача по интерфейсам и прочее!!!

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для MSP430 - скорее Си, чем Ассемблер. На мой взгляд, ассемблер там на редкость неудобный.

Что хорошо - есть побайтовая адресация, IAR-компилятор с Си работает весьма прозрачно, так что можно посмотреть, что получается в коде.

А если говорить глобально ассемблер или Си, то я думаю все согласятся, что формула "Си + ассемблерные вставки" для встраиваемых систем оптимальна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лично я за С и С++ ну и куда ж без ассемблерных вставов в критичных по времени местах :)

На С и С++ удобно делать многие вещи которые на ассемблере замучаешся.

Например работа с графическими дисплэями и большой системой менюх и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По моему в настоящее время наиболее значимую роль играют такие вещи как "time to market" - время вывода продукта на рынок, переносимость программных продуктов, возможность командной работы над проектом и пр.

Поэтому (с этой точки зрения) предпочтение однозначно отдаётся языкам высокого уровня.

 

С другой стороны иногда встают задачи, требующие значительной оптимизации (например реакции на прерывания и пр.). Тогда приходится помогать компилятору и писать участки кода на ассемблере.

Но это лишь фрагменты программы и не более того.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я сам начинал с ассемблера, потом меня ЗАСТАВИЛИ перейти на С.

И теперь я именно за С. Про время на разработтку уже говорили, про большие проекты тоже, про переносимость программ тоже говорили.

И с процессора на процессор перейти очень легко. Не надо новый язык учить/осваивать.

Включите генерацию ассемблерного листинга в своем компиляторе, смотрите, какой код получается, со временем и асм освоите и научитесь писать так, что не понадобятся асм-оввские вставки (так называемый "оптимизирующий программер" :-).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"оптимизирующий программер" :-).

Который иногда, но не всегда, бывает эффективнее оптимизирующего компилятора.

Сам пишу на С/С++. Time to market (как и все остальные доводы) в моём случае намного важнее 1% производительности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Одно из главных достоинтво ассемблера - на нем удобней общаться с переферией, реализовать, например, 1-wire в том же IARe довольно проблематично на С, а вот время исполнения на Ассемблере можно четко рассчитать (временные интервалы).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для MSP430 - скорее Си, чем Ассемблер. На мой взгляд, ассемблер там на редкость неудобный.

 

?! Неправда насчет ассемблера (вернее - архитектуры и набора команд). Если конечно не начинать до этого с PIC. PDP был вообще сказка...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то это провокация ..

ИХМО, писать надо на С, но знать ассемблер.

Не стоит копаться в регистрах и т.д. - кроме этого дофига проблем - жалко время

Потом - сколько времени займет написание 60кбайт на асме?

Переносимость - у меня большие куски програм кочуют с PIC на MSP430 на ARM на 51 и т.д - сколько времени на асме перевести драйвер для NAND flash с PIC на MSP430 - если нечего делать, можно писать на асме

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для MSP430 - скорее Си, чем Ассемблер. На мой взгляд, ассемблер там на редкость неудобный.

 

У MSP430 очень хороший асм, авр тут просто CENSORED, хотя я много пишу на авр.

Изменено пользователем IgorKossak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Но с С знаком ближе.

Еще немаловажный факт - наличие примеров (кодов), библиотек и готовых модулей, как то прием передача по интерфейсам и прочее!!!

Спасибо.

1. Если с С знакомы больше, то на нём и пишите.

2. Что касается "библиотек и готовых модулей", то в случае с С найдёте их гораздо больше и не обязательно под платформу 430. Портирование труда не составит.

3. Многие компиляторы С могут выдавать в качестве выходного файла в том числе и ассемблерный если уж очень понадобится. Так сможете заодно и ассемблер освоить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ся хороши с точки зрения сроков разработки, последующего сопровождения (а вдруг Вы уволитесь?), миграции на другую платформу и разработки алгоритма (можно прямо на PC отлаживаться без targeta вообще). asm оптимален для создания шедевров цена-производительность, но практически лишен всех преимуществ Си, если только это не грамотное модульное программирование с использованием макросов и внятными комментариями. Так что выбирайте Си, если хотите универсальности, asm - если хотите быть самым важным и незаменимым человеком в проекте, а будущее все равно за Java!:):):)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... создания шедевров цена-производительность... а будущее все равно за Java!...

Как по мне, так это несовместимые тезисы.

Или уже что-то поменялось в программерском мире?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам пишу на С/С++. Time to market (как и все остальные доводы) в моём случае намного важнее 1% производительности.

По скорости разработки С уступает Форту. В основном в силу того, что Форт обеспечивает интерактивность и инкрементальность, которая С-программистам и не снилась. Цикл добавления новой функции и ее отладки в Форте занимает раз в 10 меньше времени чем на С (или хоть на той же Жабе). Однако как язык Форт немного ниже уровнем, чем С, поэтому суммарное время разработки на Форте получается меньше не в 10 раз, а всего примерно в 2-3 раза.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...