Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Форум разработчиков РЭА »
А нужно ли современному разработчику РЭА знать С? (страница 1)

Версия для печати (настроить)
Страницы: 1 2

Новая тема | Написать ответ

Подписаться

Автор Тема:   А нужно ли современному разработчику РЭА знать С?
Протираю штаны,пью чай
unregistered
написано 29 Октября 2005 17:57  ПравкаОтветитьIP

По-моему, вполне достаточно знать асм для конкретных процессоров. С-компиляторы обычно не бесплатны, и генерят куда больший размер файла для прожига, да и по времени выполнения тоже не блещут. Так нужен ли С?

Весельчак У
Moderator

Сообщений: 6998
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 30 Октября 2005 03:09ИнфоПравкаОтветитьIP

Иногда на ассемблере слишком долго программу писать, и не всё так плохо с компиляцией из C.
Так что я считаю, что желательно.

misyachniy
Member

Сообщений: 109
Откуда: Kyiv
Регистрация: Февраль 2002

написано 31 Октября 2005 11:59ИнфоПравкаОтветитьIP

Для процессоров есть беплатные компиляторы.
Я лично пробовал компилировать для x51, MSP430, ARM.
И постоянно пользуюсь для AVR.
Есть также для х86, MOTOROLA и др.
Сказать что код в N раз больше не могу.
Если не злоупотреблять переменными с плавающей точкой, синусами косинусами то код довольно компактный.
Или printf может съесть 2К кода.

Нужно конечно разбираться как реализованы некоторые тонкости.
Например в ASM я просто в сегментном коде пишу
'db "Hello world!",0'
А затем заношу в регитры смещение.
А в конкретной реализации C нужно искать как правильно реализовать. То ли специальный модификатор, то ли макрос.

Нужен ли С?
Зайдите на сайт объявлений вакансий и примите решение сами.

Протираю штаны, пью чай
unregistered
написано 31 Октября 2005 18:48  ПравкаОтветитьIP

Зайдите на сайт объявлений вакансий и примите решение сами.
Нууу, в этом-то плане, безусловно, нужно-)))
я имею ввиду, для себя лично, а не для галочки при трудоустройстве.
По мне, так на асме проще.Да и исходников готовых в нете навалено на асме куда как больше, чем на С. Имхо,конечно-)

misyachniy
Member

Сообщений: 110
Откуда: Kyiv
Регистрация: Февраль 2002

написано 01 Ноября 2005 11:02ИнфоПравкаОтветитьIP

Для себя лично, каждый решает сам.
На вкус и цвет - товарищей нет :-)
Вот вы пъете чай, а я кофе :-)

Если у меня есть большой кусок от старой разработке на ASM - вытягиваю его и дописываю.
Если проект большой или требует принятия множество решений.
Например если датчик сработал - включить это клапан.
Пока нет сигнала о том, что поршень пришел в шток положение
и не вышло время - ждать.
Время вышло и штока нет - останавливаем машину.


Добавление от 01 Ноября 2005 11:04:

"Пока нет сигнала о том, что поршень пришел в шток положение
и не вышло время - ждать."

читать как:

"Пока нет сигнала о том, что шток пришел в нужное положение
и не вышло время - ждать."

Весельчак У
Moderator

Сообщений: 7013
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 01 Ноября 2005 15:27ИнфоПравкаОтветитьIP

А мне пришлось перетягивать некоторые части программы через 3 процессора. Для x51 было написано на ассемблере, далее последовал MSP430 - пришлось переписывать заново, но у же на C, далее использовал на AVR - модификация оказалась минимальной. А ежели ещё придётся для ARM'а писать...
Да и написание плавающей арифметики уже лениво повторять (или переводить на другой ассемблер), а с C таких проблем нет.

Dikoy
Member

Сообщений: 851
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 01 Ноября 2005 18:04ИнфоПравкаОтветитьIP

С-компиляторы обычно не бесплатны,
Есть бесплатные С, но хреновые. Хороший стоит денег, но не таких уж больших, чтоб контора не могла себе этого позволить. А если сертификации не требуется - скачал компилятор и кряк, и в перёд, для дому, для семьи...

и генерят куда больший размер файла для прожига,
А всегда ли он нужен? Если я делаю примитивный лабораторный стенд или ещё какую-нибудь сравнительно медленную вещь, мне проще на С коде-вижна за час прогу накидать, и пусть она съест килобайт - в 2313 их два

В инете это уже обсуждалось. В итоге большинство как правило приходит к мнению, что и для больших и для малых проектов удобнее С. Причём код с хорошим компилятором и знанием дела получается не многим больше асмового. + никто ведь не мещает оттранслировать только что написанный С код в асм (тем же компилятором) и любоваться (читай - оптимизировать) сколько хош. Косяки некоторые подправить получится. В итоге быстрее получится, чем с нуля на ассме писать.
Я за асм уже 7 лет не садился

