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

 
 
> Microblaze + DDR + custom IP, Управление записью в DDR память из процессора и своего ядра
shpongle
сообщение Nov 1 2015, 18:48
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 1-11-15
Пользователь №: 89 128



Здравствуйте.
Делаю проект (707 плата) в котором есть процессор Microblaze. Программа к процессору большая и линкер складывает ее в память DDR.
Мне необходимо использовать память DDR для временного хранения информации. Как правильно это сделать?
1. Я могу использовать для этого прямой доступ к памяти из процессора и писать по определенному адресу, после чего читать из него при помощи своего ядра по AXI.
2. Я могу вызвать функцию malloc выделить кусок памяти и сохранить там информацию, после чего считать данные при помощи своего ядра по AXI. Но, насколько я знаю, этой функцией пользоваться не желательно.
В первом случае, как я понимаю, я могу перезаписать данные относящиеся к программе Microblaze, во втором случае такого не должно быть.
Поправьте если ошибаюсь.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shpongle
сообщение Nov 2 2015, 08:47
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 1-11-15
Пользователь №: 89 128



В линкер скрипте много полей:
Код
.text
.init
.fini
...
.bss
.heap
.stack


Как я понимаю, размер каждой области памяти известен после сборки проетка. В моем случае 946560 байт и так как .heap и .stack идут после .bss, то их адрес и размер 946560+40К+40К, остальная память будет не доступна для проца и я могу писать и читать в нее напрямую. Вот зачем мне надо знать где кончается .heap и .stack.

Подскажит где можно прочитать подробнее про память Microblaze?

Сообщение отредактировал shpongle - Nov 2 2015, 08:49
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 04:38
Рейтинг@Mail.ru


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