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

 
 
> Быстрая разработка программ для AVR
Yura_K
сообщение May 5 2006, 19:18
Сообщение #1


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

Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821



Возник вопрос, при помощи чего можно ускорить разработку программ. Представляется несколько вариантов. Во-первых, использование высокоуровневого языка - C. Но у компиляторов не слишком мощная оптимизация и все равно приходится использовать asm-е вставки. Во-вторых, использование библиотек готовых функций (возможна и для asm-а, и для C). В-третьих, возникли мысли о некой прослойке (интерфейсе) между функц. узлами uC и программой, так чтобы написание как повторяющегося кода, так и нового свести к возможному минимуму. Также возможно использование некой RTOS. Ваши мысли по сабжу?


--------------------
Чудес не бывает - бывает мало знаний и опыта!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
*SERG
сообщение May 11 2006, 02:18
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Вообще не понимаю..........не оптимальный код.......не оптимальный код..........
Найдут несколько абсурдных строчек в -надцати Кбайтном коде написанном на Си и всё...............код у них не оптимальный....
Даг возьми и напиши ПОЛНОСТЬЮ (большую) одну и ту же задачу на асме, а потом её же на Си и там уже посмотрим у кого оптимальней получитьсяsmile.gif
Ну а если скорость нужна то пользуйся асм вставками

О, привет ЗЕМЛЯКАМ smile.gif
Go to the top of the page
 
+Quote Post
haker_fox
сообщение May 11 2006, 03:05
Сообщение #3


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(*SERG @ May 11 2006, 11:18) *
Вообще не понимаю..........не оптимальный код.......не оптимальный код..........
Найдут несколько абсурдных строчек в -надцати Кбайтном коде написанном на Си и всё...............код у них не оптимальный....
Даг возьми и напиши ПОЛНОСТЬЮ (большую) одну и ту же задачу на асме, а потом её же на Си и там уже посмотрим у кого оптимальней получитьсяsmile.gif
Ну а если скорость нужна то пользуйся асм вставками

О, привет ЗЕМЛЯКАМ smile.gif


Подобную мысль уже сказал уважаемый _Bill.

Мне кажется, кто говорит о слабой оптимизации компиляторов с Си - тот просто не использовал их. И не сравнивал листинги, сгенерированные компиляторами, с ручным кодированием.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
sK0T
сообщение May 11 2006, 03:20
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 241
Регистрация: 22-12-04
Пользователь №: 1 610



Цитата(haker_fox @ May 11 2006, 07:05) *
Мне кажется, кто говорит о слабой оптимизации компиляторов с Си - тот просто не использовал их. И не сравнивал листинги, сгенерированные компиляторами, с ручным кодированием.


Оптимальный код, не оптимальный код…

Надо просто посчитать — что дешевле: время программиста или неоптимальность кода да и всё. Или может быть вообще отказаться от микроконтроллеров и сделать на рассыпной логике или ПЛИС, раз микросекунды выжимать надо?

Оптимизация никогда не бывает просто так. Если один программист на асме напишет «оптимальный» код за два месяца, а другой на Си за неделю, но при компиляции он будет «не оптимальный», то второй код ЛУЧШЕ. Так как программист получил зарплату в четверть месяца за него, а не за два.

Плюс такое ещё соображение. Неоднакратно наблюдал, как программеры (под PIC) на асме через полтора года не могли разобраться в своём исходнике. Программы на Си всё-таки поддерживать легче (писать одинакого, что на асм, что на Си).
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 11 2006, 08:43
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(sK0T @ May 11 2006, 06:20) *
Оптимальный код, не оптимальный код…

Надо просто посчитать — что дешевле: время программиста или неоптимальность кода да и всё. Или может быть вообще отказаться от микроконтроллеров и сделать на рассыпной логике или ПЛИС, раз микросекунды выжимать надо?

Оптимизация никогда не бывает просто так. Если один программист на асме напишет «оптимальный» код за два месяца, а другой на Си за неделю, но при компиляции он будет «не оптимальный», то второй код ЛУЧШЕ. Так как программист получил зарплату в четверть месяца за него, а не за два.

Плюс такое ещё соображение. Неоднакратно наблюдал, как программеры (под PIC) на асме через полтора года не могли разобраться в своём исходнике. Программы на Си всё-таки поддерживать легче (писать одинакого, что на асм, что на Си).

В том-то и вопрос - для чего именно нужна программа? Одно дело, если устройство мелкосерийное или даже единичное. Тут зарплата программиста имеет большой вес. Тут контроллер можно и помощнее (и стало быть, подороже) взять. Тогда из программы не нужно будет выжимать ни байтов, ни микросекунд. Зато изделие будет разработано и выпущено в кратчайшие сроки.
Другое дело, если устройство идет массовым тиражом. Тогда зарплата программиста уже не имеет решающего значения. Больший вес будут иметь аппаратурные затраты. Тогда контроллер придется взять подешевле и, стало быть, попроще. Тогда с программкой придется повозиться, и выжать из все, что только можно. Может быть, в данном случае, и микроконтроллер будет взят ранее незнакомый. Тогда придется и его освоить. А это тоже время и, соответственно, деньги. Но эти затраты все равно окупятся за счет массового производства.
Какой инструмент в каждом случае использовать определяет программист. Самый лучший инструмент тот, которым программист владеет в наибольшей степени. Плохую, нечитаемую, трудно модифицируемую, быстро забываемую программу можно с одинаковым успехом написать как на Си, так и на ассемблере. Было бы желание, точнее, нежелание писать хорошо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Yura_K   Быстрая разработка программ для AVR   May 5 2006, 19:18
- - haker_fox   Цитата(Yura_K @ May 6 2006, 04:18) Возник...   May 6 2006, 01:30
- - Andy Mozzhevilov   Цитата(Yura_K @ May 6 2006, 01:18) Возник...   May 6 2006, 07:18
- - _Bill   Цитата(Yura_K @ May 5 2006, 22:18) Но у к...   May 6 2006, 13:03
|- - maksimp   Цитата(_Bill @ May 6 2006, 17:03) Если вс...   Jan 25 2012, 07:02
|- - ARV   Цитата(maksimp @ Jan 25 2012, 11:02) Уско...   Jan 25 2012, 07:28
|- - IgorKossak   Цитата(ARV @ Jan 25 2012, 09:28) ... с од...   Jan 25 2012, 08:53
- - Yura_K   Цитата"выжать" из программы десяток байт...   May 6 2006, 14:12
|- - eci   Цитата(Yura_K @ May 6 2006, 17:12) Цитата...   May 11 2006, 00:10
|- - haker_fox   Цитата(eci @ May 11 2006, 09:10) Цитата(Y...   May 11 2006, 01:53
|- - skopus   Цитата(haker_fox @ May 11 2006, 07:05) Мн...   May 17 2006, 10:54
|- - haker_fox   Цитата(skopus @ May 17 2006, 19:54) Цитат...   May 18 2006, 01:07
|- - Kopa   Цитата(haker_fox @ May 18 2006, 04:07) .....   May 18 2006, 07:01
- - Kopa   Цитата(Yura_K @ May 5 2006, 22:18) Возник...   May 11 2006, 03:48
- - Yura_K   2*SERG Привет взаимно! В принципе я согласен п...   May 11 2006, 17:07
- - _artem_   ИМХО, в больших (начиная с нескольких десятков КБ)...   May 11 2006, 18:08
- - Yura_K   Цитатаинтуитивное написание программы , убыстрение...   May 13 2006, 22:00
- - _artem_   ЦитатаЦитата интуитивное написание программы , убы...   May 13 2006, 22:45
- - Yura_K   Спасибо за ссылку.   May 14 2006, 11:20
- - beer_warrior   Если знать особенности генерации кода компилятором...   May 17 2006, 18:25
- - Kopa   Тема данного топика интересна и возможно есть хоро...   Jan 24 2012, 17:50
|- - ASZ   Зачастую пересмотр самого алгоритма работы дает на...   Jan 25 2012, 03:55
- - _Pasha   Тоже наболело, но в другой плоскости. Проходит вре...   Jan 25 2012, 07:52
- - maksimp   Цитата(_Pasha @ Jan 25 2012, 11:52) мульт...   Jan 25 2012, 08:47


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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 12:30
Рейтинг@Mail.ru


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