|
Стратегия размещения функций 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, 18:06
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всегда ли оно надо знать? Вот мне это интересно в моем проекте, но не критично, что в РАМ что во флэш он работает штатно. И я думаю еще с десяток такого рода проектов можно сделать. Иногда это нужно, там можно и руками, а иногда нет, там на автомате быстро прокатит. Цитата Кстати, описание именно его лежит в одном документе с линкером на инфоцентре арма, а не галочек кейла, странно - почему? Ага а библиотеки HAL от кейла несмотря на свою кривость завоевывают все больше популярность. Так же уверен вы пользуетесь виндусом, а не командной строкой доса? Я сам сторонник того что надо прописывать биты в регистры а не тыкать галочки в среде, но иногда это здорово сокращает время "на быстренько попробовать", так чего бы не овладеть данной функцией? Что вы потеряете если будете знать больше путей? Вот я теперь знаю, что данная часть не совершенна, и за ней надо следить, но если не парит можно пользоваться. Цитата Даже в этом топике пришлось перелопатить кучу всего, в результате придти к тому же скаттеру Знание о том что скатер засунул функции в РАМ не дает ответа на вопрос какого черта в скатере появилось задание так сделать, так что это не аргумент.
|
|
|
|
Сообщений в этой теме
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 Golikov A. ЦитатаНету никакой стратегии. С настройками по умо... Apr 27 2015, 08:45 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  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
|
|
|