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

 
 
 
Reply to this topicStart new topic
> EPCS Altera, Как добраться до EPCS в NIOS2 через Си
DisaPV
сообщение Nov 2 2015, 11:10
Сообщение #1





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



Всем привет. Такая есть проблема, не могу через Си в NIOS2 ДОСТУЧАТСЯ да EPCS16
Исходные данные:
-в QSYS (Quartus 13.0) добавил контроллер
- в Dual-Purpose Pins выставил все пены в Use ar reqular I/O
- контролер с EPCS запускается
- поставил SignalTap, что бы посмотреть как ходят сигналы data, sdo, dclk, sce триггер поставил на dclk по фронту
Не работает следующий код на Си

#include "epcs_commands.h"
int main()
{
alt_printf ("Start\n");
alt_printf ("d=%x\n",epcs_read_device_id(EPCS_BASE));
alt_printf ("End\n");

while (1) ;

return 0;
}

Контроллер просто зависает. Сообщение "Start" выводит, а дольше ничего. Триггер не срабатывает
Кто может подсказать в чем проблема.

Go to the top of the page
 
+Quote Post
krux
сообщение Nov 2 2015, 12:00
Сообщение #2


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

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



для начала сделайте
alt_printf ("EPCS_BASE = 0X%08X\n",EPCS_BASE);

если там null, значит забыли
#include "system.h"
в котором этот дефайн определен


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
DisaPV
сообщение Nov 2 2015, 12:25
Сообщение #3





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



Выводит:

Start
EPCS_BASE = 0x21000

и зависает база соответствует тому что прописано в system.h
Go to the top of the page
 
+Quote Post
krux
сообщение Nov 2 2015, 16:18
Сообщение #4


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

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



в таком случае зависание означает, что аппаратно в QSYS что-то неправильно сделано.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
DisaPV
сообщение Nov 3 2015, 05:33
Сообщение #5





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



попробую заново создать проект
Go to the top of the page
 
+Quote Post
DisaPV
сообщение Nov 3 2015, 06:43
Сообщение #6





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



Не помогло выкладываю картинки

Прикрепленное изображение

это настройка QSYS

Прикрепленное изображение

это рапорт там есть три варинга, но не могу понять счем они связанны


Прикрепленное изображение

это настройка ЦПУ



#include <stdio.h>
#include "epcs_commands.h"
#include "system.h"
int main()
{
printf("Hello from Nios II!\n");
alt_printf ("EPCS_FLASH_CONTROLLER_0_BASE=0x%x\n",EPCS_FLASH_BASE);
alt_printf ("d=%x\n",epcs_read_device_id(EPCS_FLASH_BASE));
printf("END\n");
return 0;
}
и код

Прикрепленное изображение

Это то что выводит консоль


это в самом Quartus

Прикрепленное изображение


Сообщение отредактировал DisaPV - Nov 3 2015, 06:50
Go to the top of the page
 
+Quote Post
Realking
сообщение Nov 3 2015, 07:06
Сообщение #7


Местный
***

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



Цитата(DisaPV @ Nov 3 2015, 09:43) *
Не помогло выкладываю картинки

Прикрепленное изображение

это настройка QSYS

Прикрепленное изображение

это рапорт там есть три варинга, но не могу понять счем они связанны


Прикрепленное изображение

это настройка ЦПУ



#include <stdio.h>
#include "epcs_commands.h"
#include "system.h"
int main()
{
printf("Hello from Nios II!\n");
alt_printf ("EPCS_FLASH_CONTROLLER_0_BASE=0x%x\n",EPCS_FLASH_BASE);
alt_printf ("d=%x\n",epcs_read_device_id(EPCS_FLASH_BASE));
printf("END\n");
return 0;
}
и код

Прикрепленное изображение

Это то что выводит консоль


это в самом Quartus

Прикрепленное изображение


на варнинги эти не обращай внимание,
а вот какую ты частоту подаешь?
и еще.. у тебя в системе сброс не экспортирован, а на символе есть???


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
DisaPV
сообщение Nov 3 2015, 07:23
Сообщение #8





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



Частота 100Мгц
ресет я потом подцепил (а то проц не запускался)
Go to the top of the page
 
+Quote Post
Realking
сообщение Nov 3 2015, 07:28
Сообщение #9


Местный
***

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



Цитата(DisaPV @ Nov 3 2015, 10:23) *
Частота 100Мгц
ресет я потом подцепил (а то проц не запускался)


и если я не ошибаюсь, надо вроде так
epcs_read_device_id(EPCS_FLASH_BASE+EPCS_FLASH_BASE_REGISTER_OFFSET);

http://electronix.ru/forum/index.php?showtopic=93233


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
DisaPV
сообщение Nov 3 2015, 07:42
Сообщение #10





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



Точно, все заработало. Огромное спасибо
Go to the top of the page
 
+Quote Post

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

 


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


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