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

 
 
> Keil+LPC1768+64KB SRAM
PoReX
сообщение May 18 2011, 07:05
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Доброго времени суток!
Пишу под LPC1768 в Keil'e и понадобились мне все 64KB оперативки, только как правильно ее включить не пойму. В опциях на вкладке Target включаю IRAM2 с адресом 0x2007C000 и длиной 0x8000 (32KB), HeapSize 0x7D00 и все компилится. Правда динамический массив длиной больше ~30KB не создается. Если увеличить кучу до 0xFD00(любой размер больше 32КВ), то компилятор выдает:
Цитата
LPC1768_MD_CPLD.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_lpc17xx.o(HEAP).
LPC1768_MD_CPLD.axf: Error: L6407E: Sections of aggregate size 0xfd00 bytes could not fit into .ANY selector(s).

Так как же работать с этими отдельными 32KB памяти?


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SmileGobo
сообщение May 18 2011, 08:10
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 7-12-10
Пользователь №: 61 451



Цитата
Разъясните пожалуйста, почему так?


Потому что, когда юзаешь динамическую память надо думать - люди не любят думать и все что связанно с этим процессом называют бякой
Go to the top of the page
 
+Quote Post
PoReX
сообщение May 18 2011, 08:16
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(SmileGobo @ May 18 2011, 12:10) *
Потому что, когда юзаешь динамическую память надо думать - люди не любят думать и все что связанно с этим процессом называют бякой

А чего тут думать поставил malloc и смотришь выделилась память или нет.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
mdmitry
сообщение May 18 2011, 09:32
Сообщение #4


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(PoReX @ May 18 2011, 12:16) *
А чего тут думать поставил malloc и смотришь выделилась память или нет.

Ага. Выделите несколько раз подряд, потом первый блок удалите, снова выделите и посмотрите, что будет. У Вас есть сборщик мусора и дефрагментатор? На форуме уже были обсуждения про динамическое использование памяти в контроллерах.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 21:58
Рейтинг@Mail.ru


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