реклама на сайте
подробности

 
 
> Выбор пути ... Assembler или C ?
Kalina
сообщение Mar 3 2008, 19:02
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457



Всем добрый день!

Недавно начал осваивать микроконтроллеры фирмы ATMEL. Первое с чем имел дело - AT90S2313, теперь перешёл на ATmega. Проэкты в основном небольшие (думаю это времено), пользуюсь AVR Studio. Язык, который использую - assembler. Часто посещаю форум, и особо часто попадаю на программы написанные на С.
Так вот, хочу задать вопрос всем, кто чувствует себя уже уверенными пользователями обоих языков, вы не могли бы обьяснить начинающему:

1. почему люди переходят с assemblera на C?
2. какие плюсы и минусы языка С?
3. где без языка С нельзя обойтись?
4. лично ваше мнение относительно обоих? (ненормативная лексика принимается:-)

Всем, кто отзовется, заранее благодарен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rv3dll(lex)
сообщение Mar 4 2008, 06:42
Сообщение #2


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Си так и не смог выучить - не дано наверное



но что точно что если проект в упор работает на ассемблере (было много случаев, когда считал команды пропробывал несколько вариантов
это было в системе некоторой обработки, где 256 раз в секунду приходили новые данные с 12 каналов и в соответствии с частотой уже стоявшего контроллера на обработку можно было потратить 1100 циклов - меньше чем 100 циклов на канал) а там надо было умножать делить искать экстреммумы сравнивать с порогом сортировать расчитывать порог по шуму складывать в буфер и передавать по последовательной линии
это уже экстримальное программирование но параллельно каждой ассемблерной команде стояла её длительность и количество циклов от начала

на си этого сделать нельзя, задачи подобного рода не решаемы
Go to the top of the page
 
+Quote Post
ReAl
сообщение Mar 4 2008, 07:10
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(rv3dll(lex) @ Mar 4 2008, 08:42) *
на си этого сделать нельзя, задачи подобного рода не решаемы
Ну, это и на тираж предполагаемый смотреть надо...
Если ожидаемый тираж пусть 1000 штук, зарплата программиста пусть 1000 баксов, протолчётся на асме считая такты он пусть лишний месяц - итого можно спокойно брать процессор на 2 бакса дороже и спокойно писать на С. Это будет как минимум не убыточно (затраты на программиста больше получаемой им зарплаты, надо ещё о сопровождении подумать).
Числа можно двигать туда-сюда и думать, стоит ли оно того.
А также не мешает проштудировать "историю одного байта" и подумать о том, что время сейчас несколько другое, если вдруг плнадобится не 256, а 320 раз в секунду или не с 12 а с 16 каналов - разрабатывать всё заново?

Конечно, есть крайние случаи - типа такого: тираж предполагается 10000/месяц, среднерыночная цена изделия так мала, что каждый цент на счету, из соображений потребления и быстродействия приходится каждый такт экономить - и это всё одновремённо.
Но что-то мне говорит, что в большинстве случаев это не так, на асме пишется по привычке/из любвы к искусству и можно или всё написать на С, или только критические 5% написать на асме.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 4 2008, 08:54
Сообщение #4


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(ReAl @ Mar 4 2008, 10:10) *
Ну, это и на тираж предполагаемый смотреть надо...
Если ожидаемый тираж пусть 1000 штук, зарплата программиста пусть 1000 баксов, протолчётся на асме считая такты он пусть лишний месяц - итого можно спокойно брать процессор на 2 бакса дороже и спокойно писать на С. Это будет как минимум не убыточно (затраты на программиста больше получаемой им зарплаты, надо ещё о сопровождении подумать).
Числа можно двигать туда-сюда и думать, стоит ли оно того.
А также не мешает проштудировать "историю одного байта" и подумать о том, что время сейчас несколько другое, если вдруг плнадобится не 256, а 320 раз в секунду или не с 12 а с 16 каналов - разрабатывать всё заново?

