|
|
  |
Выбор пути ... Assembler или C ? |
|
|
|
Mar 4 2008, 09:50
|
Участник

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

|
Сначала писала на асме. После того как пробывал на С, про асм даже не вспоминаю. Действительно, как с велосипеда на мерс.
|
|
|
|
|
Mar 4 2008, 12:00
|

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

|
По теме: http://ru.wikipedia.org/wiki/Си_(язык_программирования)http://ru.wikipedia.org/wiki/Ассемблер1. почему люди переходят с assemblera на C? >>> Не знают ASM, задача использовать только Си, большой проект (в плане рутины), причин может быть много  . 2. какие плюсы и минусы языка С? >>> Зависит от задачи (так сразу сказать нельзя). 3. где без языка С нельзя обойтись? >>> Си – это фундамент. Разве можно что-то серьёзное построить без фундамента? 4. лично ваше мнение относительно обоих? (ненормативная лексика принимается:-) >>> Оба надо знать. ЗЫ Тут многие сравнивают мерседес с велосипедом. Но на велосипеде можно проехать там, где мерседесу и не снилась даже.
--------------------
:) Иду по жизни с паяльником ……………………
|
|
|
|
|
Mar 4 2008, 15:10
|

Участник

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

|
1. Си очень сильно экономит время разработки, экономит время затрачиваемое на поддержку старых проектов, многие написанные вещи (интерфейсы, протоколы обмена и др.) легко и быстро переносимы с контроллера на контроллер и даже на персоналку и обратно. На Си реально писать даже для очень мелких контроллеров без RAM или с микроскопическим RAM в 64байта. 2. Плюсы: +легко читаемый и изменяемый исходник, +безопасность (ограничение области видимости для переменных, контроль синтаксиса языка и соответствия типов данных со стороны компилятора), +легкость работы со структурированными данными (с точностью до бита), +динамическое использование памяти под переменные, +битовые и низкоуровневые операции, +наличие стандартного набора библиотек, +можно в текст исходника на Си включать кусок на ассемблере, +много чего ещё...  Минусы: -сложность изучения некоторых вещей - арифметика указателей, выделение памяти, -естесственно, что в критически важных по скорости и по объему кода вещах Си не уместен, -компиляторы Си обычно стоят денег. 3. Без Си кодирование навароченных и длинных алгоритмов займет много времени, потеря которого не оправдывается когда мегагерц и памяти много. Если мечтаете в будущем произвольно менять мк.платформы, то нарабатывайте для своих задач исходники на Си.
|
|
|
|
|
Mar 4 2008, 17:27
|

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

|
Да, вы меня убедили, что всё-таки С изучать прийдётся. Видно я правильно сделал, то начал с asm@, теперь его нужно укрепить, чтоб навсегда остался в памяти, как азбука, а вот тогда и начинать вникать в сишку. Проблемой в изучении С я пока вижу различного вида "глюки" и "приколы" , которые встречались при начале изучения контроллеров и по мере уменьшались. Хорошо, что алгоритм работы моего проэкта пока не оперирует большими объёмами данных, а требуют временной точности, вплоть до тактов. Насколько я понимаю прогресс двигает нас вперёд  (частоты, разрядность, объёмы), как вы думаете в будующем останется место простым 8 разрядным контроллерам? Или они полностью "исчезнут"  , а для работы с тем, что появится, без языка высокого уровня не обойтись?
|
|
|
|
|
Mar 4 2008, 17:57
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
У Си есть еще один большой плюс - портируемость . Особенно это заметно в тех проектах, где математики много. К тому же, использование Си совсем не означает отказ от ассемблера. Вывод: нужно уметь пользоваться и тем и тем и знать плюсы-минусы каждого
|
|
|
|
|
Mar 4 2008, 19:22
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Kalina @ Mar 4 2008, 20:27)  как вы думаете в будующем останется место простым 8 разрядным контроллерам? Или они полностью "исчезнут"  , что бы вам не говорили местные модераторы  но я пока еще не видел 32бит контроллеров с 6,8,14,20,28 ногами  когда появятся, возможно я полностью перейду на 32бит, хотя еще желательно, 20ма току не только с 4 ног... а с любых...  а насчет C vs Asm, Asm нужно просто знать, а писать можно на любом языке, но лучше конечно на С...
|
|
|
|
|
Mar 5 2008, 07:26
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645

|
Kalina привет!!! Надо знать и Си, и асм. Проще тогда будет переходить от одного типа контроллеров к другому (я имею ввиду AVR и MSP). Си это скорость написания программ, но больше по обьему кода. В конце концов, можно делать вставки асма в Си. Я сегодня уделю время для Си. Попробую кое-что. Пиши в аську!
|
|
|
|
|
Mar 5 2008, 08:05
|

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

|
Цитата(rv3dll(lex) @ Mar 4 2008, 10:54)  да и стоимость его была не на 2 доллара больше речь о TMS2406 и TMS2812 5 лет назад они только появились. Ну так я же и говорю, что числа можно двигать. Тираж не 1000 шт, а 300шт - уже $6 разницы незаметно, тираж 100шт - уже $20 незаметно... Просто далеко не всегда это понимает руководство. А иногда и не только руководство. Я сам иногда "да чё там, ну назачем для такой прикидки ставить явно в 4 раза превышащий по ресурсам кристалл", а потом ну не так, чтобы мучаюсь, но неудобство испытываю  . Цитата(singlskv @ Mar 4 2008, 21:22)  что бы вам не говорили местные модераторы  но я пока еще не видел 32бит контроллеров с 6,8,14,20,28 ногами  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 мерседес. Ну, С как раз не мерседес. Мерседесы где-то там около питона. С - это склад всякого барахла, из которого можно при нужде по-быстрому слепить то фордик, то "Ниву" какую (уже можно найти на осенних сельских дорогах места, где велосипед и не пройдёт), то танк небольшой. И ехать по асфальту на форде быстрее велосипеда, и по наглухо заросшему кустарником склону (там, где велосипед едет верхом на велосипедисте - с асмом часто такая аналогия бывает) проехать на танке и ещё и после себя дорогу оставить, по которой в сухую погоду и велосипедисты поедут (это я об отладить быстро алгоритм на С, а при нужде выписать критические части на асме). Конечно, железа ;) это всё потребует больше, чем велосипед. Итого я на велосипеде катаюсь (в обеих обсуждаемых смыслах  ) для удовольствия и чтобы тонус не терять. А на работу... На метро  , в это время машины в пробках местами двигаются медленнее пешехода. Это если бы я катался пусть не на уровне участника тур-де-Франс, но где-то близко - то я бы велосипедом зарабатывал, а для развлечения что-то другое придумал бы
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Mar 5 2008, 08:34
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645

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

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

|
Цитата(Kalina @ Mar 5 2008, 10:10)  Это означает, что можно будет не влазить в дебри MSP, а поверхностно его изучить? Или я чего-то не так понял.  Скажем так - при освоении последних нескольких семейств (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)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|