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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Cortex M4F проблема с памятью
aaarrr
сообщение Apr 23 2015, 12:28
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(vanek18 @ Apr 23 2015, 15:18) *
Это можно как-то без отладчика сделать?

Можно как-нибудь так:
Код
int main(void)
{
     unsigned int sp = __current_sp();

     ...
     for(int a = 0; a < 8; a++)
     {
         unsigned int n = sp >> 28;

         uart_putc(n > 9 ? n + 'A' - 10 : n + '0');
         sp <<= 4;
     }
}


Цитата(vanek18 @ Apr 23 2015, 15:18) *
И факт в том,что сейчас с этой картой памяти он работает! wacko.gif

С той, с которой не работал раньше?
Go to the top of the page
 
+Quote Post
seniorandre
сообщение Apr 23 2015, 17:35
Сообщение #32


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 6-07-12
Из: г.Нижний Новгород
Пользователь №: 72 651



Цитата(seniorandre @ Apr 14 2015, 14:06) *
У меня такое было по молодости. Я тогда неправильный размер для переменной хранения указателя сделал, например int16 хранит адрес максимум 65535 иесли переменная уезжает из этого диапазона, то все падает. Появилось с ростом программы.

Сдается что у Вас все таки проблема по работе с указателями. Я сейчас разбирался как раз с проектом, про который я собственно и писал выше. У меня ошибка была когда я сдвигал несколько байт командой компилятора CCS вправо. Вчера глянул на ассемблерный код, который он генерил и понял почему ошибка. Оказывается он почему-то изменял только адрес младшего байта адреса, даже если надо было сдвигать данные в ячейке у которой уже надо менять и старший адрес. И соотв. если группа ячеек попадала в адреса, у которых все байты находятся в группе, у которых старший байт не меняется, то все ок, а если группа адресов смещается, то все перестает работать.
Так и у Вас просто какая-то переменная смещается и все перестает работать. И скорее всего неважно, растет прошивка или уменьшается.

Сообщение отредактировал seniorandre - Apr 23 2015, 17:37
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 23 2015, 17:46
Сообщение #33


Гуру
******

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



Цитата
Сдается что у Вас все таки проблема по работе с указателями. Я сейчас разбирался как раз с проектом, про который я собственно и писал выше. У меня ошибка была когда я сдвигал несколько байт командой компилятора CCS вправо.


приведите код пожалуйста, потому что то что вы пишите какой-то запредел...
Go to the top of the page
 
+Quote Post
vanek18
сообщение Apr 24 2015, 05:16
Сообщение #34


Участник
*

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



Цитата(aaarrr @ Apr 23 2015, 12:28) *
С той, с которой не работал раньше?

Да,именно та,которая не работала,изменил лишь однажды распределение памяти. И все.
В приложении значения SP и map при распределении памяти *.sct и автоматически соответственно.
Прикрепленный файл  SP.txt ( 1.73 килобайт ) Кол-во скачиваний: 192
Go to the top of the page
 
+Quote Post

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

 


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


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