Конечно, есть крайние случаи - типа такого: тираж предполагается 10000/месяц, среднерыночная цена изделия так мала, что каждый цент на счету, из соображений потребления и быстродействия приходится каждый такт экономить - и это всё одновремённо.
Но что-то мне говорит, что в большинстве случаев это не так, на асме пишется по привычке/из любвы к искусству и можно или всё написать на С, или только критические 5% написать на асме.


тираж был единичный - 3 экземпляра - на самом деле это НИР
другой процессор поставить и изготовить новый образец никто бы не дал - ВПК блин - он наверное там до сих пор стоит)))

, да и стоимость его была не на 2 доллара больше речь о TMS2406 и TMS2812 5 лет назад они только появились.

скорость написания - согласен
знаковая арифметика не беспокоит
функций навалом
можно быстро написать работающий проект не беспокоясь о забытых переменных и LDP
Go to the top of the page
 
+Quote Post
ReAl
сообщение Mar 5 2008, 08:05
Сообщение #5


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(rv3dll(lex) @ Mar 4 2008, 10:54) *
да и стоимость его была не на 2 доллара больше речь о TMS2406 и TMS2812 5 лет назад они только появились.
Ну так я же и говорю, что числа можно двигать. Тираж не 1000 шт, а 300шт - уже $6 разницы незаметно, тираж 100шт - уже $20 незаметно...
Просто далеко не всегда это понимает руководство. А иногда и не только руководство. Я сам иногда "да чё там, ну назачем для такой прикидки ставить явно в 4 раза превышащий по ресурсам кристалл", а потом ну не так, чтобы мучаюсь, но неудобство испытываю smile.gif.


Цитата(singlskv @ Mar 4 2008, 21:22) *
что бы вам не говорили местные модераторы smile.gif
но я пока еще не видел 32бит контроллеров с 6,8,14,20,28 ногами smile.gif

Luminary Micro LM3S101/102 - 28 ног ARM,

LM3S101-IRN20 ARM, 20MHz, 8kB flash, 2kB RAM, 2x32-bit Timers, RTC, 1xCCP, 1xUART, 1xSSI/SPI, 2xCMP, 2..18 GPIO, -40..+85C, 28-pin SOIC

В Киеве (Элтис) ~11грн (5.05грн/$) за штуку, <10грн мелкий опт.

По поводу велосипед vs мерседес.
Ну, С как раз не мерседес. Мерседесы где-то там около питона. С - это склад всякого барахла, из которого можно при нужде по-быстрому слепить то фордик, то "Ниву" какую (уже можно найти на осенних сельских дорогах места, где велосипед и не пройдёт), то танк небольшой. И ехать по асфальту на форде быстрее велосипеда, и по наглухо заросшему кустарником склону (там, где велосипед едет верхом на велосипедисте - с асмом часто такая аналогия бывает) проехать на танке и ещё и после себя дорогу оставить, по которой в сухую погоду и велосипедисты поедут (это я об отладить быстро алгоритм на С, а при нужде выписать критические части на асме).
Конечно, железа ;) это всё потребует больше, чем велосипед.

