Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Прошу помощи в стратегии оптимизации кода.
Отправлено
Vitaliy222
30 марта 2009, г. 10:40
Исходные данные.
МК - 8051 совместимый
Компилятор - keil v8.09
озу - 4к
память программ - 128к
уровень оптимизации - 9
Memory Model - large
в результате линковки получаю цифры:
Program Size: data=81.0 xdata=5350 const=26590 code=112611
как обычно не хватает ни кода ни рама (((
Похоже, нужно так перераспределить размещение переменных, что бы максимально эффективно использовать область data.
Кто, что посоветует?
Составить ответ
|
Вернуться на конференцию.
Ответы
"Дело - табак, Христофор Банифатьевич". Что можно "перераспределить", если у вас забиты ОБЕ памяти? Только ручная ОСМЫСЛЕННАЯ оптимизация, без "перераспределения".
-
Юрий_СВ
(30.03.2009, 14:06:46
217.12.195.250
,
пустое
)
Чуток в догонку +>>>
-
Макаров
(30.03.2009, 13:53:17
95.107.2.221
, 900 байт)
Ответ:
-
_TAP_
(30.03.2009, 12:28:7
217.14.204.165
, 404 байт)
Обычно делал так. Указывал, самую мелкую модель, как по ОЗУ, так и по флэши. Большие массивы данных тупо хранил в xdata, указывая это в типе переменной. Все константные переменные складывал в флэш.
-
Звероящер
(30.03.2009, 12:10:17
89.251.104.242
,
пустое
)
и так пробовал , пока не очень успешно...
-
Vitaliy222
(30.03.2009, 12:35:17
62.80.164.42
,
пустое
)
Заменить кристалл.
-
Звероящер
(30.03.2009, 13:44:38
89.251.104.242
,
пустое
)
Если задача меньшими ресурсами не решается, то взять более жирный кристалл или подключить внешнее ОЗУ. Если же (+)
-
Igor_Koval
(30.03.2009, 11:50:55
95.132.67.82
, 233 байт)
странный ответ... вопрос сформулировал как смог...
-
Vitaliy222
(30.03.2009, 12:12:14
62.80.164.42
, 706 байт)
"т.е. код писал не я" - тогда не просто жопа, а полная ЖОПА
-
koyodza
(30.03.2009, 19:07:12
77.123.64.94
, 902 байт)
Интенсивный - это как раз поставить ARM с несколькими мегабайтами флеша и несколькими килобайтами ОЗУ. После чего раззудись плечо...
-
Oldring
(30.03.2009, 12:23:41
91.76.57.156
, 171 байт)
Тут, правда, два минуса - потребление и цена. Зато во времени разработки выигрыш бесспорный. А это крайне важно ...
-
Igor_Koval
(30.03.2009, 12:32:51
95.132.67.82
,
пустое
)
нифига: STM32 дешевле и экономичнее чем С8051F120, при этом имеет больше ОЗУ, и производительность в вычислениях
-
koyodza
(30.03.2009, 19:17:13
77.123.64.94
, 102 байт)
И то и другое быстро падает по мере развития технологий.
-
Oldring
(30.03.2009, 12:42:41
91.76.57.156
,
пустое
)
Несколькими сотнями килобайт. Хотя бы.
-
Oldring
(30.03.2009, 12:24:37
91.76.57.156
,
пустое
)
Боюсь, придется вникать во все тонкости реализации этой программы, разбираться в деталях алгоритмов и проч. После этого вопросы отпадут сами собой. Знакомая ситуация ...
-
Igor_Koval
(30.03.2009, 12:23:22
95.132.67.82
,
пустое
)
убрать из кода плавающую точку
-
mandigit
(30.03.2009, 11:42:28
91.76.252.115
,
пустое
)
сделать всё на ассемблере
-
argus98
(30.03.2009, 11:39:25
81.22.205.230
,
пустое
)
Нихрена! ;) В КОДАХ! НАПРЯМКИ, господа АСМ'исты! Только так!
-
Макаров
(30.03.2009, 16:29:52
95.107.2.221
,
пустое
)
Для начала попробовать все уровни оптимизации, в т.ч. для разных файлов проекта. Бывает, что на меньших уровнях размер меньше. (+)
-
Kosha
(30.03.2009, 10:52:12
90.155.161.140
, 85 байт)
Ответ: оптимизация по размеру включена. измениние уровня для разных файлов...{+}
-
Vitaliy222
(30.03.2009, 10:55:38
62.80.164.42
, 187 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 45:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru