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

 
 
> malloc после сброса памяти не дает, вообще ступор!
alexPec
сообщение Oct 16 2010, 19:35
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Всем доброго дня. Всречался ли кто с таким: загружаю ниос проц через debug as hardware или run as hardware - все работает. Нажимаю ресет (ресет процессора) - простая тестовая программа выполняется сначала, в jtаg uart шлет результаты, а на экране нет ничего. Начал разбираться - вот такая простая строчка

display = (alt_video_display*) malloc (sizeof(alt_video_display));

возвращает 0. Это первое динамическое выделение памяти в программе. sizeof(alt_video_display) при этом равно 0x38.

Программа на базе hello world small.

Heap располагается во внешней памяти, остальное - в он-чип рам. Думал память внешняя как-то после сброса отваливается - нет, до этой строчки тест памяти проходит нормально, о чем репортирует в jtag uart.

Ступор! Даже не знаю что подумать...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fars
сообщение Oct 17 2010, 10:07
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 3-04-08
Из: Киев, Украина
Пользователь №: 36 452



ну значит памяти мало. Я Альтеру не знаю, но по аналогии с Микроблейзом:

1) проверь девствительно НИОС работает с внешней РАМой, попросту записав прочитав что нибудь из памяти и отправивши результаты в уарт.

2)можно попробывать выделить РАМ на ПЛИСЕ без внешней и посмотреть ли работает с ней
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 18 2010, 05:50
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(fars @ Oct 17 2010, 14:07) *
ну значит памяти мало. Я Альтеру не знаю, но по аналогии с Микроблейзом:

1) проверь девствительно НИОС работает с внешней РАМой, попросту записав прочитав что нибудь из памяти и отправивши результаты в уарт.

2)можно попробывать выделить РАМ на ПЛИСЕ без внешней и посмотреть ли работает с ней


А как мало-то? До сброса значит хватает, а после сброса мало? Да и не может ее мало быть - там 500 кбайт, а мне всего надо 156 кбайт, а он даже 0x38 байт не дает (повторюсь, это ПЕРВОЕ выделение памяти размером 0x38 байт).

Память точно работает, прямо перед этим тест провожу - пишу и читаю, все ОК. На плисе столько памяти нет сколько через хип выделяется из внешней.


Цитата
В окне Гипертерминала видели надпись "hello world", когда производили первый запуск процессора?


И когда первый запуск, и после ресета - сначала надпись в окне терминала Hello wworld small, затем - Test RAM ok - это о том что с внешней памятью все в порядке.
Go to the top of the page
 
+Quote Post



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

 


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


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