|
Стратегия размещения функций Keil, Как определяется какая функция попадет в RAM |
|
|
|
Apr 27 2015, 07:27
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всем привет!
В keil есть возможность нажав на файл исходников правой кнопкой и выбрав options, для Cortex процов задать регионы для секций Code/Const, Zero Init Data, Other Data
по умолчанию стоит default. И я был уверен что это для Code/Const - flash, а для остальных RAM. Так вот поглядел я карту памяти после компиляции и с удивлением обнаружил что достаточно большая часть функций размещены в RAM. Но не все, то есть получается что у кейла есть какая-то стратегия размещения функций? Кто нибудь, что нибудь знает про это?
Еще я обнаружил что кеил понаделал thumb код, хотя я думал по умолчанию будет ARM код, и только при желании оптимизации он будет что-то крутить. Или после появления thumb2 стало уже не можно пользоваться ARM кодом? Я понимаю что с точки зрения флеш ускорителей которые читают за 5 тактов проца 128 бит, лучше прочитать ~8 thumb инструкций (примерно потому что в thumb2 они бывают и 32 битные) чем 4 ARM инструкции, для этого преимущество отдано thumb коду?
|
|
|
|
|
 |
Ответов
|
Apr 27 2015, 08:45
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата Нету никакой стратегии. С настройками по умолчанию все функции идут в флеш. Ну а если начинаете что-то крутить - это уже на вашей совести. А если не крутил, а половина функций на файлах которых стоит Code/Const - default оказались в РАМе, то что делать? есть файл у которого ZI о other стоят в рам перенести, но код в дефолте, а функции из него все равно в РАМ попмали... Какая то видать стратегия есть, причем в некоторых файлах часть функций во флеше осталась, а часть в РАМе.
|
|
|
|
Сообщений в этой теме
Golikov A. Стратегия размещения функций Keil Apr 27 2015, 07:27 Obam Цитата(Golikov A. @ Apr 27 2015, 11:27) В... Apr 27 2015, 07:44 Golikov A. Вот блин... всегда читал строчку из манула
Цитата... Apr 27 2015, 07:53 scifi Цитата(Golikov A. @ Apr 27 2015, 10:53) А... Apr 27 2015, 08:37 scifi MAP-файл - в студию! Apr 27 2015, 08:49  aaarrr Цитата(scifi @ Apr 27 2015, 11:49) MAP-фа... Apr 27 2015, 09:00 ViKo и тип процессора. Apr 27 2015, 09:02 Golikov A. Lpc1768, scart по умолчанию, то есть какой кеил са... Apr 27 2015, 11:22 aaarrr Цитата(Golikov A. @ Apr 27 2015, 14:22) s... Apr 27 2015, 11:28 Golikov A. Код; *********************************************... Apr 27 2015, 12:56 aaarrr Цитата(Golikov A. @ Apr 27 2015, 15:56) я... Apr 27 2015, 13:05  scifi Цитата(aaarrr @ Apr 27 2015, 16:05) Вот п... Apr 27 2015, 13:13   aaarrr Цитата(scifi @ Apr 27 2015, 16:13) Предла... Apr 27 2015, 13:28 Golikov A. ЦитатаВот поэтому и не стоит программировать ... Apr 27 2015, 13:31 scifi Цитата(Golikov A. @ Apr 27 2015, 16:31) в... Apr 27 2015, 13:36 aaarrr Цитата(Golikov A. @ Apr 27 2015, 16:31) .... Apr 27 2015, 13:55  toweroff Цитата(aaarrr @ Apr 27 2015, 16:55) Раньш... Apr 27 2015, 16:09 Golikov A. Давайте перестанем пытаться меня поддеть и сосредо... Apr 27 2015, 13:44 Golikov A. не о том разговор..
В общем заключаю что это скор... Apr 27 2015, 13:58 aaarrr Цитата(Golikov A. @ Apr 27 2015, 16:58) т... Apr 27 2015, 14:02 Golikov A. ну а смысл тогда кейла если все по отключать и рук... Apr 27 2015, 16:34 scifi Цитата(Golikov A. @ Apr 27 2015, 19:34) н... Apr 27 2015, 16:43 toweroff Цитата(Golikov A. @ Apr 27 2015, 19:34) н... Apr 27 2015, 17:59 Golikov A. Но также не обязательно отказываться, если она мел... Apr 27 2015, 17:52 Golikov A. Всегда ли оно надо знать? Вот мне это интересно в ... Apr 27 2015, 18:06 aaarrr Не знаю как для других, а для меня скрипт линкера ... Apr 27 2015, 18:35  toweroff Цитата(aaarrr @ Apr 27 2015, 21:35) Не зн... Apr 27 2015, 21:55 Golikov A. Ну может вы и правы. Тем более что за время жизни ... Apr 28 2015, 05:09 Golikov A. А вот мне тут подумалось. Кроме того что сказать л... Apr 28 2015, 09:16 aaarrr Цитата(Golikov A. @ Apr 28 2015, 12:16) А... Apr 28 2015, 10:38 Golikov A. у кортексов встроена функция переброски памяти? Apr 28 2015, 10:53 aaarrr Цитата(Golikov A. @ Apr 28 2015, 13:53) у... Apr 28 2015, 10:58 Golikov A. А в какой момент будет копирование? до ресета что ... Apr 28 2015, 11:04 Сергей Борщ Цитата(Golikov A. @ Apr 28 2015, 14:04) А... Apr 28 2015, 11:19 aaarrr Цитата(Golikov A. @ Apr 28 2015, 14:04) А... Apr 28 2015, 11:45 Golikov A. ЦитатаНе знаю как делает Кейл (а вам влом посмотре... Apr 28 2015, 12:56 toweroff Цитата(Golikov A. @ Apr 28 2015, 15:56) н... Apr 29 2015, 08:05 esaulenka Не надо ничего руками трогать, оно и так хорошо ра... Apr 28 2015, 13:49 aaarrr Цитата(Golikov A. @ Apr 28 2015, 15:56) о... Apr 28 2015, 14:32 Golikov A. ЦитатаНет, все сделает линкер.
линкер он кому прин... Apr 28 2015, 15:42 aaarrr Цитата(Golikov A. @ Apr 28 2015, 18:42) л... Apr 28 2015, 16:18 Golikov A. То есть на самом деле стандартизован на уровне ARM... Apr 28 2015, 17:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|