|
Быстрая разработка программ для AVR |
|
|
|
May 13 2006, 22:45
|

учащийся
    
Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249

|
Цитата Цитата интуитивное написание программы , убыстрение процесса которого озадачило автора этой темы на ее создание Нет, не убыстрение интуитивного создания программы, а убыстрение процесса обучения написанию программ. А разве желая второе мы предполагаем не первое? Продукт требуемого качества за требуемое время. Цитата Цитата наличие религиозный войн на поприше человеческих привычек свидетельствует об обратном положении дел у некоторых представителей данной профессии. Я конечно изивиняюсь, но никаких религиозных войн, тем более на поприще человеческих привычек я вести не собираюсь. Вообще-то целью было выяснить, что какой инструмент удобнее для человека только начавшего писать программы под AVR + ускорение процесса обучения. Могу сделать следующий вывод по приведенным постам: быстрее всего начать на С. А я это не про Bас а про всем известную столетнюю войну. Цитата Цитата все зависит от требований на конкретный проект - инженер должен владеть этими тулами Это не поддается сомнению! Если Вы думаете, что делая упор на asm я понятия не имею о С и т.д., то зря... Нет, это просто мое мнение относительно темы вопроса и никак не намек моего неправильного восприятия которое не претендует на исключительность вследствии обьективного осознания своей сушности, а точнее ее недостаточной грамотности.) Вот одна маленькая книжка по сабжу - мне она в одно время показалась интересной но возможно я и ошибаюсь . http://rapidshare.de/files/20392771/How_th...ftware.rar.html
--------------------
Зачем лаять на караван , когда на него можно плюнуть?
|
|
|
|
|
May 14 2006, 11:20
|
Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821

|
Спасибо за ссылку.
--------------------
Чудес не бывает - бывает мало знаний и опыта!
|
|
|
|
|
May 17 2006, 10:54
|

Участник

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124

|
Цитата(haker_fox @ May 11 2006, 07:05)  Мне кажется, кто говорит о слабой оптимизации компиляторов с Си - тот просто не использовал их. И не сравнивал листинги, сгенерированные компиляторами, с ручным кодированием. мне кажется, что у вас просто не было критичных ко времени задач. вплотную столкнулся однажды с тем, что написав программу на Си, мог обрабатывать два канала (4 простых цифровых фильтра на каждом одновременно), а переписав обработчики прерываний на ассемблере, смог обрабатывать одновременно уже 4 канала !
Сообщение отредактировал skopus - May 17 2006, 10:55
|
|
|
|
|
May 18 2006, 01:07
|

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

|
Цитата(skopus @ May 17 2006, 19:54)  Цитата(haker_fox @ May 11 2006, 07:05) 
Мне кажется, кто говорит о слабой оптимизации компиляторов с Си - тот просто не использовал их. И не сравнивал листинги, сгенерированные компиляторами, с ручным кодированием.
мне кажется, что у вас просто не было критичных ко времени задач. вплотную столкнулся однажды с тем, что написав программу на Си, мог обрабатывать два канала (4 простых цифровых фильтра на каждом одновременно), а переписав обработчики прерываний на ассемблере, смог обрабатывать одновременно уже 4 канала ! Про обработчики прерываний речь особая, я много где видел, что их обычно и пишут на асме. Но полное написание программы на одном асме (ИМХО) я считаю оправданным лишь в том случае, если проект не будет стремительно развиваться, т.е. переноситься на др. платформы, не будет увеличиваться размер кода и проч. В случае, когда развитие предполагается, а необходимого быстродействия удается достичь лишь полным написанием программы на ассемблере, то наверно в этом случае можно подумать о переходе на более мощный МК, т.к. (опять же ИМХО) переносимость программы (язык Си) важнее. Но есть конечно и исключения из всего выше сказанного.
--------------------
Выбор.
|
|
|
|
|
May 18 2006, 07:01
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(haker_fox @ May 18 2006, 04:07)  ... переносимость программы (язык Си) важнее. Но есть конечно и исключения из всего выше сказанного. Используемый ассемблер, может приближаться синтаксически к языкам высокого уровня и при этом генерить предсказуемый код.  А все ассемблеры предлагаемые разработчиком контроллера - это так сказать джентельменский набор.
|
|
|
|
|
Jan 24 2012, 17:50
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Тема данного топика интересна и возможно есть хорошее обсуждение в других топиках. Не затевая "религиозных войн" Сформулирую свои критерии быстрой разработки софта 1. Интерактивная среда работы с отлаживаемым железом с минимальным откликом по проверке работоспособности кода или его части. 2. Возможность решать задачу в терминах предметной области с заточенными под эту область языковыми средствами. 3. Знание и использование "минимально" необходимого базиса работы с контроллером, с "продвинутым" инструментарием. 4. Иметь возможность вместе с "эволюционированием" понимания предметной области и способов решения задач в ней подстраивать используемый инструментарий разработки. .... В моём случае выбран для использования Форт (Forth) язык, как наиболее адекватный перчисленным требованиям. P.S. Появился ещё один вариант Форта для AVR на базе Форта SPF4 пригодный для использования как в Linux так и Windows и автор планирует его дальше развивать. Ссылка http://www.fforum.winglion.ru/viewtopic.ph...;p=33581#p33581Ссылки на другие Форт системы можно найти на данном форуме в разделе про микроконтроллеры. При критике технологического подхода с использованием Форт языка желательно иметь достаточное представление о плюсах, минусах и подводных камнях в реалиях данного вопроса.
|
|
|
|
|
Jan 25 2012, 07:02
|
Местный
  
Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023

|
Цитата(_Bill @ May 6 2006, 17:03)  Если все же требуется "выжать" из программы десяток байт или пяток микросекунд, то тогда лучше написать соответствующую функцию целиком на ассемблере Ускорение может быть достигнуто если этого не делать. Взять контроллер с большими возможностями, на котором этого не требуется для поставленной задачи. Отсюда: http://betterembsw.blogspot.com/2011/05/es...e-handouts.htmlЦитата For typical embedded hardware/software costs: * If production run is less than 1 MILLION units Resources should be no more than 80% full * If production run is less than 10K units Resources should be no more than 50% full Цитата Zero Is The Right Amount of Assembly Code С форума avrfreaks.net: Цитата The issue is when you start bumping up against ANY chip limitation (memory, speed, # I/Os, timers, etc). It gets more expensive to work to fit an application into the resources as you spend more time designing and coding against the limitations, as opposed to designing and coding against the requirements.
|
|
|
|
|
Jan 25 2012, 07:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Цитата(maksimp @ Jan 25 2012, 11:02)  Ускорение может быть достигнуто если этого не делать. Взять контроллер с большими возможностями, на котором этого не требуется для поставленной задачи. даже и не знаю, что можно возразить... с одной стороны, сколько себя помню, всегда шла речь об интенсивном использовании имеющихся ресурсов, т.е. максимального извлечения из них всего, что можно, а не экстенсивным, т.е. просто увеличением объема слабовыжатых ресурсов. это было всегда: от посевных площадей (всегда считали центнеры с га) до нефти и газа (в пользу идет все - от мазута до легчайшего CH4). с другой стороны, практика последних лет убеждает, что на самом деле все наоборот: вместо того, чтобы сделать что-то (с усилиями) на меньшем, правильнее сделать то же самое на бОльшем (но без усилий). правда, этот экстенсивный путь в основном прижился в электронике, благодаря чему последние годы производители просто из кожи вон лезут для того, чтобы хоть чем-то "нагрузить" разросшиеся непомерно возможности, например, возьмите ОС: 90% возможностей остались на уровне 20-летней давности, но их реализация обвешана 32-битной 3D-графикой... оборочки стали весить больше платья... извините за оффтоп - наболело...
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Jan 25 2012, 08:47
|
Местный
  
Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023

|
Цитата(_Pasha @ Jan 25 2012, 11:52)  мультиплексирование периферии выполнено так, что ни одна допустимая конфигурация не устраивает. Случалось с кем-либо такое? Со мной-регулярно. И что, городить на плату 100-ногие камни? Я об STM32 - более бесполезного набора онборд-железа еще поискать надо. Да, проблема бывает. Какая периферия вам нужна? Какой AVR вы применяли/применяете, который имеет эту периферию? Смотрели семейство контроллеров Gecko фирмы EnergyMicro? А ATxmega?
|
|
|
|
|
Jan 25 2012, 08:53
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(ARV @ Jan 25 2012, 09:28)  ... с одной стороны, сколько себя помню, всегда шла речь об интенсивном использовании имеющихся ресурсов, т.е. максимального извлечения из них всего, что можно, а не экстенсивным, т.е. просто увеличением объема слабовыжатых ресурсов. это было всегда И это перед кем же такие задачи ставятся? Не помню ни одного заказчика (мы здесь говорим об электронике), которому было бы не по барабану какие "ресурсы" имеет то или иное инженерское решение поставленной задачи. Это разработчики обычно изголяются по бедности, чтобы из минимума выжать максимум в надежде максимально сэкономить на комплектующих. Сейчас уже другие времена и 80% запас ресурсов никого не волнует. Сейчас основной параметр эффективности - это не мегагерцы, не мегабайты и не количество лишних ножек, это time to market, что бы там не говорили апологеты ассемблерных вставок.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|