Протираю штаны, пью чай
unregistered
написано 02 Ноября 2005 07:20  ПравкаОтветитьIP

пусть она съест килобайт - в 2313 их два
ага..а в мегах их вообще до..-)))
можно по поводу и без повода мегу пихать, и строчить код, не заботясь о размере-)))
даже если в меге заняты всего две ножки из фиг знает сколько=)

HI
unregistered
написано 03 Ноября 2005 07:14  ПравкаОтветитьIP

Не пойму вашей проблемы. Если знаешь АСМ, какие сложности изучить С? Делов на пару дней..

Протираю штаны, пью чай
Junior Member

Сообщений: 3
Регистрация: Ноябрь 2005

написано 03 Ноября 2005 15:43ИнфоПравкаОтветитьIP

"Не пойму вашей проблемы. Если знаешь АСМ, какие сложности изучить С? Делов на пару дней.."
выучить-не вопрос, было бы ЗАЧЕМ.Хватает бесполезных знаний 8-0

Guest
unregistered
написано 03 Ноября 2005 21:52  ПравкаОтветитьIP

вот пока вы будете пить чай и решать асм или не асм (для двух ножек меги) все давным давно будет написано

Протираю штаны, пью чай
Junior Member

Сообщений: 6
Регистрация: Ноябрь 2005

написано 03 Ноября 2005 22:19ИнфоПравкаОтветитьIP

все давным давно будет написано
еще лучше-никакой работы, только лезь в интернет, дергай исходники и копипасть в свой проект 0=)

Dikoy
Member

Сообщений: 853
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 04 Ноября 2005 01:45ИнфоПравкаОтветитьIP

Протираю штаны, пью чай
даже если в меге заняты всего две ножки из фиг знает сколько=)
Если мне нужна трёхэтажная математика и быстро, то я возьму мегу и задействую эти две ножки. Откомпилю С с оптимизщацией на скорость и всё за один рабочий день. На ассме это будет писаться хз сколько времени. Опять же, чтобы писать быстрые коды на ассме, нужно УМЕТЬ писать быстрые коды на ассме (это я не про вас а вообще ). ИмейджКрафт по мнению многих генерит код не многим хуже ручного ассма, набитого профи. И всё быстро. Опять же, ассмовые вставки никто не отменял. Можно пол проги набить на ассме, и только самое заковыристое на С. Компилятор ассмовые вставки не тронет и оттранслирует только С. Это на случай, если вы уверены, что этот участок напишете лучше компилятора

Протираю штаны, пью чай
Junior Member

Сообщений: 7
Регистрация: Ноябрь 2005

написано 04 Ноября 2005 19:51ИнфоПравкаОтветитьIP

Ну не знаю, может если только контора богатая. Мне например никто не даст совать меги направо и налево, в частности для лабораторного стенда-точно не даст-)

Весельчак У
Moderator

Сообщений: 7026
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 05 Ноября 2005 02:10ИнфоПравкаОтветитьIP

Давно показано, что массовое производство нуждается в дешёвом решении, а штучные изделия и мелкосерийное производство - минимальных затрат на разработку. Может контора и бедная, но считать деньги пока мало кто научился. БОльшую долю затрат в разработке составляет зарплата разработчиков, на "железки" приходится намного меньшая часть. А иногда можно просто не успеть, и разработка просто станет никому не нужна.

Dikoy
Member

Сообщений: 854
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 06 Ноября 2005 20:50ИнфоПравкаОтветитьIP

Протираю штаны, пью чай
Ну не знаю, может если только контора богатая. Мне например никто не даст совать меги направо и налево
А если нужна скорость? В савон заворачиваться?
Ладно, теперь хоть тини2313 и тини26 шустрые есть, а раньше - тока мега...

Весельчак У

Guest
unregistered
написано 06 Ноября 2005 21:48  ПравкаОтветитьIP

2 Протираю штаны, пью чай
и какое же соотношение по цене 2313 и mega (скажем 8) в Вашем регионе?, неужто эта разница стоит штанов ?

Dikoy
Member

Сообщений: 855
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 07 Ноября 2005 16:29ИнфоПравкаОтветитьIP

Guest
90S2313 дороже мега48

