|
LPCXpresso, внешняя RAM |
|
|
|
Sep 18 2015, 06:24
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 19-04-11
Пользователь №: 64 477

|
Может кто подскажет, как сказать линковщику, что есть внешняя RAM? Использую LPCXpresso 7.9.0. В настройках проекта (MCU setting) добавил соответствующую секцию, но не помогает. При линковке сообщение, что не хватает внутреннего ОЗУ... Во внешнее линковать и не пытается.
|
|
|
|
|
 |
Ответов
|
Sep 18 2015, 10:27
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 19-04-11
Пользователь №: 64 477

|
Цитата(Petka @ Sep 18 2015, 13:52)  Гуглить "скрипт линкера". Да я понимаю, что смотреть надо *.ld файлы. Но там все регионы памяти прописаны (формируются автоматически по настройкам из GUI и их редактировать нет смысла). Кажется должно было бы все работать. Да и описания синтаксиса я не нашел, поэтому не все в них понятно (здесь какой-то свой формат). И такая проблема не только с внешней памятью. Я работаю с LPC4357, у него несколько банков внутреннего ОЗУ. Есть даже два смежных банка, но по мере заполнения первого, данные не "переползают" во второй. Линковщик просто ругается, что не достаточно места в первом. На сайте указано, как код, константы, как массив переменных положить в нужный банк ОЗУ при помощи __attribute__ ((section.... Но это все не то. С LPCXpresso (Eclipse) только начал работать, более привычен Keil. В нем примерно также в GUI указывается распределение памяти и все работает прозрачно для программиста. А здесь даже не знаю куда ткнуться.
|
|
|
|
|
Sep 18 2015, 11:28
|

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

|
QUOTE (_Mikhail_ @ Sep 18 2015, 13:27)  формируются автоматически по настройкам из GUI и их редактировать нет смысла Дело обстоит с точностью до наоборот - не имеет смысла использовать сгенерированный как попало скрипт. Аккуратно написать свой. QUOTE Есть даже два смежных банка, но по мере заполнения первого, данные не "переползают" во второй. Линковщик просто ругается, что не достаточно места в первом. Ну и опишите его ОДНИМ блоком, а не так, как визард нагенерил.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 18 2015, 12:03
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 19-04-11
Пользователь №: 64 477

|
Цитата(zltigo @ Sep 18 2015, 15:28)  Дело обстоит с точностью до наоборот - не имеет смысла использовать сгенерированный как попало скрипт. Аккуратно написать свой.
Ну и опишите его ОДНИМ блоком, а не так, как визард нагенерил. Нет. Про внутренние смежные блоки я к примеру сказал. Для первичной инициализации хватает и одной банки. Нужно много внешнего ОЗУ, а оно лежит совсем по другим адресам. А про скрипты согласен. Я нашел уже нашел способ, как использовать свой. Сначала генерю автоматом для шаблона, а потом снимаю найденную галочку в настройках и можно редактировать скрипт, он перезаписываться не будет. Теперь думаю, что там надо править... Цитата(scifi @ Sep 18 2015, 15:27)  В исходнике приписывать переменные к отдельной секции, а потом размещать её в памяти как захочется. Это что ко всем переменным __attribute__ ((section... приписывать?! Нет, ну можно, конечно, для краткости задифайнить. Тогда проще весь стартовый код перелопатить таким образом.
|
|
|
|
|
Sep 18 2015, 12:28
|

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

|
QUOTE (_Mikhail_ @ Sep 18 2015, 15:03)  Это что ко всем переменным __attribute__ ((section... приписывать?! Должна быть прагма типа: #pragma arm section ... Указывает куда, что класть. После нее действуют указания до конца файла или до отменяющей прагмы.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 18 2015, 13:35
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 19-04-11
Пользователь №: 64 477

|
Цитата(zltigo @ Sep 18 2015, 16:28)  Должна быть прагма типа: #pragma arm section ... Указывает куда, что класть. После нее действуют указания до конца файла или до отменяющей прагмы. К сожалению, в GCC такого не нашел ( Буду пока смотреть в сторону скрипта линковки
|
|
|
|
Сообщений в этой теме
_Mikhail_ LPCXpresso Sep 18 2015, 06:24  scifi Цитата(_Mikhail_ @ Sep 18 2015, 13:27) Ес... Sep 18 2015, 11:01   _Mikhail_ Цитата(scifi @ Sep 18 2015, 15:01) ЕМНИП,... Sep 18 2015, 11:22    scifi Цитата(_Mikhail_ @ Sep 18 2015, 14:22) Ес... Sep 18 2015, 11:27    scifi Цитата(_Mikhail_ @ Sep 18 2015, 15:03) Эт... Sep 18 2015, 12:15       _Mikhail_ Цитата(Petka @ Sep 18 2015, 19:45) Как бы... Sep 23 2015, 06:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|