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

 
 
> MicroBlaze (Vivado 2015.1), beginner questions
doom13
сообщение Jun 11 2015, 13:07
Сообщение #1


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

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



Приветствую.

В чём может быть проблема для системы, приведённой на рисунке (сообщение #15),
код нормально работает

Код
#include "xparameters.h"
#include "xgpio.h"
#include "xtrafgen.h"
#include <stdio.h>

int main()
{
    XGpio gpio_0, gpio_1;
    XGpio *gpio_0_ptr = &gpio_0;
    XGpio *gpio_1_ptr = &gpio_1;
    XGpio_Initialize(gpio_0_ptr, XPAR_GPIO_0_DEVICE_ID);
    XGpio_Initialize(gpio_1_ptr, XPAR_GPIO_1_DEVICE_ID);

    while(1)
    {
        XGpio_DiscreteWrite(gpio_1_ptr, 1, 1);
        XGpio_DiscreteWrite(gpio_0_ptr, 1, 1);
        XGpio_DiscreteWrite(gpio_0_ptr, 1, 0);
        XGpio_DiscreteWrite(gpio_1_ptr, 1, 0);
    }
}


С кодом

Код
#include "xparameters.h"
#include "xgpio.h"
#include "xtrafgen.h"
#include <stdio.h>

int main()
{
    //unsigned int addr = 0;
    XTrafGen tgen;
    XTrafGen_Config tgen_config;
    XTrafGen_Config *tgen_config_ptr;

    tgen_config_ptr = XTrafGen_LookupConfig(XPAR_XTRAFGEN_0_DEVICE_ID);
    //tgen_config_ptr = (XTrafGen_Config *) addr;

    XTrafGen_CfgInitialize(&tgen, &tgen_config, XPAR_AXI_TRAFFIC_GEN_0_BASEADDR);

    while(1) {}
}


есть какие-то проблемы. Даже переменные создаются с ошибкой (адреса созданной переменной 0xFFFF1234, вне доступного диапазона адресов).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение Aug 11 2015, 10:31
Сообщение #2


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

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



В системе есть память, которая тактируется от отдельного генератора. MicroBlaze и вся остальная система тактируется от другого генератора.
MicroBlaze через блок AXI Interconnect имеет доступ к данной памяти. Учитывает ли блок AXI Interconnect, что в системе два источника тактирования?

PS
Судя по тому, что память не читается, так делать нельзя?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
kaktus
сообщение Aug 12 2015, 07:28
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-05
Из: Санкт-Петербург
Пользователь №: 4 756



Цитата(doom13 @ Aug 11 2015, 13:31) *
В системе есть память, которая тактируется от отдельного генератора. MicroBlaze и вся остальная система тактируется от другого генератора.
MicroBlaze через блок AXI Interconnect имеет доступ к данной памяти. Учитывает ли блок AXI Interconnect, что в системе два источника тактирования?
PS
Судя по тому, что память не читается, так делать нельзя?


Вообще-то работать должно и интерконнект должен все учитывать. В плане исследования можно открыть "плюсиком" сам блок интерконнекта и его составляющие и посмотреть где он вставил клок конвертеры, а где еще чего (Это я в соседней теме негодовал, что вивадо ругается на xdc этих самых конвертеров).
Прикрепленное изображение

Потом, можно посмотреть на Synthesis - Report Clock Interaction.
За последние дни я уже успел столкнуться с ситуацией, когда одно из периферийных устройств подвешивало, при обращении к нему, Микроблейз. Пересобрал проект заново - все работает. Возможно где-то что-то изменил по мелочи, а может эффект сборки с чистого листа. (Чистить директории по Вашему совету пока не пробовал). Система у меня аналогичная: PCIe (ядро 2.6), DMA (будет), Ethernet.
В предыдущей версии Вивадо сталкивался с ситуацией, когда во время работы над периферией, при уменьшении/увеличении количества портов в блоке интерконнект внешне все нормально, а внутри порты оставались подвешенными в воздухе.

Еще обратите внимание, что в интерконнекте в настройках можно FIFO добавлять для отдельных портов, что может быть полезным при различных частотах Master/Slave.
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 12 2015, 08:07
Сообщение #4


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

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



Цитата(kaktus @ Aug 12 2015, 10:28) *
Вообще-то работать должно и интерконнект должен все учитывать. В плане исследования можно открыть "плюсиком" сам блок интерконнекта и его составляющие и посмотреть где он вставил клок конвертеры, а где еще чего (Это я в соседней теме негодовал, что вивадо ругается на xdc этих самых конвертеров).

Да, спасибо, клок конверторы ставит. Похоже, это опять был какой-то фокус Vivado + SDK. Удалил всё из папки .sdk, пересобрал и экспортировал новое железо - работает, память читает.

Цитата(kaktus @ Aug 12 2015, 10:28) *
Потом, можно посмотреть на Synthesis - Report Clock Interaction.
За последние дни я уже успел столкнуться с ситуацией, когда одно из периферийных устройств подвешивало, при обращении к нему, Микроблейз. Пересобрал проект заново - все работает. Возможно где-то что-то изменил по мелочи, а может эффект сборки с чистого листа. (Чистить директории по Вашему совету пока не пробовал). Система у меня аналогичная: PCIe (ядро 2.6), DMA (будет), Ethernet.
В предыдущей версии Вивадо сталкивался с ситуацией, когда во время работы над периферией, при уменьшении/увеличении количества портов в блоке интерконнект внешне все нормально, а внутри порты оставались подвешенными в воздухе.

Вот у меня ситуация с подвисанием MicroBlaze получалась при обращении к памяти для системы приведённой на рисунке выше. Её собрал для проверки (на чём-то простом), как будет работать при наличии разных источников тактирования в системе.

Цитата(kaktus @ Aug 12 2015, 10:28) *
Еще обратите внимание, что в интерконнекте в настройках можно FIFO добавлять для отдельных портов, что может быть полезным при различных частотах Master/Slave.

Спасибо, учту такую возможность.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- doom13   MicroBlaze (Vivado 2015.1)   Jun 11 2015, 13:07
- - Corvus   Проверьте конфигурацию линковщика, что и куда разм...   Jun 11 2015, 14:00
- - Golikov A.   конфигурацию железа не меняли? У ксалинкса передач...   Jun 11 2015, 19:58
|- - kaktus   Цитата(Golikov A. @ Jun 11 2015, 22:58) к...   Jun 30 2015, 09:23
- - doom13   RE: MicroBlaze (Vivado 2015.1)   Jun 12 2015, 05:39
- - Golikov A.   ЦитатаПосле перезапуска Vivado данных ошибок уже н...   Jun 12 2015, 06:25
|- - doom13   Цитата(Golikov A. @ Jun 12 2015, 09:25) ...   Jun 12 2015, 07:31
- - Golikov A.   Наверное потому что по умолчанию выбрали 16 битную...   Jun 12 2015, 08:09
- - doom13   У Altera Nios II для BSP есть опции enable_small_c...   Jun 12 2015, 11:40
- - Golikov A.   у них есть подмена общих функций своими поменьше. ...   Jun 12 2015, 12:00
- - doom13   При сборке выбрасывает ошибку Цитата../...   Jun 12 2015, 12:49
- - Golikov A.   ну это можно победить #include "some_file_nam...   Jun 12 2015, 16:26
- - doom13   Зачем в BSP .h-файлы дублируются? Это какой-то кос...   Jun 15 2015, 09:20
- - doom13   Хотел заюзать оператор new, но генерит какой-то ст...   Jun 16 2015, 13:26
|- - Sergey_Bekrenyov   Цитата(doom13 @ Jun 16 2015, 16:26) Хотел...   Jun 16 2015, 15:28
- - doom13   Попытался обойтись без использования new, добавил ...   Jun 16 2015, 18:48
|- - Alex77   Цитата(doom13 @ Jun 16 2015, 21:48) выбор...   Jun 16 2015, 19:06
|- - doom13   Цитата(Alex77 @ Jun 16 2015, 22:06) C++ п...   Jun 16 2015, 19:13
- - doom13   Добавил в IP Integrator ядро ten_gig_eth_mac, в BS...   Jun 17 2015, 08:54
- - doom13   Очень даже помогают ключи для компилера (-ffunctio...   Jun 17 2015, 13:41
|- - Alex77   Цитата(doom13 @ Jun 17 2015, 16:41) Очень...   Jun 18 2015, 05:14
- - doom13   С O2 и Os понятно, но тогда не получится нормально...   Jun 18 2015, 06:06
- - doom13   В папке с установкой Xilinx SDK (\Xilinx...   Jun 18 2015, 08:25
- - doom13   Ответили на форуме Xilinx, оказывается, никакого B...   Jun 18 2015, 18:30
|- - Alex77   Цитата(doom13 @ Jun 18 2015, 21:30) Ответ...   Jun 19 2015, 09:14
|- - doom13   Цитата(Alex77 @ Jun 19 2015, 12:14) Посмо...   Jun 19 2015, 09:21
- - doom13   Может кто подскажет, где у меня ошибка? Разбираюсь...   Jun 26 2015, 13:35
- - doom13   Ошибка в том, что в использовании функции XAxiCdma...   Jun 27 2015, 07:55
- - doom13   Пытаюсь запустить проект в XSDK (2015.2) под Linux...   Jul 28 2015, 11:01
- - doom13   Проблема была с правами пользователя. Сегодня руки...   Jul 31 2015, 15:04
|- - Alex77   Цитата(doom13 @ Aug 11 2015, 13:31) В сис...   Aug 11 2015, 13:08
||- - doom13   Цитата(Alex77 @ Aug 11 2015, 16:08) Я что...   Aug 12 2015, 06:05
- - doom13   Есть передатчик AXI-Stream трафика, работает на ча...   Aug 20 2015, 11:58
- - dm.pogrebnoy   Цитата(doom13 @ Aug 20 2015, 14:58) Есть ...   Aug 20 2015, 18:21
- - doom13   Цитата(dm.pogrebnoy @ Aug 20 2015, 21:21)...   Aug 26 2015, 15:01


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

 


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


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