в частности для лабораторного стенда-точно не даст-)
Ладно, рассмотрим на примере.
Есть стенд, имитирующий работу какоё-то схемы. Делаем 5 экземпляров. На нём 10 светодиодов, 10 переключателей и зуммер. И того, 21 нога. Код занял 500 байт.
Вариант 1. Берём восьминогую тини (любую). Обвешиваем регистрами с последовательной загрузкой/выгрузкой. Лепим по транзистору на каждый светодиод или применяем дополнительную микру с повышенной выходной нагрузкой. Карячимся с кодом, где куча загрузок/перегрузок этих регистров, мучаем P-CAD, получаем двусторонку с неслабыми размерами, в спецификации не менее десятка элементов.
Вариант 2. Берём мегу (пусть будет 8, чтоб выгода была не так очевидна, как у 48 ). Добавляем пару резисторов, конденсаторов. Элементарный код пишется (да хоть на ассме!) за час. Маленькая односторонняя платка, которую можно и самому сделать, в спецификации одна микросхема и несколько пассивных компонентов. Полностью вся разработка с оформлением ТД занимает день. Уже не говоря о том, что переключатели можно включить в r-2r матрицу и завести на внутренний АЦП используя всего ОДНУ ногу
Вот такие вот пирожки с котятами... (с)

Весельчак У
Moderator

Сообщений: 7034
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 08 Ноября 2005 02:13ИнфоПравкаОтветитьIP

Dikoy
Некорректный пример. Разговор шёл именно о C vs ASM. МК с разным количеством ног для того и существуют, чтобы выбирать под свою задачу. Другой вопрос - влезет ли программа на C в маленький кристалл.

Лепим по транзистору на каждый светодиод или применяем дополнительную микру с повышенной выходной нагрузкой.
Совершенное излишество. Любая 74AC/HC спокойно будет работать на светодиод.

Dikoy
Member

Сообщений: 858
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 08 Ноября 2005 17:52ИнфоПравкаОтветитьIP

Весельчак У
Некорректный пример.
Я всего лишь пояснил, что иногда выгоднее применить более дорогой кристалл, а в итоге выйдет дешевле.

Другой вопрос - влезет ли программа на C в маленький кристалл.
Иногда на ассме можно написать код, который будет толще и медленней компилятрного. Так что оптимал, ИМХО, С с ассмовыми вставками. Хотя я редко так делаю. В основном обхожусь чистым С и всё влазит.

Любая 74AC/HC спокойно будет работать на светодиод.
Эт смотря какой светодиод У шинных формирователей до 80 мА, кажется? Дык есть люстры, которые и по 200 жрут...
Но в любом случае - каждый лишний пункт в спецификации прямо или косвенно удорожает устройство - личный опыт. Иногда даже оказывается выгоднее вместо транзистора другого типа применить несколько, но таких, которые уже есть в схеме, хотя цена у них одинакова.

Весельчак У
Moderator

Сообщений: 7038
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 09 Ноября 2005 02:23ИнфоПравкаОтветитьIP

Dikoy
Я всего лишь пояснил, что иногда выгоднее применить более дорогой кристалл, а в итоге выйдет дешевле.
Повторяю - вопрос был о языке программирования, а не о дороговизне кристалла.

В основном обхожусь чистым С и всё влазит.
А в tiny?

Иногда даже оказывается выгоднее вместо транзистора другого типа применить несколько, но таких, которые уже есть в схеме, хотя цена у них одинакова.
Это называется унификацией. 10 лет учёбы не просто так прошли, кое-что помню.

Dikoy
Member

Сообщений: 862
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 09 Ноября 2005 04:27ИнфоПравкаОтветитьIP

А в tiny?
В смысле объёма или наличия у них стека/регистров?

Весельчак У
Moderator

Сообщений: 7041
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 09 Ноября 2005 13:34ИнфоПравкаОтветитьIP

Dikoy
И того, и другого. Хотя, как я понимаю, проблема возникает от отсутствия ОЗУ - некуда кучу девать.

Dikoy
Member

Сообщений: 863
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 09 Ноября 2005 16:19ИнфоПравкаОтветитьIP

Весельчак У
Насколько я знаю, у новых тини всё есть и С компиляция идёт без проблем.
тини2313 прошивал уже несколько раз - всё ок. Да и старенькие тини, типа 12, нормально работали. Я думаю, КодеВижн хорошо код подстраивает под архитектуру.
Что до объёма, то даже код из кодевижна редко вылазит за килобайт... Да и вообще, я тини ставлю в основном в элементарные схемы. Сложных задач на них вешать пока не приходилось. По этому и проблем с объёмом не возникало.

HI
unregistered
написано 06 Декабря 2005 10:52  ПравкаОтветитьIP

цитата:
Dikoy писал:
... По этому и проблем с объёмом не возникало.

Вот и ответ, что лучше "бейсик или С"
Как только Вам потребуется RT OS для Вашего мелкого - и С и ASM потребуются...

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика