Jump to content

    

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

Нужно.

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Ребята, кто знает как правильно делать установку/очистку отдельного бита в регистре. Например в ядре 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 так и не нашел :(

Share this post


Link to post
Share on other sites

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

Share this post


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

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

Share this post


Link to post
Share on other sites
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, там как таковых отдельных регистров установки бит нет, и нет галочек по их включению в модуль

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now