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

NIOS-UART ?

Здравствуйте подскажите пожалуйста в чем может быть дело. Никак не могу заставить работать UART в NIOSII.

Открываю документацию раздел UART CORE и вроде, ничего сложного нет, приведены примеры.

 

#include <stdio.h>

#include <string.h>

int main()

{

char* msg = "Detected the character 't'.\n";

FILE* fp;

char prompt = 0;

fp = fopen ("/dev/uart1", "r+"); //Open file for reading and writing

fwrite (msg, strlen (msg), 1, fp);

}

 

 

Компилятор выдает непонятную ошибку

Unable to reach errno (at 0x00000820) from the global pointer (at 0x000091b4) because the offset (-35220) is out of the allowed range, -32678 to 32767.[/build/nios2/bin/nios2-gnutools/src/newlib/newlib/libc/reent/fstatr.c] blank_project_0

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


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

Компилятор выдает непонятную ошибку

Unable to reach errno (at 0x00000820) from the global pointer (at 0x000091b4) because the offset (-35220) is out of the allowed range, -32678 to 32767.[/build/nios2/bin/nios2-gnutools/src/newlib/newlib/libc/reent/fstatr.c] blank_project_0

Проверьте в свойствах библиотеки проекта - установлен ли Ваш UART в качестве стандартного средства ввода-вывода?

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


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

Вроде установлены, посмотрите пожалуйста вот копия с экрана.

1. Достаточно ли у Вас памяти? Судя по установками библиотеки проекта у Вас все сделано на On-Chip Memory, которой не так много. А стандартный IO требует дофига памяти.

2. Сделаны ли Auto Assign Base Addresses и Auto Assign IRQs в SOPC Builder'е?

3. Не было ли изменений в SOPC Builder'овском проекте после создания проекта в NiosII EDS? Если были, то сделайте рефреш библиотеки проекта.

И еще - у вас устройство открывается для чтения или для чтения-записи? Проверьте ключик в fopen (я запамятовал, какой он должен быть).

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


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

2. Сделаны ли Auto Assign Base Addresses и Auto Assign IRQs в SOPC Builder'е?

 

Вопрос - а имеет принципиальное значение автоназначение или вручную?

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


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

Вопрос - а имеет принципиальное значение автоназначение или вручную?

Принципиально - не имеет. Но при автоматическом назначении у Вас гарантированно оверлапа не получится. А при рукопашном - можно ошибиться.

Ну и еще вопрос с оптимальностью сгенеренного авалона (при том и другом назначении адресов) с точки зрения ресурсов FPGA...

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


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

Хм... получилось до автоназначения 13337, после 12512 лог. эл.

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

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


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

2 TSURKOV - у вас память как заметил Stewart Little - On-Chip Memory - а fopen и fwrite - посмотрите сколько занимают..

Сварганьте сами процедурки получения отправки меньше выйдет, или засуньте в внешнюю память программу..

Очень знакомое сообщение - я тож с он-чип начинал писать программки - потом стало не хватать...

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...