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

J

jetset

Guest
Який з цих мов ви бажаєте писати код для мікроконтролерів, і чому?

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

Привет.

 
Якщо говорити про мікро-контролер ...
Асамблея завжди бути моїм першим вибором.З somtime просто ховається набагато факту з боку користувача.

 
Це залежить від мікроконтролера і розвиток інструмент потрібно використовувати.

4-розрядні MCU:
можливо, є лише сборщиком доступний

8-розрядні MCU:

У 6502 або ПОС, я віддаю перевагу використовувати зборів, хоч і компілятори C є.

За 8051, я віддаю перевагу використовувати C. Тим не менше, я думаю, гарне розуміння на Асемблері, і відносини між С і це допоможе писати компактний код.

16-біт або вище MCU:
C, навіть C , можуть бути кращим вибором.

 
Привет
Для PIC / AVR хоча Є C / Основні компілятори (деякі з них дуже гідні), ви можете перейти до Асамблеї.Вона забезпечує більш ефективний контроль у свої програми.

Я також вважаю, що це залежить від кількості програмістів,
що працюють на УНЦ.За більш ніж 2 членів C є обов'язковим.(Використовуйте Асамблея тільки для критичних секцій)

БРМ

 
якщо у використання ассемблерних У отримати дуже компактний код.
але
але
, Але й

дуже складно отлажівать
дуже важко зрозуміти, код навіть письменник
дуже litil повторне

U слід використовувати Keil.
Це дає UA дуже компактний код говорю 1.05 рази, що з АНМ код.
поджілкі

 
Салам,

Я віддаю перевагу C (з писати критичні підпрограм в зборі)

C тому, що

1 - Портативна (з дещо змінити можна запустити і тієї ж програми в іншу сім'ю)

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Посмішка" border="0" />2 - легко зрозуміти,

Sphinx

 
Коли ви знаєте, деякі поради та прийоми, C краще зборів.
наприклад
Замість Y = Y * 2.25; за допомогою Y = (Y <<1) (Y>> 2);

Крім того, коли я роздруківку моєї програми, вона займає близько 9-10 сторінок в C. Але в збірці потрібно набагато більша кількість сторінок.З цієї причини, коли я хочу, щоб знайти помилки у моїй програмі, вона простіше в C.

 
otuzsubat писав:

Крім того, коли я роздруківку моєї програми, вона займає близько 9-10 сторінок в C. Але в збірці потрібно набагато більша кількість сторінок.
З цієї причини, коли я хочу, щоб знайти помилки у моїй програмі, вона простіше в C.
 
Я зазвичай пишу в Асамблеї через більшої гнучкості та компактною структури.Однак після того,
як fucntions кожної сборке модуля створені і належним чином перевірку, я скомпільованій його як бібліотеку і за допомогою мови інтерфейсу для збору та
зв'язку після цього продукту для масового розвитку.

 
Привіт cawan.

Звичайно.Я згоден.

Я працюю з мікросхемою
в ПОС.Ось чому я купив С18 і використовувати його в якості мого вторинний інструмент.

 
Здравствуйте

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

 
Я був кілька програм Micros як ПІК, C51, M16C, а також DSP.З фактичним DSP C / C компілятор, я отримала навіть менше, ніж з кодом Асемблері.Це
пов'язано з дуже гарною оптимізації компілятора і звертаючи уваги на постійні або змінні нестабільною.

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

Оскільки я помічаю це, я пишу набагато більш C. Тільки тоді, коли дійсно nescessary, деякі функції збирача.Це обмеження на дуже складній і абсолютно продуктивність критичних частин.

Але, це може бути досягнуто тільки з гарною компілятора.

aOxOmOx

 
Я працюю з Micros, просто програмування на Асемблері.Деякі мої друзі кажуть, що краще, С і інше, але мені не подобається ідея програмування низького рівня пристрій з високим рівнем мови.Можливо, складність залежить від людини, тому що я думаю, що це простіше, якщо ви пишете код на Асемблері COS ви можете вирахувати всі timming та інше.Зараз я працюю з DSP і я знаходжу кілька прикладів зі змішаним C і Асемблері, але я все ж таки хотів письмовій тільки сборку.

 
Я думаю, що ми можемо писати на C для більшості додатків, якщо у нас є достатньо ресурсів для MCU.Або ми можемо змішаний С і Асемблері разом.Ну, я думаю, для складних додатків, C краще з-за термінів обмеження.Якщо ми зможемо закінчити роботу швидко, то чому б ні?І ми можемо проводити інші роботи.Якщо у вас не так добре в програмуванні, ви до сих пір роблять менш ефективність orgram навіть використати зборів ........

Всі економічні, терміни є важливим, не самий кращий систем!

 
Я згоден з Aoxomox.Деякі компілятори C мають відмінні оптимізатори.Тим не менш, деякі з них досить погано.Тому я намагаюся компіляції деяких C-код, і розповісти компілятори на виході ассемблерний файл, а потім оцінити якість для мене.

 
Чи мова програмування, зокрема С і Асамблеї, робити які-небудь відмінності у виконанні мікроконтроллер?

Спасибо ...

Теми mereged,!!!

Завжди пошук EDAboard перед початком нової теми!
 
Це питання обговорювалося тут часто, наприклад, подивитись тут:
http://www.edaboard.com/viewtopic.php?t=86778&highlight=assembler C

з повагою

 
bjerkely писав:

Чи мова програмування, зокрема С і Асамблеї, робити які-небудь відмінності у виконанні мікроконтроллер?Спасибо ...
 
Асамблея, його кращий шлях для внести Perfect робіт, компілятори є вельми корисним інструментом, але все про них і
в продовження, то, просто майте на увазі, що якщо ви не знаєте, як скласти програму (поганий синтаксис
та ін.) Ви будете мати проблем з АНМ теж АНМ itsnt магія, і потрібен експеримент для отримання найкращого (швидше, малого
і т.д.) програма (Hex).
Привет

 

Welcome to EDABoard.com

Sponsor

Back
Top