асемблер або C?

Якщо ви дуже добре знаєте процесора, можна зробити код на C лише трохи повільніше, ніж на мовою асемблер.
Крім того,
працюючи з C, ви можете легко перейти на інший процесор.

Я використовую зборки мовою в DSP процесорах.

 
Я можу бачити лише 3 причини, по программированию на Асемблері на UC (за умови, у вас є гідний компілятор C Тхар генерує ефективний код).

1: Ви хотіли б висловити деякі критичні перервати / термінів процедур, які вимагають 100% точність циклу.

2: Ви хочете, щоб отримувати прибуток кожен останній цикл з UC

3: Ви не мають набагато Flash тому кожен байт коду, нараховує

Ну там може бути 4 ....
4: Більшість компіляторів C вимагає, щоб UC є баран

Але з хорошим компілятором C, Ви можете створити майже так само швидко і ефективно, як код на Асемблері.

І це mych легше перенести на іншу архітектуру.

/ Бінго

 
Ти забув додати, що компілятори C, як правило, не безкоштовно.

 
на мій погляд, якщо ви хочете бути хорошим дизайнером ви повинні зараз обидва ...
З заощаджує ваш час, а іноді і зборів неизбежен .....

 
@ Мат

Моє
AVR-GCC для Atmels

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Посмішка" border="0" />ARM-GCC Toolchain для ARM

@ Olemp
Мені довелося б погодитися з вами, використовуючи C не є "Прости" для навчання асемблер,
насправді можна навіть подивитися на компілятори C виведення списку,
так як вони arent помилок.

І вам, імовірно, в перспективі, по крайней мере мое
1 і 2 причин, зазначених вище, в ході деяких з ваших програм.

Але я все ще, як робити, як 80 .. 90% коду на C.

/ Бінго

 
Я не думаю, що асемблер це набагато краще, ніж З точки зору програми швидкості / розміру.Наше компіляторів дуже гарною оптимізації, наприклад Keil C51 дуже добре - не кожен хороший програміст може добитися того ж.Те ж справедливо для звичайних ПК - Intel, компілятори забезпечують дуже гарну оптимізацію для конкретних цільових процесорів.

Ace-X.

 
Зазвичай, якщо у вас є час чутливих код, ви повинні використовувати зборів.Якщо ні,
то вам краще використовувати C.
Там є баланс між вашою роботи та ефективність

 
Під час cricis і обмежений обсяг
пам'яті додатків, АНМ підходить.Інакше C є кращим.З набагато простіше для розробки, mentainance і портування.І хороше розуміння АНМ є Фонд високої якості C, особливо в MCU програмування.

 
Кожна людина, як видається, відзначити той факт, що АНМ дає кращий контроль над термінами код.Хоча це справедливо по відношенню до процедур, які повинні бути точними до такт процесора, багато критичні терміни підпрограм, таких, як зв'язок,
і т.д., можуть бути досягнуті в точно C шляхом використання мікроконтролерів з таймером і деякі корисні жорсткі ISRs.

Якщо ви знаєте, що роблять ваші АНМ велика, але не досягає його, коли ви не
зобов'язані це робити.Thats ИМХО в будь-якому випадку.

oddbudman

 
Я думаю, ви повинні spiit двох процесів для вивчення MCU.
На початку, ви повинні зрозуміти принцип MCU повністю, а АНМ є найкращим вибором, який може зробити вас освоїти характеристика MCU.
Після того, як ви освоїли ці, ви можете спробувати на С, вона може підвищити ефективність проектування.
Звичайно, якщо ваш дизайн підкреслює робоча швидкість, вам краще вибрати АНМ.
Поєднання C і ASM не є поганою ідеєю.

 

Welcome to EDABoard.com

Sponsor

Back
Top