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

 
 
> VisualDSP - уменьшение размера загружаемого кода
SALOME
сообщение Sep 22 2007, 06:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



При создании программ для BF537 использую отладочную плату BF537EZ-KIT Lite и VisualDSP 4.5.
Написанные программы работают, однако при компиляции генерируется слишком большой размер загружаемого кода. Например, программа на ассемблере мигающая светодиодом занимает 74 байта, а компилятор генерирует загрузочный файл *.ldr аж 16К! Пока игралась с отладочной платой это не беспокоило. Теперь перешла к реальной плате и это напрягает. Может кто подскажет, на что линковщик "без моего спроса" тратит драгоценные ресурсы. Какие затраты неизбежны, и без чего
можно обойтись? Короче, как уменьшить размер загружаемого в процессор кода?


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Sep 22 2007, 08:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SALOME @ Sep 22 2007, 09:09) *
Может кто подскажет, на что линковщик "без моего спроса" тратит драгоценные ресурсы.

Вообще-то для этого смотрят в MAP файл, а не спрашивают на форуме smile.gif
Цитата
Ну там то, сё, хидеры всякие, инициализированые данныe, код инициализации платформы init_code.dxe

Но не 16 же килобайт на моргание светодиодом...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Sep 22 2007, 08:58
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(SALOME @ Sep 22 2007, 10:09) *
При создании программ для BF537 использую отладочную плату BF537EZ-KIT Lite и VisualDSP 4.5.
Написанные программы работают, однако при компиляции генерируется слишком большой размер загружаемого кода. Например, программа на ассемблере мигающая светодиодом занимает 74 байта, а компилятор генерирует загрузочный файл *.ldr аж 16К! Пока игралась с отладочной платой это не беспокоило. Теперь перешла к реальной плате и это напрягает. Может кто подскажет, на что линковщик "без моего спроса" тратит драгоценные ресурсы. Какие затраты неизбежны, и без чего
можно обойтись? Короче, как уменьшить размер загружаемого в процессор кода?
Project->Project Options->Add Startup Code/LDF.
Жмёте пимпку Add Startup code only и OK. Сгенетится стартаповый файл.
В Project->Project Options появится закладка Startup Code Settings с подзакладками. Отключаете там все галочки, кроме С/C++ IO and IO device support для программ на С; для асма и её нужно снять.
Если поможет не до конца, продолжим.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
SALOME
сообщение Oct 1 2007, 03:45
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(Stanislav @ Sep 22 2007, 15:58) *
Если поможет не до конца, продолжим.

А можно все-таки продолджить? 1111493779.gif До какого минимального размера можно довести загружаемый в SRAM код? Ну например в ADSP2185 достаточно было заполнить поле векторов прерывания и в конце загрузить стартовый адрес. Ну а сама прога могла состоять из одной команды. Например: IDLE. Загружаешь в память любым загрузчиком и процессор засыпает. Хотя в исходниках, представляемых в примерах, тоже было очень много чего наворочено...
Хотелась бы тоже сделать загрузку BF осмысленной...


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post



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

 


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


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