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

 
 
 
Reply to this topicStart new topic
> Cyclone V SoC bare metal amp system, Использование двух ядер для двух разных bare metal программ
kuposatina
сообщение May 3 2017, 14:41
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 3-05-17
Пользователь №: 96 876



Необходимо запустить две разные программы на двух ядрах Cyclone V SoC. Не могу найти никакой конкретной информации о том как это сделать. Понятно что по умолчанию программа запускается с ядра 0, в это время ядро 1 находится в ресете. Есть два регистра связанные с этой темой: mpumodrst в котором можно убрать ресет с ядра 1, cpu1startaddr в котором задается начальное значение PC ядра 1. Как я понимаю все должно быть просто. Располагаю необходимый для выполнения код программы для 1 ядра (используя scatter файл и команды линкера (я использую arm compiller 5)) по нужному адресу. Затем задаю этот адрес в cpu1startaddr. Затем убираю ресет 1 ядра. Логично?
Но когда ресет убирается (это выполняется в коде 0 ядра) стартовый адрес ядра 1 становится 0x0, а не тот, что я задавал. В прошлогодней теме на этом форуме (https://electronix.ru/forum/index.php?showtopic=133380) писали, что по адресу 0x0 лежит BootROM, но у меня там лежит какая то хрень, неизвестные инструкции (если что, программа стабильно работает на ядре 0). Пробовал делать remap, такое ощущение что эта функция вообще ничего не меняет (наверняка я что-то не так делаю (тупо использую hwlib функции, где там еще можно ошибиться чтоб совсем не было никакого эффекта от функции я не знаю))
Кстати пишу я все это в одном проекте (то есть на выходе один .axf файл (использую DS-5)) Правильно ли это? Может надо делать два отдельных проекта, но как тогда их объединять? В общем такой вопрос, уважаемые. Помогите кто знает, подскажите help.gif
Создаю новую тему, потому что в прошлой так и не было дано полноценного ответа.

Сообщение отредактировал kuposatina - May 3 2017, 14:43
Go to the top of the page
 
+Quote Post
doom13
сообщение May 4 2017, 06:23
Сообщение #2


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Два ядра - два проекта (две прошивки).
Go to the top of the page
 
+Quote Post
kuposatina
сообщение May 4 2017, 06:45
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 3-05-17
Пользователь №: 96 876



Цитата(doom13 @ May 4 2017, 09:23) *
Два ядра - два проекта (две прошивки).

Можно подробнее об этом? Как вообще это должно работать? Откуда потом загрузится вторая программа? И где она должна храниться? Как вообще все это сделать не имею понятия, везде написано только об использовании ядра 0, это я уже умею biggrin.gif
Go to the top of the page
 
+Quote Post

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

 


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


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