|
Nios II 7.1 IDE. Функции из HAL., Вопросы... |
|
|
|
 |
Ответов
|
Nov 9 2007, 18:52
|
Частый гость
 
Группа: Свой
Сообщений: 92
Регистрация: 18-08-05
Пользователь №: 7 750

|
ВолощенкоЕсли Вы хотите использовать timestamp таймер, то нужно написать строчку: Код #include "sys/alt_timestamp.h" Никаких си файлов инклюдить не надо.
|
|
|
|
|
Nov 12 2007, 01:50
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(Волощенко @ Nov 10 2007, 04:49)  к popeye, спасибо за ответ! Однако, если вставить просто #include "sys/alt_timestamp.h" в текст Hello_world_small, а затем компилировать, то все будет нормально. Но если добавить в текст еще функцию extern int alt_timestamp_start (void); то будет выдано сообщение: undefined reference to `alt_timestamp_start' #include "sys/alt_stdio.h" #include "sys/alt_timestamp.h" int main() {int t; t=alt_timestamp_start (); alt_putstr("Hello from Nios II!\n"); while (1); return 0; }
То есть, надо еще что-то сделать... Я пока не знаю что...Надеюсь на солидарность Форума... тоесть Вы утверждаете что прочитали таки главу про Timestamp driver в Nios II Software Developer’s Handbook? Если так тогда мне совершенно не ясно почему у Вас с ошибками компилится, а у меня без ошибок Код Creating libhello_world_0_syslib.a... Compiling hello_world.c... Linking hello_world_0.elf... Info: (hello_world_0.elf) 2032 Bytes program size (code + initialized data). Info: 6160 Bytes free for stack + heap. компилил тот же исходник что и у Вас. Возможно что Вы не обратили внимания на строчки 1) страница 6-12 The HAL-specific API functions for accessing timer devices are defined in sys/alt_alarm.h and sys/alt_timestamp.h.2)6-14 Timestamp Driver Sometimes you want to measure time intervals with a degree of accuracy greater than that provided by HAL system clock ticks. The HAL provides high resolution timing functions using a timestamp driver. A timestamp driver provides a monotonically increasing counter that you can sample to obtain timing information. The HAL only supports one timestamp driver in the system. You specify a hardware timer peripheral as the timestamp device by manipulating BSP settings. The Altera-provided timestamp driver uses the timer that you specify.3) чтобы сделать 2 нужно в свойствах проекта (НИОС ИДЕ) ВЫБРАТЬ ТОТ ТАЙМЕР КОТОРЫЙ БУДЕТ У ВАС тем самым timestamp надеюсь теперь у Вас всё получится
--------------------
Cogito ergo sum
|
|
|
|
|
Nov 12 2007, 11:28
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
to Postoroniy_V. Спасибо за ответы! 1. Пока у меня эта программа в Nios II 7.1 IDE не получается: #include "sys/alt_stdio.h" #include "sys/alt_timestamp.h" int main() {int t; t=alt_timestamp_start (); alt_putstr("Hello from Nios II!\n"); while (1); return 0; } 2. Во вторник в Киеве будет семинар от Альтеры, попробую спросить там. Все что нужно для работы с Timestamp Driver, согласно и Quartus II Version 7.1 Handbook стр.14-6, я учел. А именно: The timer core may be used as a timestamp device if it meets the following conditions: ■ The timer has a writeable period register, as configured in SOPC Builder. ■ The timer is not selected as the system clock. т.е. эти режимы заданы еще на этапе работы в SOPC (см.пост от Nov 9 2007, 14:59). Повторюсь там только : cpu, jtag_uart, onchip_mem и timer 3. Еще вопрос. В теле alt_timestamp.h", есть строка с #ifdef __cplusplus, как Вы ее обошли? Моя попытка вставить между двумя инклудами (см.текст проги), что-то типа #define __cplusplus 1, тоже не дало результата.
to id_gene. Спасибо за ответы! Вы писали: "Добавлено: про инклуды: _подозреваю_, что область поиска файлов для инклуда (ключ gcc -include) ограничена по умолчанию только необходимыми вещами, чтобы не замусорить систему. Посмотрите, как это будет сделано через скрипты или правьте пути поиска в настройках компилятора." Думаю, что, действительно, искать нужно здесь, но пока не разобрался.
to All Может уже поднадоел кому, но, думаю, что тема заслуживает того, что бы с ней разобраться. Есть, конечно, обходные варианты, и их много. Но надо попробовать на этом маленьком примере научиться работать с HAL.
|
|
|
|
|
Nov 12 2007, 13:45
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(Волощенко @ Nov 12 2007, 20:28)  Может уже поднадоел кому, но, думаю, что тема заслуживает того, что бы с ней разобраться. Есть, конечно, обходные варианты, и их много. Но надо попробовать на этом маленьком примере научиться работать с HAL. ну мне не надоело  повторять одно и тоже То что Вы проделали манипуляции с таймером в сопц билдере никак не относится как этот таймер будет использоваться в софте! Тоесть - Вы должны указать в свойствах либы в ниос иде что у вас есть таймер- timer и вы его планируете использовать как stamptimer! именно как stamptimer! и ВСЁ! никаких манипулций я с инклудами не делал! после этого спокойно компилируте ваш тест...ДОЛЖНО ПОЛУЧИТСЯ! если нет то - выложу ваш-свой тестовый проект, который удачно компилируется завтра. Удачи!
--------------------
Cogito ergo sum
|
|
|
|
|
Nov 12 2007, 16:20
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Цитата(Postoroniy_V @ Nov 12 2007, 17:45)  ...ДОЛЖНО ПОЛУЧИТСЯ! Спасибо БОЛЬШОЕ, все получилось! Вот итоговый текст #include "sys/alt_stdio.h" #define __cplusplus 1 #include "sys/alt_timestamp.h" int main() {int t; t=alt_timestamp_start (); alt_putstr("Hello from Nios II!\n"); while (1); return 0; }
|
|
|
|
|
Nov 12 2007, 22:48
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(Волощенко @ Nov 13 2007, 01:20)  Спасибо БОЛЬШОЕ, все получилось! Вот итоговый текст #include "sys/alt_stdio.h" #define __cplusplus 1 #include "sys/alt_timestamp.h" int main() {int t; t=alt_timestamp_start (); alt_putstr("Hello from Nios II!\n"); while (1); return 0; } простите мне мою тупость но нахрена Код #define __cplusplus 1 нужен??? без него компилится всё очень замечательно вот что у меня в свойствах системной либы установлено
--------------------
Cogito ergo sum
|
|
|
|
Сообщений в этой теме
Волощенко Nios II 7.1 IDE. Функции из HAL. Oct 29 2007, 13:30 RHnd Сейчас не могу проверить, но мне кажется, что подк... Oct 29 2007, 15:19 Волощенко Цитата(RHnd @ Oct 29 2007, 19:19) Сейчас ... Nov 8 2007, 11:39  Postoroniy_V Цитата(Волощенко @ Nov 8 2007, 20:39) Тем... Nov 8 2007, 13:51   Волощенко Цитата(Postoroniy_V @ Nov 8 2007, 17:51) ... Nov 9 2007, 10:21 id_gene С этой функцией не работал, но могу предположить с... Nov 9 2007, 10:40 Волощенко to id_gene Спасибо, за дополнительную информацию,... Nov 9 2007, 10:59 id_gene Ошибки - это плохо.
Про билдер я, похоже, потороп... Nov 9 2007, 11:04 popeye Может это глупый вопрос, а Вы код для своей alt_ti... Nov 9 2007, 20:12 Волощенко Цитата(popeye @ Nov 10 2007, 00:12) Может... Nov 9 2007, 21:02 Harbour Если оригинальная f() описана как 'static inli... Nov 10 2007, 05:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|