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

 
 
> научить IAR AVR 5.5 оптимизировать сохранение регистров, при вызове между модулями
megajohn
сообщение Jul 12 2012, 08:15
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



в прерывании вызываю функцию, которая в другом файле/модуле инкрементирует байт.
Дык IAR нагенерил код, который перед вызовом функции сохраняет в стек не менее 16 регистров, и после выполнения восстанавливает. А в той функции юзается только один R16.
Пробовал с макчсимальной оптимизицией по скорости и коду. Это костыль от IAR как нибудь обходится ?



--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Jul 12 2012, 08:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Можно попробовать Multifile Compilation (--mfc).
Go to the top of the page
 
+Quote Post
megajohn
сообщение Jul 12 2012, 09:41
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(scifi @ Jul 12 2012, 12:30) *
Можно попробовать Multifile Compilation (--mfc).


EWAVR_CompilerReference.pdf
EWAVR_UserGuide.pdf

ничего такого не знают


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jul 12 2012, 12:40
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(megajohn @ Jul 12 2012, 12:41) *
EWAVR_CompilerReference.pdf
EWAVR_UserGuide.pdf

ничего такого не знают

Как не знают?
Пункт "Summary of compiler options":
Цитата
--mfc Enables multi-file compilation
Go to the top of the page
 
+Quote Post
megajohn
сообщение Jul 12 2012, 14:13
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(_Артём_ @ Jul 12 2012, 16:40) *
Как не знают?
Пункт "Summary of compiler options":


Нету в моем

"EWAVR_UserGuide.pdf"
EDITION NOTICE
Fifth edition: May 2009
Part number: UAVR-5
This guide describes version 5.x of the IAR Embedded Workbench® IDE for Atmel®
Corporation’s AVR microcontroller.
Internal reference: R8, 5.3, IMAE.

"EWAVR_CompilerReference.pdf"
EDITION NOTICE
Fourth edition: February 2005
Part number: CAVR-4
This guide applies to version 4.x of AVR IAR Embedded Workbench®.

вышлите плз свои версии на megajohn@inbox.ru


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jul 12 2012, 14:42
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(megajohn @ Jul 12 2012, 17:13) *
Нету в моем

Да, в описании 5-го действительно нет, но есть на вкладке General Options - C/C++ compiler options.

Go to the top of the page
 
+Quote Post
megajohn
сообщение Jul 13 2012, 06:01
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(_Артём_ @ Jul 12 2012, 18:42) *
Да, в описании 5-го действительно нет, но есть на вкладке General Options - C/C++ compiler options.


Да, то что доктор прописал. Сразу с 1кб флеши высвободился из 20кб


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- megajohn   научить IAR AVR 5.5 оптимизировать сохранение регистров   Jul 12 2012, 08:15
|- - scifi   Цитата(megajohn @ Jul 12 2012, 13:41) EWA...   Jul 12 2012, 09:55
|- - demiurg_spb   Дык, против лома нет приёма   Jul 13 2012, 07:59
- - prottoss   Я как то бодался с этой фигней в итоге написал обр...   Jul 12 2012, 08:46
- - Палыч   Цитата(megajohn @ Jul 12 2012, 12:15) в п...   Jul 12 2012, 08:50
|- - megajohn   помнится, вызов inline Между модулями в IAR не доп...   Jul 12 2012, 09:03
|- - Палыч   Цитата(megajohn @ Jul 12 2012, 13:03) пом...   Jul 12 2012, 09:14
|- - megajohn   Цитата(Палыч @ Jul 12 2012, 13:14) ...   Jul 12 2012, 09:22
|- - Сергей Борщ   QUOTE (megajohn @ Jul 12 2012, 12:22) Как...   Jul 12 2012, 09:39
|- - _Артём_   Цитата(megajohn @ Jul 12 2012, 12:22) я у...   Jul 13 2012, 12:10
|- - _Артём_   Ещё нашёл два варианта inline: 1. Код#define PRAGM...   Jul 13 2012, 18:44
|- - scifi   Цитата(_Артём_ @ Jul 13 2012, 22:44) Но к...   Jul 13 2012, 19:38
|- - _Артём_   Цитата(scifi @ Jul 13 2012, 22:38) С точк...   Jul 13 2012, 20:00
||- - scifi   Цитата(_Артём_ @ Jul 14 2012, 00:00) Есть...   Jul 13 2012, 20:13
||- - _Артём_   Цитата(scifi @ Jul 13 2012, 23:13) Даже о...   Jul 13 2012, 20:47
|||- - scifi   Цитата(_Артём_ @ Jul 14 2012, 00:47) Но ч...   Jul 13 2012, 20:57
|||- - _Артём_   Цитата(scifi @ Jul 13 2012, 23:57) Может ...   Jul 13 2012, 22:32
||- - _Артём_   Цитата(scifi @ Jul 13 2012, 23:13) Даже о...   Jul 15 2012, 17:54
||- - scifi   Цитата(_Артём_ @ Jul 15 2012, 21:54) Есть...   Jul 16 2012, 05:51
||- - _Артём_   Цитата(scifi @ Jul 16 2012, 08:51) К прим...   Jul 16 2012, 13:03
||- - demiurg_spb   Цитата(_Артём_ @ Jul 16 2012, 17:03) Оказ...   Jul 16 2012, 13:24
|- - ReAl   Цитата(scifi @ Jul 13 2012, 22:38) в стан...   Jul 14 2012, 10:48
- - Rst7   QUOTE в прерывании вызываю функцию, которая в друг...   Jul 12 2012, 11:39


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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 08:16
Рейтинг@Mail.ru


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