Перейти к содержанию

    

NIOS для начинающих

Нужно.

Нужно запускать на реальном железе, или нужно настраивать ? Просто при попытке настроить все упирается в Target Connection - без железа не получается, а нужно, как изначально говорил, именно просто посмотреть код после компиляции без необходимости запускать...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Блин, все еще продолжаю бороться... Если запустить проект на реальном железе, то все в порядке - в disassembly имеется как раз то, что нужно. Но как получить аналогичное без запуска проекта - не понимаю :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребята, кто знает как правильно делать установку/очистку отдельного бита в регистре. Например в ядре JTAG UART регистр control содержит биты AC, WE, RE, и нужно установить WE, RE не "трогая" AC.

У AVR это можно было сделать накладывая маску, в NIOS обращение к регистрам идет с помощью макросов IORD(...), IOWR(...), т.е. способ в "лоб" это:

1-завести переменную в 32 бита (temp)

2-провести IORD(...) регистра control в переменную temp

3-провести IOWR(...) переменной temp с маской в регистр control

Есть ли более быстрый способ устанавливать биты отдельно? Я уже листал юзер гайды и мануалы, но почему-то примеров на C так и не нашел :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

BSP посмотрите (bsp/drivers/inc), для каждого ядра есть соответствующие макросы, типа IOWR_ALTERA_AVALON_PIO_SET/CLEAR_BITS()

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
BSP посмотрите (bsp/drivers/inc), для каждого ядра есть соответствующие макросы, типа IOWR_ALTERA_AVALON_PIO_SET/CLEAR_BITS()

В догонку - при создании PIO нужно разрешить побитовое управление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
BSP посмотрите (bsp/drivers/inc), для каждого ядра есть соответствующие макросы, типа IOWR_ALTERA_AVALON_PIO_SET/CLEAR_BITS()

 

Спасибо большое, определенно по ядру JTAG UART регистров установки/очистки я не нашел, зато в altera_avalon_pio_regs.h есть макросы установки/очистки бит, я так понял это универсальные макросы:

IOWR_ALTERA_AVALON_PIO_SET_BITS(base, data)

тогда чтобы установить младший бит в регистре control

IOWR_ALTERA_AVALON_PIO_SET_BITS(адрес control, 0x00000001)

Будет время попробую

 

 

В догонку - при создании PIO нужно разрешить побитовое управление.

Да, по поводы портов ввода/вывода знаю, меня больше интересуют регистры например JTAG UART, там как таковых отдельных регистров установки бит нет, и нет галочек по их включению в модуль

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти