juvf 17 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба пишу однопоточное приложение. без всяких ос. в нужных местах в терминал бросаю отладочную инфу printf("Recived %u bytes, command %u, for device with address %u\n\r", count, com, adr); иногда после этого кода останавливаюсь в точке остановки, и вижу в терминале вывод Recived 13 bytes, command 1, for dev потом продолжаю выполнение программы, и вижу в терминале довыводит сообщение полностью Recived 13 bytes, command 1, for device with address 15 Иногда после printf("Recived.... делаю команду printf("Send..., остановливаюсь после неё, а в терминале часть сообщения предыдущего вызова, т.е. Recived.... Продолжаю, оба сообщения приходят в терминал. Почему так происходит? printf запускается в каком-то другом потоке чтоли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба просто буферизация в JTAG-UART, нормальное явление. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба просто буферизация в JTAG-UART, нормальное явление. да, но я выкидываю не в JTAG-UART. а добавил в ниос отдельный UART. через отдельный уарт printf наладил. я думал что в апаратном уарте есть апартный буфер размером в 1 байт. может есть программный буфер какой, так опять же прога однопоточная. для програмного буфера тоже поток нужен. как-то не понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба а это только в режиме отладки проявляется? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reanimatorr 1 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Ну дык вроде драйвер UART-a использует прерывания для загрузки в аппаратный буфер очередного байта, так что вполне возможно что успело отправиться ровно такое количество байт до достижения точки остановки (а код printf-a длинный, пока выйдет из процедуры...) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба а это только в режиме отладки проявляется? да, также Ну дык вроде драйвер UART-a использует прерывания для загрузки в аппаратный буфер очередного байта, так что вполне возможно что успело отправиться ровно такое количество байт до достижения точки остановки (а код printf-a длинный, пока выйдет из процедуры...) Ну я тоже пришел к такому мнению. Почему сразу не сообразил :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба а кэш данных в процессоре есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба а кэш данных в процессоре есть? Не знаю. в сопсб билдере специально не добавлял. мож где по умолчанию есть? а как посмотреть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба Не знаю. в сопсб билдере специально не добавлял. мож где по умолчанию есть? а как посмотреть? в билдере, в настройках CPU. ЕМНИП, по умолчанию он стоит. попробуйте отрубить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба в билдере, в настройках CPU. ЕМНИП, по умолчанию он стоит. попробуйте отрубитьНе нашел я в настройка CPU в билдере ЕМНИП. А про кеш у меня такие настройки, см картинку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба А про кеш у меня такие настройки, см картинку ну, вот Data Cache 2KB. выкиньте его //http://lurkmore.ru/%D0%95%D0%9C%D0%9D%D0%98%D0%9F Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться