реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Почему alt_printf виснет?, а alt_putstr не виснет
alexPec
сообщение Jul 23 2010, 08:28
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Опять вопрос, может подскажет кто:

Запускаю тест памяти через 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.

Сообщение отредактировал alexPec - Jul 23 2010, 08:56
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 23 2010, 09:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(alexPec @ Jul 23 2010, 15:28) *
alt_printf зависает без открытого терминала?

да, он будет ждать, пока не откроется терминал
Go to the top of the page
 
+Quote Post
alexPec
сообщение Jul 23 2010, 14:12
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



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

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

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

Вопрос снимается - и тот и другой виснет, только один раньше, другой позже - видимо че-то в буфере накапливается и ждет когда терминал откроется.
А терминал как открыть из гуи, чтоб не ребилдить. Вот запущен процессор, завис он на принтфе, ждет когда терминал откроется. Можно его открыть не ресетя и не перегружая проц?

Сообщение отредактировал alexPec - Jul 23 2010, 15:08
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 10:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016