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

 
 
> Cortex M4F проблема с памятью
vanek18
сообщение Apr 14 2015, 05:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-01-15
Пользователь №: 84 841



Добрый день! Я работаю с процессором на ядре Cortex M4F. Среда разработки - Keil 4.23. Устройство для навигации. Проблема такая: при увеличении размера прошивки, начинаются глюки. Поясню. Отлаживаюсь я через uart. Вот как должна работать программа(вотразмер прошивки:Program Size: Code=29044 RO-data=652 RW-data=184 ZI-data=13048):
Прикрепленное изображение

Следующим шагом я раскомменчиваю вызов одной функции,размер кода увеличивается(Program Size: Code=35892 RO-data=652 RW-data=184 ZI-data=13048):
Прикрепленное изображение

Затем еще вызываю одну функцию(Program Size: Code=40528 RO-data=648 RW-data=184 ZI-data=13048):
Прикрепленное изображение.
Подскажите пожалуйста,что копать,куда смотреть.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Apr 14 2015, 05:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



проверьте размер стэка, потом кучи...
Я думаю дело не в размере кода, а в дополнительном вызове, и как следствие в сохранении доп данных в стэк. Стэк кончается и гадит нормальную память...
Go to the top of the page
 
+Quote Post
vanek18
сообщение Apr 14 2015, 06:29
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-01-15
Пользователь №: 84 841



Цитата(Golikov A. @ Apr 14 2015, 05:34) *
проверьте размер стэка, потом кучи...

С размерами стэка и кучи я игрался уже,не привело к результатам.
У меня на борту 128 КБайт ОЗУ. Из них на стэк и кучу максимально получается выделить около 20 КБайт. Если делаю больше,то программа просто не выполняется. На данный момент размер стэка 16 КБайт, кучи - 4 КБайт.
Дело еще в том,что те 2 функции, которыя я добавлял последовательно, в процессе выполнения программы не вызываются,до них просто не доходит. Поэиому стэк и куча, я думаю не при чем.(или все-таки может быть?)
Изначально все это дело крутилось в RTX RTOS , я на нее грешил. Поэтому перебил прошивку,упростил, сделал без RTOS. Все равно та же лажа.И почему я не могу под стэк побольше памяти выделить...может дело в ОЗУ?
Go to the top of the page
 
+Quote Post
johnshadow
сообщение Apr 14 2015, 06:49
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 25-09-08
Пользователь №: 40 477



Цитата(vanek18 @ Apr 14 2015, 09:29) *
С размерами стэка и кучи я игрался уже,не привело к результатам.
У меня на борту 128 КБайт ОЗУ. Из них на стэк и кучу максимально получается выделить около 20 КБайт. Если делаю больше,то программа просто не выполняется. На данный момент размер стэка 16 КБайт, кучи - 4 КБайт.
Дело еще в том,что те 2 функции, которыя я добавлял последовательно, в процессе выполнения программы не вызываются,до них просто не доходит. Поэиому стэк и куча, я думаю не при чем.(или все-таки может быть?)
Изначально все это дело крутилось в RTX RTOS , я на нее грешил. Поэтому перебил прошивку,упростил, сделал без RTOS. Все равно та же лажа.И почему я не могу под стэк побольше памяти выделить...может дело в ОЗУ?