Итого я на велосипеде катаюсь (в обеих обсуждаемых смыслах smile.gif ) для удовольствия и чтобы тонус не терять.
А на работу... На метро smile.gif, в это время машины в пробках местами двигаются медленнее пешехода.
Это если бы я катался пусть не на уровне участника тур-де-Франс, но где-то близко - то я бы велосипедом зарабатывал, а для развлечения что-то другое придумал бы smile.gif


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kalina   Выбор пути ... Assembler или C ?   Mar 3 2008, 19:02
- - zltigo   Цитата(Kalina @ Mar 3 2008, 22:02) Для н...   Mar 3 2008, 19:15
- - Vladimir_J   Добрейшее время суток!!! В свое время ...   Mar 3 2008, 19:37
- - SasaVitebsk   Вот чисто практические данные. http://electronix.r...   Mar 3 2008, 19:41
- - Omen_13   Очередная религиозная война назревает? На асм...   Mar 3 2008, 21:03
|- - zltigo   Цитата(Omen_13 @ Mar 4 2008, 00:03) Очере...   Mar 3 2008, 21:05
- - Omen_13   zltigo, см. выше! Добавлю еще: Асм как язык ...   Mar 3 2008, 21:29
|- - Дон Амброзио   Цитата(Omen_13 @ Mar 4 2008, 00:29) наско...   Mar 3 2008, 22:45
- - Дон Амброзио   ИМХО, ассемблер - это база, которую ДОСКОНАЛЬНО до...   Mar 3 2008, 22:31
- - 608   Цитата(Kalina @ Mar 3 2008, 23:02) Всем, ...   Mar 4 2008, 07:01
- - Baser   У вас в корне неправильное понимание вопроса: ...   Mar 4 2008, 07:13
|- - Dog Pawlowa   Цитата(Baser @ Mar 4 2008, 11:13) Вот и в...   Mar 4 2008, 07:27
- - tntsasha   Сначала писала на асме. После того как пробывал на...   Mar 4 2008, 09:50
|- - researcher   По теме: http://ru.wikipedia.org/wiki/Си_(язык_про...   Mar 4 2008, 12:00
|- - zltigo   Цитата(researcher @ Mar 4 2008, 15:00) Ту...   Mar 4 2008, 16:34
- - Carbon   1. Си очень сильно экономит время разработки, экон...   Mar 4 2008, 15:10
- - rv3dll(lex)   тойота - управляй мечтой жигули не ссы доедем))))...   Mar 4 2008, 16:43
|- - Сергей Борщ   Цитата(rv3dll(lex) @ Mar 4 2008, 18...   Mar 4 2008, 17:09
- - Kalina   Да, вы меня убедили, что всё-таки С изучать прийдё...   Mar 4 2008, 17:27
|- - singlskv   Цитата(Kalina @ Mar 4 2008, 20:27) как вы...   Mar 4 2008, 19:22
- - Omen_13   8 битники останутся, только их ниша может сократит...   Mar 4 2008, 17:49
- - vshemm   У Си есть еще один большой плюс - портируемость . ...   Mar 4 2008, 17:57
- - DimaD   Kalina привет!!! Надо знать и Си, и ас...   Mar 5 2008, 07:26
|- - Kalina   Цитата(DimaD @ Mar 5 2008, 10:26) Проще т...   Mar 5 2008, 08:10
|- - Сергей Борщ   Цитата(Kalina @ Mar 5 2008, 10:10) Это оз...   Mar 5 2008, 10:19
|- - Kalina   Цитата(Сергей Борщ @ Mar 5 2008, 13:19) о...   Mar 5 2008, 11:00
|- - Сергей Борщ   Цитата(Kalina @ Mar 5 2008, 13:00) Значит...   Mar 5 2008, 12:05
|- - zltigo   Цитата(Сергей Борщ @ Mar 5 2008, 15:05) ...   Mar 5 2008, 12:32
|- - upc2   Цитата(zltigo @ Mar 5 2008, 15:32) Перефр...   Mar 5 2008, 12:47
- - DimaD   Приведу пример на тех двух программистах, которые ...   Mar 5 2008, 08:34
- - upc2   Цитата(Kalina @ Mar 3 2008, 22:02) Всем д...   Mar 5 2008, 10:46
- - DimaD   Kalin@ смелее переходите на Си. Я уже мигаю светод...   Mar 5 2008, 11:24
|- - Kalina   Цитата(DimaD @ Mar 5 2008, 14:24) Я уже м...   Mar 5 2008, 15:14
|- - Сергей Борщ   Цитата(Kalina @ Mar 5 2008, 17:14) Но сам...   Mar 5 2008, 15:59
||- - Kalina   Цитата(Сергей Борщ @ Mar 5 2008, 18:59) Я...   Mar 5 2008, 17:05
||- - singlskv   Цитата(Kalina @ Mar 5 2008, 20:05) Проэкт...   Mar 5 2008, 18:39
||- - Kalina   Цитата(singlskv @ Mar 5 2008, 21:39) Наве...   Mar 5 2008, 19:06
||- - singlskv   Цитата(Kalina @ Mar 5 2008, 22:06) Сейчас...   Mar 5 2008, 19:27
|- - zltigo   Цитата(Kalina @ Mar 5 2008, 18:14) Но сам...   Mar 5 2008, 17:25
- - DimaD   Цитата(Kalina @ Mar 5 2008, 19:05) С одно...   Mar 6 2008, 06:28
|- - mart-13   Цитата(DimaD @ Mar 6 2008, 09:28) Вот име...   Mar 6 2008, 07:50
|- - Kalina   Цитата(DimaD @ Mar 6 2008, 09:28) по пово...   Mar 6 2008, 08:22
|- - zltigo   Цитата(Kalina @ Mar 6 2008, 11:22) Но сам...   Mar 6 2008, 09:21
|- - Kalina   Цитата(zltigo @ Mar 6 2008, 12:21) У как ...   Mar 6 2008, 10:05
|- - zltigo   Цитата(Kalina @ Mar 6 2008, 13:05) Наскол...   Mar 6 2008, 10:25
|- - mart-13   Цитата(zltigo @ Mar 6 2008, 13:25) Нет. И...   Mar 6 2008, 10:53
|- - zltigo   Цитата(mart-13 @ Mar 6 2008, 13:53) ...   Mar 6 2008, 14:41
- - DimaD   Давайте обсудим эту тему и многое другое за ...   Mar 6 2008, 08:38
|- - Kalina   Цитата(DimaD @ Mar 6 2008, 11:38) Давайте...   Mar 6 2008, 08:53
- - rv3dll(lex)   БЛИН если на то пошло всю память 51 контроллера мо...   Mar 6 2008, 09:06
- - Carbon   Можно измерять период подсчитывая импульсы аппарат...   Mar 6 2008, 12:02
|- - Сергей Борщ   Цитата(Carbon @ Mar 6 2008, 14:02) Таким ...   Mar 6 2008, 13:05
|- - Carbon   Цитата(Сергей Борщ @ Mar 6 2008, 16:05) Е...   Mar 6 2008, 14:36
- - rv3dll(lex)   усложню задачу - без использования таймера сложени...   Mar 6 2008, 13:23
- - rv3dll(lex)   из своего процессорного опыта - это было по необхо...   Mar 6 2008, 17:57
|- - Сергей Борщ   Цитата(rv3dll(lex) @ Mar 6 2008, 19...   Mar 6 2008, 18:49
|- - rv3dll(lex)   Цитата(Сергей Борщ @ Mar 6 2008, 21:35) В...   Mar 6 2008, 19:03
|- - Прохожий   Цитата(Сергей Борщ @ Mar 6 2008, 21:49) Е...   Mar 6 2008, 19:14
||- - Demeny   Цитата(Прохожий @ Mar 6 2008, 22:14) К ст...   Mar 7 2008, 07:30
||- - mdmitry   Цитата(Прохожий @ Mar 6 2008, 22:14) Кодi...   Mar 7 2008, 09:04
||- - andron86   Цитата(Прохожий @ Mar 6 2008, 20:14) К ст...   Mar 7 2008, 09:16
||- - Прохожий   Цитата(andron86 @ Mar 7 2008, 12:16) я бы...   Mar 7 2008, 19:51
|- - Kalina   Цитата(Сергей Борщ @ Mar 6 2008, 21:49) в...   Mar 6 2008, 20:31
|- - Прохожий   Цитата(Kalina @ Mar 6 2008, 23:31) Если н...   Mar 6 2008, 21:19
- - Kalina   Уважаемые форумчане, большое спаисбо за тот опы...   Mar 6 2008, 18:00
|- - Прохожий   Цитата(Kalina @ Mar 6 2008, 21:00) Уважае...   Mar 6 2008, 18:31
- - Pyku_He_oTTyda   ЦитатаПрохожий Спасибо! Хороший магазин с демо...   Mar 7 2008, 05:14
- - Algol   По поводу эффективного программирования на Си и дл...   Mar 7 2008, 07:51
- - Demeny   Цитата(Algol @ Mar 7 2008, 10:51) По пово...   Mar 7 2008, 08:17
- - zltigo   Цитата(Demeny @ Mar 7 2008, 11:17) Я плак...   Mar 7 2008, 12:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01495 секунд с 7
ELECTRONIX ©2004-2016