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

Не определены функции alt_timestamp_start, alt_timestamp и alt_timestamp_freq

Здравствуйте!

 

Впервые столкнулась с Nios II.

 

В Qsys была создана система со следующими параметрами:

- Nios II/standard

- onchip mem 20 кБ

- jtag uart

- таймер (разрядность 32, full-featured)

- блок system id

- 8 параллельных выходов на индикаторы

 

Проблемы возникли с программкой, представляющей собой немного модифицированный пример работы с таймером в режиме timestamp.

#include <stdlib.h>
#include <string.h>
#include "system.h"
#include "sys/alt_timestamp.h"
#include "alt_types.h"

int main (void)
{
    char *string = "Who is faster?";

    alt_u32 time1;
    alt_u32 time2;

    if (alt_timestamp_start() < 0)
        {
            printf ("No timestamp device available\n");
        }
    else
        {
            time1 = alt_timestamp();
            qsort (string, sizeof(*string), 1, strcmp);
            time2 = alt_timestamp();

            printf ("%s", *string);
            printf ("time in func1 = %u ticks\n",
                    (unsigned int) (time2 - time1));
            printf ("Number of ticks per second = %u\n",
                    (unsigned int)alt_timestamp_freq());
        }

    while (1)
    {}

    return 0;
}

 

Функции alt_timestamp_start, alt_timestamp, alt_timestamp_freq оказались не определны. Я нашла файл altera_avalon_timer_ts.c, где описываются эти функции. Происходит это только, если выполняется некое условие

 

#if (ALT_TIMESTAMP_CLK_BASE != none_BASE)

 

Почему оно может не выполянться? Что могло произойти? Помогите, пожалуйста!

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


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

Функции alt_timestamp_start, alt_timestamp, alt_timestamp_freq оказались не определны.

 

Почему оно может не выполянться? Что могло произойти? Помогите, пожалуйста!

 

В настройках BSP не забыли timestamp таймер указать?

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


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

Забыла, конечно же ))

 

Сначала я настроила вот так:

 

sys_clock_timer > sys_clock_timer

timestamp_timer > sys_clock_timer

 

Программа запустилась, но сработала с ошибкой "no timestamp device available". Тогда я перенастроила:

 

sys_clock_timer > none

timestamp_timer > sys_clock_timer

 

Заработало, как надо, хотя я не очень понимаю, что творю, и почему для того, и для другого не мог быть выбран один и тот же таймер

 

Спасибо за помощь!!

Изменено пользователем budda

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


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

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

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

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

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

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

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

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

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

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