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

 
 
 
Reply to this topicStart new topic
> Cyclone III & Nios II, не работает обычная программа
Realking
сообщение Sep 29 2009, 11:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



собрал проект с процем, ончип памятью и jtag_uart

в ниос 2 собрал проект hello_world

после запуска следующая картина:

sing cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: OK
Initializing CPU cache (if present)
OK

Downloading 00010000 ( 0%)
Downloaded 18KB in 0.3s (60.0KB/s)

Verifying 00010000 ( 0%)
Verified OK
Leaving target processor paused


nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "USB-Blaster [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)

и все - висит и ничего не выводится
сразу говорю - стдоут настрен правильно


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Sep 30 2009, 06:52
Сообщение #2


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



А ресетить cpu после загрузки пробовали?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Sep 30 2009, 07:03
Сообщение #3


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Realking @ Sep 29 2009, 20:47) *
.......
и все - висит и ничего не выводится
сразу говорю - стдоут настрен правильно

однако страное сообщение

Leaving target processor pause
1)nios2-ide пользуете?
2) и оттуда же запускаете?
3) пробовали так - конфигурим плис, затем заливаем софт. всё это можно сделать из ниос2 команд щелл - "nios2-configure fpga.sof -d1"и затем nios2-download -g soft.elf
-d1 это номер плисы в жтаг цепочке
-g грит о том что после заливки софта неплохобы запустить проц( тоесть не будет никаких Leaving target processor pause а будет Starting processot at address 0xblabla


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Sep 30 2009, 08:55
Сообщение #4


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Postoroniy_V @ Sep 30 2009, 11:03) *
однако страное сообщение
Leaving target processor pause

Это не страшно. В IDE после загрузки такое сообщение всегда выводится, но это не означает, что процессот удерживается в ресете. Он после этого должен нормально стартовать с положенного адреса (если, конечно, все сделано правильно).
Пример Hello world не очень удобен для наблюдения, т.к. там срока единожды выплевывается в jtag_uart, и после этго процессор уходит в аут. И после каждого вывода строки нужно взбадривать процессор ресетом.
Можно попробовать модифицировать программу - к примеру выдавать строку в цикле:
Код
#include <stdio.h>

int main()
{
  while(1)  
  printf("Hello from Nios II Economy!\n");

  return 0;
}

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


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Realking
сообщение Oct 6 2009, 08:26
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Спасибо за ответы, разобрался

Поставил Quartus 9.0 + SP2 (раньше стоял 8.0+SP1) и все завелось


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
qwqw
сообщение Feb 9 2011, 09:34
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 192
Регистрация: 23-11-05
Из: г. Москва
Пользователь №: 11 307



Столкнулся с аналогичной проблемой. Симптомы те же.

Q10.1 sp1.
СycloneIII

Собрал следующую ситсему:

NIOS на 50МГц
DDR на 100МГц (Ядро DDR SDRAM Controller with ALTMEMPHY)

В Eclipse Galileo скомпилил темплейт Memory test чтобы протестировать подключение DDR памяти.
Программа в on-chip (onchip_memory2_0).
все собирается без проблем.
Отладчик выдает:
Цитата
Downloading 02020000 ( 0%)
Downloading 02030000 (69%)
Downloaded 92KB in 2.1s (43.8KB/s)

Verifying 02020000 ( 0%)
Verifying 02030000 (69%)
Verified OK
Leaving target processor paused
\

Цитата
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Processor is already paused
Reading System ID at address 0x02041008: verified
Listening on port 1549 for connection from GDB: 59saccepted


а затем тишина и в main не попадает.

Попробовал под ту же систему собрать темплейт Hello world - то же самое.
Попробовал исключить DDR из системы - пересобрал, скомпилил Hello world - заработало.

Quфtrus при сборке выдает ворнинг:
Цитата
Critical Warning: Fitter could not properly route signals from DQ I/Os to DQ capture registers because the DQ capture registers are not placed next to their corresponding DQ I/Os
Info: DQ capture register test_DDR:inst7|altmemddr_0:the_altmemddr_0|altmemddr_0_controller_phy:altmemddr_
0_controller_phy_inst|altmemddr_0_phy:altmemddr_0_phy_inst|altmemddr_0_phy_alt_me
m_phy:altmemddr_0_phy_alt_mem_phy_inst|altmemddr_0_phy_alt_mem_phy_clk_reset:clk|
altddio_bidir:DDR_CLK_OUT[0].ddr_clk_out_p|ddio_bidir_e4h:auto_generated|input_ce
ll_h[0] at (51, 40) is not assigned to the adjacent LAB of the corresponding DQ I/O DDR_CLKp~input at (59, 43)

Еще не разобрался с ним, но непонятно почему hello world не работает, когда DDR присутствует. Даже если с фронт ендом DDR что-то не так.
Ведь программа находится в onchip, Reset vector и Exception vector - там же.

TimeQuest вроде не ругается, хотя я ничего не констрейнил.




Прикрепленные файлы
Прикрепленный файл  sopc.bmp ( 882.02 килобайт ) Кол-во скачиваний: 11
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 9 2011, 12:23
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(qwqw @ Feb 9 2011, 15:34) *
Еще не разобрался с ним, но непонятно почему hello world не работает, когда DDR присутствует. Даже если с фронт ендом DDR что-то не так.
Ведь программа находится в onchip, Reset vector и Exception vector - там же.
TimeQuest вроде не ругается, хотя я ничего не констрейнил.

неработающий (неправильно работающий) компонент может завесить всю систему, легко. соответственно, кривые (отсутствующие) констрейны в проекте с DDR - легкий способ получить нерабочий проект
Go to the top of the page
 
+Quote Post

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

 


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


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