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

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Выбор пути ... Assembler или C ?
tntsasha
сообщение Mar 4 2008, 09:50
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 6-08-07
Пользователь №: 29 580



Сначала писала на асме. После того как пробывал на С, про асм даже не вспоминаю. Действительно, как с велосипеда на мерс.
Go to the top of the page
 
+Quote Post
researcher
сообщение Mar 4 2008, 12:00
Сообщение #17


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

Группа: Свой
Сообщений: 135
Регистрация: 20-01-07
Из: Одесса – Харьков
Пользователь №: 24 616



По теме:
http://ru.wikipedia.org/wiki/Си_(язык_программирования)
http://ru.wikipedia.org/wiki/Ассемблер

1. почему люди переходят с assemblera на C?
>>> Не знают ASM, задача использовать только Си, большой проект (в плане рутины),
причин может быть много smile.gif .

2. какие плюсы и минусы языка С?
>>> Зависит от задачи (так сразу сказать нельзя).

3. где без языка С нельзя обойтись?
>>> Си – это фундамент. Разве можно что-то серьёзное построить без фундамента?

4. лично ваше мнение относительно обоих? (ненормативная лексика принимается:-)
>>> Оба надо знать.

ЗЫ
Тут многие сравнивают мерседес с велосипедом. Но на велосипеде можно проехать там, где мерседесу и не снилась даже.


--------------------
:) Иду по жизни с паяльником ……………………
Go to the top of the page
 
+Quote Post
Carbon
сообщение Mar 4 2008, 15:10
Сообщение #18


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 30-01-06
Пользователь №: 13 769



1. Си очень сильно экономит время разработки, экономит время затрачиваемое на поддержку старых проектов, многие написанные вещи (интерфейсы, протоколы обмена и др.) легко и быстро переносимы с контроллера на контроллер и даже на персоналку и обратно. На Си реально писать даже для очень мелких контроллеров без RAM или с микроскопическим RAM в 64байта.

2. Плюсы:
+легко читаемый и изменяемый исходник,
+безопасность (ограничение области видимости для переменных, контроль синтаксиса языка и соответствия типов данных со стороны компилятора),
+легкость работы со структурированными данными (с точностью до бита),
+динамическое использование памяти под переменные,
+битовые и низкоуровневые операции,
+наличие стандартного набора библиотек,
+можно в текст исходника на Си включать кусок на ассемблере,
+много чего ещё... smile.gif
Минусы:
-сложность изучения некоторых вещей - арифметика указателей, выделение памяти,
-естесственно, что в критически важных по скорости и по объему кода вещах Си не уместен,
-компиляторы Си обычно стоят денег.

3. Без Си кодирование навароченных и длинных алгоритмов займет много времени, потеря которого не оправдывается когда мегагерц и памяти много. Если мечтаете в будущем произвольно менять мк.платформы, то нарабатывайте для своих задач исходники на Си.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 4 2008, 16:34
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(researcher @ Mar 4 2008, 15:00) *
Тут многие сравнивают мерседес с велосипедом. Но на велосипеде можно проехать там, где мерседесу и не снилась даже.

Впомнился анекдот времен освоения выпуска "Жигулей". Концовка такая - "и чего только не придумают эти русские, что-бы не строить хороших дорог".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 4 2008, 16:43
Сообщение #20


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

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



тойота - управляй мечтой
жигули не ссы доедем)))))

я наверное сильно отстал от жезни
раньше систы ругались, что для работы с отдельными битами если контроллер их поддерживает - приходилось работать с масками читать потом записывать или вставки на ассемблере - сейчас изменилась ситуация?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 4 2008, 17:09
Сообщение #21


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(rv3dll(lex) @ Mar 4 2008, 18:43) *
раньше систы ругались, что для работы с отдельными битами если контроллер их поддерживает - приходилось работать с масками читать потом записывать или вставки на ассемблере - сейчас изменилась ситуация?
Сейчас они изучили препроцессор - вся морока раз и навсегда прячется в десятке макросов. Да и уровень оптимизаторов не стоит на месте: вон сколько криков "верните мне мой код!" ;)


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Kalina
сообщение Mar 4 2008, 17:27
Сообщение #22


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

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



