Jump to content
    

2-ух ядерный Nios II

10кБ это минимальный объём который занимает простейший HelloWorld!.

Уберите из текста printf'ы, общайтесь с миром иными способами. Ну и рекомендации от slogа.

Share this post


Link to post
Share on other sites

id_gene

Скорее всего, вы неправильно настроили размещение секций. Для первого процессора все секции кода должны лежать в onchip, для второго - в onchip2.

Здесь-то как раз правильно все расставил.

 

slog

Если вы не укажете в свойствах библиотеки что нужно использовать Lightweight device driver API, Small C library, Reduced device driver, Program never exits - то 10кБ это минимальный объём который занимает простейший HelloWorld!.

 

А вот за это, действительно, спасибо. В software handbook сегодня посмотрел кто за что отвечает из этих свойств, в итоге сошлись на 5 Кб on-chip memory каждому ядру :)

 

Зато теперь при отладке, пытаюсь запустить debug 1 ядра и пишет вот что:

 

Using cable "USB-Blaster [uSB-0]", device 1, instance 0x00

Processor is already paused

Initializing CPU cache (if present)

OK

 

Downloading 0000A000 ( 0%)

Downloaded 3KB in 0.0s

 

Verifying 0000A000 ( 0%)

Verify failed between address 0xA000 and 0xA90B

Leaving target processor paused

 

со 2 ядром все в порядке, без проблем захожу в отладчик и все правильно выполняется.

 

Какие есть мнения насчет этой ошибки?

Share this post


Link to post
Share on other sites

А конкретнее?

 

проект-то я заново соберу и скомпилю, а вот знать бы где ошибка...

Share this post


Link to post
Share on other sites

Собрал проект(2 ядра) на Cyclone III, результат - те же яйца - вид сбоку.

 

Опять выдает ошибку:

Downloading 0000A000 ( 0%)

Downloaded 3KB in 0.0s

 

Verifying 0000A000 ( 0%)

Verify failed between address 0xA000 and 0xA90B

Leaving target processor paused

 

Есть ли смысл попробовать собрать все на Quartus 8.1 или какие-нибудь другие идеи, кто может подсказать?

Share this post


Link to post
Share on other sites

Вероятно, для процессора в SOPC указали неверные адреса reset и exception. Либо неправильно подключена ОЗУ.

Может проще для начала проверить память и поглядеть на ее работу в сигналтаб? Или процессору дать on-chip память и провести тест памяти...

Share this post


Link to post
Share on other sites

Вряд ли проблема в этом, потому что есть готовый работающий проект с 1 ядром nios ii. Я же просто добавляю 2 ядро память и pio и пробую отладить - в итоге выдает все ту же ошибку.

Share this post


Link to post
Share on other sites

Для каждого ядра своя память, из которой должен загружаться софт.

Но адреса одинаковые, вроде в мануале по мультипроцессору на рисунке изображена память с одинаковыми адресами.

 

При использовании общей памяти для 2 ядер, при отладке ф-ция возвращает id ядра один и тот же, то есть в проекте 2 ядра, а софт видит только 1 ядро.

 

Тем более, как я понял в отладчике при использовании мультипроцессорной отладки должны загружаться 2 потока main для каждого ядра, у меня же все время загружается только 1 поток.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...