Вы случайно CAN, USB, etc не используете? Я встречал на других arm, что фильтра того же CAN в ram лежат. Т.ч. возможно какая-то периферия вам память портит при работе. Если с DMA работаете посмотрите правильно ли настраиваете указатели куда данные складывать, не выходите ли за границы этих участков. А вообще конечно странно, что у стек не можете увеличить. ЗЫ, вы помните, что ram чаще всего на банки делиться?
Я обычно в первом банке храню статические переменные, а второй банк отдаю под кучу и стек. Остаток первого банка можно к куче добавить, если менеджер памяти позволяет. Я пользуюсь heap by zltigo - местного форумчанина (спасибо ему).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vanek18   Cortex M4F проблема с памятью   Apr 14 2015, 05:28
- - Golikov A.   А у вас случаем нигде не настроено так что програм...   Apr 14 2015, 08:15
|- - vanek18   Цитата(Golikov A. @ Apr 14 2015, 09:15) А...   Apr 14 2015, 09:48
|- - johnshadow   Цитата(vanek18 @ Apr 14 2015, 12:48) А во...   Apr 15 2015, 08:53
- - Golikov A.   А почему у вас IRAM зарезан? на 0х400? А вы на фу...   Apr 14 2015, 10:58
|- - seniorandre   У меня такое было по молодости. Я тогда неправильн...   Apr 14 2015, 11:06
||- - seniorandre   Цитата(seniorandre @ Apr 14 2015, 14:06) ...   Apr 23 2015, 17:35
|- - vanek18   Цитата(Golikov A. @ Apr 14 2015, 10:58) А...   Apr 15 2015, 04:55
- - Golikov A.   ЦитатаЯ тогда неправильный размер для переменной х...   Apr 14 2015, 11:14
|- - seniorandre   ну да в лоб сделал что подобное, потом инкремент и...   Apr 14 2015, 11:22
- - Golikov A.   0x200026b0 0x00001000 Zero RW 2 ...   Apr 15 2015, 05:00
|- - vanek18   Цитата(Golikov A. @ Apr 15 2015, 05:00) 0...   Apr 15 2015, 05:33
- - редактор   Может данные в UART идут из локального буфера, поэ...   Apr 15 2015, 06:09
|- - vanek18   Цитата(редактор @ Apr 15 2015, 06:09) Мож...   Apr 15 2015, 06:24
- - Golikov A.   на кучу нет, можно вообще без нее, А стек какой-то...   Apr 15 2015, 07:52
|- - vanek18   Цитата(Golikov A. @ Apr 15 2015, 07:52) н...   Apr 15 2015, 09:49
- - scifi   Цитата(vanek18 @ Apr 15 2015, 12:49) Итак...   Apr 15 2015, 10:15
- - Golikov A.   ЦитатаКакой ужас! Как можно так жить? К чему э...   Apr 15 2015, 10:54
|- - vanek18   Цитата(Golikov A. @ Apr 15 2015, 10:54) А...   Apr 15 2015, 11:34
- - scifi   Кстати, выстрел наугад: у меня когда стек не был в...   Apr 15 2015, 11:50
|- - johnshadow   Цитата(scifi @ Apr 15 2015, 14:50) Кстати...   Apr 15 2015, 18:48
- - Golikov A.   А стэк пишется с конца, тут ничего не изменилось?...   Apr 15 2015, 11:56
- - aaarrr   Для ARM выравнивание стека производится по границе...   Apr 15 2015, 18:56
|- - vanek18   Цитата(aaarrr @ Apr 15 2015, 18:56) Для A...   Apr 23 2015, 11:46
|- - aaarrr   Цитата(vanek18 @ Apr 23 2015, 14:46) И он...   Apr 23 2015, 11:56
|- - vanek18   Цитата(aaarrr @ Apr 23 2015, 11:56) Может...   Apr 23 2015, 12:06
|- - aaarrr   Цитата(vanek18 @ Apr 23 2015, 15:06) Он ч...   Apr 23 2015, 12:10
|- - vanek18   Цитата(aaarrr @ Apr 23 2015, 13:10) Вот т...   Apr 23 2015, 12:18
|- - aaarrr   Цитата(vanek18 @ Apr 23 2015, 15:18) Это ...   Apr 23 2015, 12:28
|- - vanek18   Цитата(aaarrr @ Apr 23 2015, 12:28) С той...   Apr 24 2015, 05:16
- - Golikov A.   ЦитатаСдается что у Вас все таки проблема по работ...   Apr 23 2015, 17:46


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

 


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


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