Да, вы меня убедили, что всё-таки С изучать прийдётся. Видно я правильно сделал, то начал с asm@, теперь его нужно укрепить, чтоб навсегда остался в памяти, как азбука, а вот тогда и начинать вникать в сишку. Проблемой в изучении С я пока вижу различного вида "глюки" и "приколы" , которые встречались при начале изучения контроллеров и по мере уменьшались. Хорошо, что алгоритм работы моего проэкта пока не оперирует большими объёмами данных, а требуют временной точности, вплоть до тактов.
Насколько я понимаю прогресс двигает нас вперёд 07.gif (частоты, разрядность, объёмы), как вы думаете в будующем останется место простым 8 разрядным контроллерам? Или они полностью "исчезнут" crying.gif , а для работы с тем, что появится, без языка высокого уровня не обойтись?
Go to the top of the page
 
+Quote Post
Omen_13
сообщение Mar 4 2008, 17:49
Сообщение #23


Силовик-затейник
****

Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467



8 битники останутся, только их ниша может сократиться - тяжелые процы станут дешевле.


--------------------
"Вперёд на мины, ордена потом!"
"инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
Go to the top of the page
 
+Quote Post
vshemm
сообщение Mar 4 2008, 17:57
Сообщение #24


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

Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803



У Си есть еще один большой плюс - портируемость . Особенно это заметно в тех проектах, где математики много.
К тому же, использование Си совсем не означает отказ от ассемблера.
Вывод: нужно уметь пользоваться и тем и тем и знать плюсы-минусы каждого smile.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Mar 4 2008, 19:22
Сообщение #25


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Kalina @ Mar 4 2008, 20:27) *
как вы думаете в будующем останется место простым 8 разрядным контроллерам? Или они полностью "исчезнут" crying.gif ,
что бы вам не говорили местные модераторы smile.gif
но я пока еще не видел 32бит контроллеров с 6,8,14,20,28 ногами smile.gif

когда появятся, возможно я полностью перейду на 32бит, хотя еще желательно, 20ма току не только
с 4 ног... а с любых... smile.gif

а насчет C vs Asm, Asm нужно просто знать, а писать можно на любом языке, но
лучше конечно на С...
Go to the top of the page
 
+Quote Post
DimaD
сообщение Mar 5 2008, 07:26
Сообщение #26





Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645



Kalina привет!!! Надо знать и Си, и асм. Проще тогда будет переходить от одного типа контроллеров к другому (я имею ввиду AVR и MSP). Си это скорость написания программ, но больше по обьему кода. В конце концов, можно делать вставки асма в Си. Я сегодня уделю время для Си. Попробую кое-что. Пиши в аську! beer.gif
Go to the top of the page
 
+Quote Post
ReAl
сообщение Mar 5 2008, 08:05
Сообщение #27


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

Группа: Свой
Сообщений: 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
сообщение Mar 5 2008, 08:10
Сообщение #28


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

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



Цитата(DimaD @ Mar 5 2008, 10:26) *
Проще тогда будет переходить от одного типа контроллеров к другому (я имею ввиду AVR и MSP).


Добрый день, DimaD! smile.gif

А вы бы не могли объяснить подробнее, что значит проще ? Это означает, что можно будет не влазить в дебри MSP, а поверхностно его изучить? Или я чего-то не так понял. 07.gif
Go to the top of the page
 
+Quote Post
DimaD
сообщение Mar 5 2008, 08:34
Сообщение #29





Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645



Приведу пример на тех двух программистах, которые выполняют нам некоторые заказы. Один из них -- схемотехник (очень классный), второй -- программист (еще лучше). Зная Си, им ничего не стоит написать программу (очень быстро) либо для MSP430F427, либо для ATtiny15. Конкретный контроллер выбирают из нужд прибора. Не влазя в дебри, они используют AVR и MSP. Асемблер для этих контроллеров сильно отличается. Вот так!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 5 2008, 10:19
Сообщение #30


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Kalina @ Mar 5 2008, 10:10) *
Это означает, что можно будет не влазить в дебри MSP, а поверхностно его изучить? Или я чего-то не так понял. 07.gif
Скажем так - при освоении последних нескольких семейств (x51, HC12, ARM7, PIC18) программа начинала делать осмысленные действия уже через полчаса после File->New (примерно столько нужно на прочтение документации по нужному периферийному модулю, например - портам, если хотим мигать светодиодом). А понимать, что написано на ассемблере в листинге я начал через несколько недель.
Точнее так: мой первый процессор был PIC16, для него я писал только на ассемблере. Вторым был x51. приступая к работе с ним я узнал, что для микроконтроллеров бывает С. С тех пор ассемблер для всех остальных процессоров я изучаю по листингам компиляторов. Последний раз для x51 писал 9, а для HC12 - 6 лет назад. Их ассемблер давно забыл. А исходники для них на С до сих пор читаю свободно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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