Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почему alt_printf виснет?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
alexPec
Опять вопрос, может подскажет кто:

Запускаю тест памяти через debug as, нажимаю Run - тест проходит, через jtag uart пишет все ок потом по программе на светодиоды выводит 0011.
В дебагере нажимаю "Terminate", ресетю процессор. На светодиодах уже не вижу 0011. Зависает где-то.
Начал разбираться, убрал из программы все alt_printf, делаю все точно также - на светодиодах появляется 0011.

alt_printf зависает без открытого терминала?

Заменяю все alt_printf на alt_putstr - не виснет,на светодиодах появляется 0011

Тест сделан на базе hello world small. Все секции памяти расположены в он-чип; во внешней, которую тестирую - ничего. После компиляции пишет 14 кБ остается для stack и heap. Std_out, Std_in, Std_err направлены в jtag_uart.
vadimuzzz
Цитата(alexPec @ Jul 23 2010, 15:28) *
alt_printf зависает без открытого терминала?

да, он будет ждать, пока не откроется терминал
alexPec
Цитата(vadimuzzz @ Jul 23 2010, 13:59) *
да, он будет ждать, пока не откроется терминал

А просто printf не ждет? Заменил alt_printf на printf - код вырос, но теперь и без терминала работает. И с терминалом работает. Это конечно хорошо что работает, но вопрос грызет, почему?

PS. Спасибо, vadimuzzz!!! Вот RESPECT таким людям. Ведь не ломает помогать с глупыми вопросами! Вроде мелочи, а столько времени потратишь, если не подскажет никто.

Вопрос снимается - и тот и другой виснет, только один раньше, другой позже - видимо че-то в буфере накапливается и ждет когда терминал откроется.
А терминал как открыть из гуи, чтоб не ребилдить. Вот запущен процессор, завис он на принтфе, ждет когда терминал откроется. Можно его открыть не ресетя и не перегружая проц?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.