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

Quasar

Свой
  • Постов

    344
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

Весь контент Quasar


  1. При 8-бит слишком плохое качество голоса выходит. Разобрать можно конечно, но по современным меркам, не комильфо. u-Law кодирование даст те же 8 бит, но качество речи выйдет сильно лучше.
  2. SIP это один из видов сигналинга, используемый для установки соединения и обозначения своего местоположения в VoIP сети, то есть, где искать конкретного абонента (какой у него в данный момент IP). В свою очередь, в теле SIP пакетов шлются SDP сообщения, в которых описываются возможности клиентов, а именно, поддерживаемые кодеки, частоты дискретизаций, in-band сигналинга, адреса, куда слать пакеты с голосом (или видео), UDP порты. После того, как параметры сессии согласованы устройствами, запускается мультимедиа поток, то есть сам голос (либо видео), чаще всего для этого используется RTP. Слесарью, для реализации RoIP на 8-бит камне, SIP нафиг не нужен. Для связных УКВ радиостанций достаточно частоты дискретизации 8000 Гц и 16 бит на семпл. Это все, сжимается u-Law (или a-Law) кодеком, фактически это просто компандирование. В результате получается поток 64 кбит/с. Камня должно на это хватить. И далее, шлется простым UDP пакетом с минимальным заголовком на IP получателя. По поводу джиттера и порядка пакетов. Да, необходимо иметь буфер, на 0.8 - 1 секунду, так как, через интернет, пакеты могут приходить с сильным разбросом по времени, то раньше, то позже. На порядок же пакетов в общем можно забить. Да, иногда пакеты могут прилетать не в том порядке, но далеко не многие VOIP АТС и VOIP телефоны восстанавливают порядок. Чаще всего, это интерпретируется как пропажа пакета, в современных, нормальных, не перегруженных сетях, пакеты прилетают в правильном порядке. Я имею достаточно большой опыт именно в RoIP, и могу точно сказать, что смена порядка пакетов не сильно страшное явление, проблем особых не доставляет.
  3. Приветствую всех. Возникла следующая проблема, может кто подскажет куда копать. Есть схема передатчика, в которой ЧМ производится путем изменения частоты опорного генератора PLL. Сделано это для передачи субтонов, частотой менее 200 Гц. Диапазон работы, предполагается 140 - 170 МГц. Микросхема синтезатора - MB15E03. Проблема в следующем. Когда все это добро работает на частотах от 145 до 170 все хорошо, несущая модулируется хорошим низкочастотным синусом от 100 Гц до 200 Гц, но когда работа начинается на частотах 140-145 МГц низкочастотный синус сильно искажается. В диапазоне от 145 до 170 МГц напряжение на Charge-Pump'е от 1.2 до 4 В соответственно, 140-145 МГц - от 0.8 до 1.2 В. Меняли варикапы, ставили с большей крутизной, все начинало работать хорошо, в том числе и на частотах 140-145, диапазон изменений напряжения на Charge-Pump'е был 2.5 - 4 В. Но, к сожалению, оставить эти варикапы нельзя. Также, меняя степень включения варикапа в контур, смещали диапазон напряжений на Charge-Pump'е вверх, то есть диапазон напряжения для частот от 140 до 170 МГц был приблизительно от 2 до 5 В. Это тоже решало проблему, но так оставлять нельзя из-за малого запаса перестройки в верхней части диапазона. Может кто подскажет с чем может быть связана плохая работа в районе 1 В на Charge-Pump'е?
  4. Где там? Подстройка чего? PLL процессора, кварца ЦАП'а или АЦП? Я не видел в VoIP движках что бы по RTP timestamp'у подстраивали железо. Автор темы озвучил простую проблему, АЦП оцифровывает с частотой 8000 Гц, а ЦАП воспроизводит с частотой 7999 Гц (или 8001 Гц), то есть за два часа заполнится (опустошится) секундный буфер. И что вы тут собрались подстраивать?
  5. Во-первых, в VoIP часто используется silence suppression и тишину генерит CNG, генерит он её уже локально, по своим клокам. А поскольку тишина в разговоре двух человек в обе стороны случается часто, то моменты тишины выравнивают заполненность буфера. Во-вторых, конечно же часы достаточно точно сейчас ходят у всех. Даже если и случается пропадание звука из-за переполнения буфера или опустошения, то не часто.
  6. Ну так, в результате прихода большого количества трафика и будет отказ в обслуживании. Совершенно не важно атака это, или само получилось. Результат будет один. Просто так провайдер трафик на открытые порты не создаст. Скорее будут проблемы с широковещательным трафиком, и некоторые умудряются в сеть пихать мультикаст трафик, без IGMP и должного оборудования поддерживающего его маршрутизацию. Но это правда совсем клиника.
  7. Потому что у всех сильно свой подход к изготовлению WEB-интерфейсов. Это конечно +1 в сторону SNMP. В плане админов, уж не знаю, вполне себе юзают WEB интерфейсы и не жалуются, ну по крайней мере на моей планете :-) Да, от публичных сетей надо убирать все за VPN, ибо несанкционированный доступ или просто отказ в обслуживании случаются часто с слабыми embedded девайсами. И клиентские сокеты здесь не спасут, особенно от отказа в обслуживании :-(
  8. В таких, которые делаются не под конкретного заказчика, а продаются как продукт во много разных ведомств и предприятий. Вы мне все толкуете про какие-то вещи, заточенные под узкую задачу, с обязательным изобретением велосипеда в процессе разработки. Естественно, если к вам приходит заказчик и говорит хочу COM порт, вы ему не откажете. А если вы планируете железку, которая работает, как я выше писал в standalone режиме у одних заказчиков, а потом та же железка работает в составе разных систем у других заказчиков, это называется универсальное решение. Где-то показания датчиков хотят просто видеть отдельно, где-то хотят их автоматически обрабатывать и выводить в виде общей таблицы, где-то датчиков 50, а где-то 500. Где-то оператор сидит в том же доме где датчики установлены, где-то в другой части света. Эти вопросы уже не касаются веб-интерфейсов как таковых. Это вопрос универсальности. Браузеры есть везде и у всех. При должном подходе, обмен данными по http можно организовать так, что бы машины могли обмениваться с машинами, автоматизируя массу вещей.
  9. - Автономные системы, на то и автономны, что шаловливые руки ни до каких дисплеев и кнопок дотянуться не могут. Только по паролю зайти на веб-сервер и поглядеть, что им позволено глядеть; - Система может стоять в одном городе, а оператор-инженер стоять в другом :-) ; - Много пользователей, в том числе и разграниченных по правам, работающих одновременно; - Кросс-платформенность, веб-интерфейсы работают на Mac OS, Linux и Windows.
  10. Необязательно для этого. В автономных системах, где оператор не сидит постоянно за компом, сам комп убран от шаловливых ручек, и работает в режим 24/7/365, и возможно даже под охраной ;-). Зачем сидеть человеку и наблюдать за температурой? Случился сбой, пришла СМС, mail, другой вид оповещения ответственному лицу, он начал принимать меры.
  11. Так вот после того, как сервер соберет все данные с датчиков, как-то их обработает, он выведет данные опять в виде веб-морды (уже своей), например собрав все показания в таблицу, построив график изменения и так далее. Если делать датчик с веб-интерфейсом, то его можно использовать и как standalone решение, так и как решение в составе системы. Для решений в составе системы конечно часто используют SNMP протокол, и есть готовые решения серверов опрашивающих датчики, но для работы с SNMP нужен доп. софт на ПК и адрес SNMP ресурса 1.2.3.2322.12345.542352 человеком совсем не воспринимается, в отличии от http://192.168.1.1/temperature.xml
  12. Например. Есть устройство на МК, которое меряет температуру (или чего-нибудь еще) и выводит свои показания на Web страницу. Данное устройство может использоваться вместе с ПК, человек удаленно заходит на веб-страницу и смотрит на показания температуры (или чего-нибудь еще). А теперь, задача, оснастить такими девайсами 100 помещений. Человеку через ПК заходить уже не с руки на 100 девайсов. Все данные надо сливать в какой-то единый центр и анализировать. Пишется софт, который являясь http клиентом собирает данные, так же заходя на все железки по Web интерфейсу. Если есть возможность забрать данные в xml или JSON виде, то их парсинг проще пареной репы, если же данные уже вшиты в веб-страницу (озвученным вами выше методом) и отдельно не забираются, то надо писать сложный парсер страницы. Любые изменения на странице, могут привести к изменениям в парсере, а это уже не best practice.
  13. Ну тут смотря какая аудитория. Те, кто используют и сами настраивают всякие Wi-Fi роутеры хотят видеть веб-интерфейс. Всякие суровые сис. админы любят telnet консоль или ssh. Приложение - ставить надо, плюс не надо забывать про поддержку ОС. У меня дома windows машин нет, либо Mac, либо Linux. В некоторых организациях используют только Linux. Писать приложение для всех платформ не очень.
  14. Сжимать статический контент необходимо для экономии флеш, а не для галочки. Нафига во флеш хранить несжатый контент, а потом тратить еще время на его сжатие? Экономия канала смешная. Да еще и на лету сжимать, портируя для этого например на 8 битный камень gzip, это надо очень себя не любить. А по поводу 95% динамического контента, ну только если у вас очень простое изделие и совсем элементарный внешний вид представления данных. А если полноценная веб страница, с проверкой на клиентской части введенных данных и т. п., с частым фоновым обновлением данных, то тут статический контент будет как раз 95%. Да и вообще, жесткое разграничение динамических и статических данных есть best practice. Так как в этом случае, можно менять внешний вид (статическую часть) совершенно не трогая динамическую (в том числе и С код, который его генерит), проверять верность генерации динамических данных, и правильность построения статической страницы, забирать только динамические данные с железки веб-сервисами или сторонними приложениями для дальнейшей работы с ними, если железка работает в сложной системе. Сейчас, все чаще используют для этого вместо SNMP - HTTP, так как он более наглядный. Ну ладно, вам я так понимаю это совсем не интересно, вы все еще в 2005 году... Речь идет о разных страничках, и о простых, и о сложных. Подход должен быть один. Сейчас надо две кнопки, а завтра двадцать две. В некоторых моих проектах, в результате развития, страницы с 20 кбайт начали весить по 300-400 без сжатия. Например, из-за того, что появилась поддержка других языков, появился новый функционал.
  15. То есть вы собираетесь сжимать в реалтайме микроконтроллером? ;) Статика уже лежит сжатая во флешь контроллера, и она просто отдается web сервером со строкой в http заголовке: Content-Encoding: gzip Классные знатоки WEB занимаются WEB разработками, а это всего лишь минимум.
  16. Не хочу обидеть, но это очень дурацкий метод, он не позволяет статический контент сжимать, и что вы будете делать, если например данные необходимо раз в секунду обновлять? Все нормальные, современные браузеры поддерживают JavaScript (и пожалуйста, не путайте JavaScript с Java, это совершенно разные языки, не относящиеся друг к другу ну ни как), в том числе и мобильные. Хотя бы тот минимум, который необходим для работы AJAX. Правильнее делать как написал zöner. Данные не обязательно JSON, можно xml или вообще свой формат. То есть, статические данные html лежат в МК и просто выплевываются по запросу, в этих статических данных JavaScript, который после загрузки страницы запускается и грузит уже чисто динамические данные, затем подставляет их в нужные места html страницы с помощью getelementbyid. Плюсы такого метода: - всю статику можно сжать, а это иногда двукратная экономия; - данные можно динамически обновлять, перезагружая их AJAX'ом и подставляя в нужные места; - легко отлаживать; - не тратиться время МК на парсинг большого количества статики в поиска меток. Тег input ни чего ни куда не передает, это поле ввода с типом type. Что-то куда-то передает тег form и конкретно в вашем примере он передает данные методом GET http://www.w3.org/TR/html401/interact/forms.html#h-17.3
  17. Намного лучше в какую-нибудь коммерческую контору пойти, да нарабатывать опыт там, чем в болоте типа НИИР'а. Я в НИИР проходил практику лет 7 назад, чего можно набраться у "опытных" инженеров, там работающих, зарабатывающих дай бог 50-60 в месяц? Водку пить, да часы коротать от звонка, до звонка. Я в эту организацию пришел студентом, радиолюбителем, желающим учиться и набираться опыта, а местные "отцы" мне предложили оборудования таскать, которое привозили на поверку, за что они и были собственно посланы мною нах** со всей своей "исследовательской деятельностью". Так что не надо тут гнать, про набраться опыта...
  18. Да, эти потоки реально существуют. По поводу реальной и виртуальной памяти, я в общем в курсе. Я поднял этот вопрос с целью понять, не течет ли у меня память. И из обсуждения не совсем понял, как понять точно, что память течет. То есть, запустить приложения на длительный срок, просмотреть, сколько было выделено, сколько освобождено. С учетом того, что приложение не должно разрастаться по потреблению памяти со временем.
  19. Я всегда жду удаления потоков pthread_join'ом. Вывод pmap не понял. В total он пишет, что использовано 270000 KByte, у меня всего 64МБайт, что это за пространство? pmap 1111 -x 1111: {no such process} /usr/bin/app -c /root/config.ini Address Kbytes PSS Dirty Swap Mode Mapping 00008000 92 80 0 0 r-xp /usr/bin/app 00027000 4 4 4 0 rwxp /usr/bin/app 00028000 132 52 52 0 rwxp [heap] 4000d000 4 4 4 0 rwxp [ anon ] 4000e000 28 12 0 0 r-xp /lib/librt-2.15.so 40015000 28 0 0 0 ---p /lib/librt-2.15.so 4001c000 4 4 4 0 r-xp /lib/librt-2.15.so 4001d000 4 4 4 0 rwxp /lib/librt-2.15.so 40025000 20 4 0 0 r-xp /usr/lib/libjson.so.0.0.1 4002a000 32 0 0 0 ---p /usr/lib/libjson.so.0.0.1 40032000 4 4 4 0 rwxp /usr/lib/libjson.so.0.0.1 40052000 4 4 4 0 rwxp [ anon ] 40059000 4 4 4 0 rwxp [ anon ] 40076000 128 17 0 0 r-xp /lib/libgcc_s.so.1 40096000 28 0 0 0 ---p /lib/libgcc_s.so.1 4009d000 4 4 4 0 rwxp /lib/libgcc_s.so.1 400a3000 24 24 0 0 r-xp /usr/lib/libao.so.4.0.0 400a9000 28 0 0 0 ---p /usr/lib/libao.so.4.0.0 400b0000 4 4 4 0 rwxp /usr/lib/libao.so.4.0.0 400b9000 4 4 4 0 rwxp [ anon ] 400cf000 16 2 0 0 r-xp /lib/libdl-2.15.so 400d3000 28 0 0 0 ---p /lib/libdl-2.15.so 400da000 4 4 4 0 r-xp /lib/libdl-2.15.so 400db000 4 4 4 0 rwxp /lib/libdl-2.15.so 400dd000 8 8 0 0 r-xp /usr/lib/ao/plugins-4/libpulse.so 400df000 28 0 0 0 ---p /usr/lib/ao/plugins-4/libpulse.so 400e6000 4 4 4 0 rwxp /usr/lib/ao/plugins-4/libpulse.so 400f6000 136 13 0 0 r-xp /lib/ld-2.15.so 40118000 4 4 4 0 rwxp [ anon ] 4011f000 4 4 4 0 r-xp /lib/ld-2.15.so 40120000 4 4 4 0 rwxp /lib/ld-2.15.so 40121000 8 8 0 0 r-xp /usr/lib/ao/plugins-4/liboss.so 40123000 32 0 0 0 ---p /usr/lib/ao/plugins-4/liboss.so 4012b000 4 4 4 0 rwxp /usr/lib/ao/plugins-4/liboss.so 4012c000 20 16 0 0 r-xp /usr/lib/ao/plugins-4/libalsa.so 40131000 28 0 0 0 ---p /usr/lib/ao/plugins-4/libalsa.so 40138000 4 4 4 0 rwxp /usr/lib/ao/plugins-4/libalsa.so 40146000 12 8 0 0 r-xp /usr/lib/libpulse-simple.so.0.0.3 40149000 28 0 0 0 ---p /usr/lib/libpulse-simple.so.0.0.3 40150000 4 4 4 0 rwxp /usr/lib/libpulse-simple.so.0.0.3 40182000 84 38 0 0 r-xp /lib/libpthread-2.15.so 40197000 28 0 0 0 ---p /lib/libpthread-2.15.so 4019e000 4 4 4 0 r-xp /lib/libpthread-2.15.so 4019f000 4 4 4 0 rwxp /lib/libpthread-2.15.so 401a0000 8 4 4 0 rwxp [ anon ] 401a2000 788 372 0 0 r-xp /usr/lib/libstdc++.so.6.0.16 40267000 28 0 0 0 ---p /usr/lib/libstdc++.so.6.0.16 4026e000 16 16 16 0 r-xp /usr/lib/libstdc++.so.6.0.16 40272000 8 8 8 0 rwxp /usr/lib/libstdc++.so.6.0.16 40274000 24 8 8 0 rwxp [ anon ] 4027a000 624 26 0 0 r-xp /lib/libm-2.15.so 40316000 32 0 0 0 ---p /lib/libm-2.15.so 4031e000 4 4 4 0 r-xp /lib/libm-2.15.so 4031f000 4 4 4 0 rwxp /lib/libm-2.15.so 40320000 1296 109 0 0 r-xp /lib/libc-2.15.so 40464000 28 0 0 0 ---p /lib/libc-2.15.so 4046b000 8 8 8 0 r-xp /lib/libc-2.15.so 4046d000 4 4 4 0 rwxp /lib/libc-2.15.so 4046e000 12 12 12 0 rwxp [ anon ] 40471000 4 0 0 0 ---p [ anon ] 40472000 8188 8 8 0 rwxp [ anon ] 40c71000 264 122 0 0 r-xp /usr/lib/libpulse.so.0.14.3 40cb3000 28 0 0 0 ---p /usr/lib/libpulse.so.0.14.3 40cba000 4 4 4 0 rwxp /usr/lib/libpulse.so.0.14.3 40cbb000 304 124 0 0 r-xp /usr/lib/pulseaudio/libpulsecommon-2.1.so 40d07000 28 0 0 0 ---p /usr/lib/pulseaudio/libpulsecommon-2.1.so 40d0e000 4 4 4 0 rwxp /usr/lib/pulseaudio/libpulsecommon-2.1.so 40d0f000 328 10 0 0 r-xp /usr/lib/libsndfile.so.1.0.25 40d61000 32 0 0 0 ---p /usr/lib/libsndfile.so.1.0.25 40d69000 8 8 8 0 rwxp /usr/lib/libsndfile.so.1.0.25 40d6b000 16 0 0 0 rwxp [ anon ] 40d6f000 712 136 0 0 r-xp /usr/lib/libasound.so.2.0.0 40e21000 32 0 0 0 ---p /usr/lib/libasound.so.2.0.0 40e29000 16 16 16 0 rwxp /usr/lib/libasound.so.2.0.0 40e2d000 4 0 0 0 ---p [ anon ] 40e2e000 8188 8 8 0 rwxp [ anon ] 4164e000 4 0 0 0 ---p [ anon ] 4164f000 8188 8 8 0 rwxp [ anon ] 41e4e000 4 0 0 0 ---p [ anon ] 41e4f000 8188 8 8 0 rwxp [ anon ] 426d3000 4 0 0 0 ---p [ anon ] 426d4000 8188 8 8 0 rwxp [ anon ] 42ed3000 4 0 0 0 ---p [ anon ] 42ed4000 8188 8 8 0 rwxp [ anon ] 4376a000 4 0 0 0 ---p [ anon ] 4376b000 8188 8 8 0 rwxp [ anon ] 43f6a000 4 0 0 0 ---p [ anon ] 43f6b000 8188 8 8 0 rwxp [ anon ] 44812000 4 0 0 0 ---p [ anon ] 44813000 8188 8 8 0 rwxp [ anon ] 45012000 4 0 0 0 ---p [ anon ] 45013000 8188 12 12 0 rwxp [ anon ] 45902000 4 0 0 0 ---p [ anon ] 45903000 8188 8 8 0 rwxp [ anon ] 46200000 132 40 40 0 rwxp [ anon ] 46221000 892 0 0 0 ---p [ anon ] 46300000 132 40 40 0 rwxp [ anon ] 46321000 892 0 0 0 ---p [ anon ] 46400000 4 0 0 0 ---p [ anon ] 46401000 8188 20 20 0 rwxp [ anon ] 46c17000 4 0 0 0 ---p [ anon ] 46c18000 8188 8 8 0 rwxp [ anon ] 47417000 4 0 0 0 ---p [ anon ] 47418000 8188 8 8 0 rwxp [ anon ] 47c17000 4 0 0 0 ---p [ anon ] 47c18000 8188 20 20 0 rwxp [ anon ] 48417000 4 0 0 0 ---p [ anon ] 48418000 8188 8 8 0 rwxp [ anon ] 48c17000 4 0 0 0 ---p [ anon ] 48c18000 8188 20 20 0 rwxp [ anon ] 49417000 4 0 0 0 ---p [ anon ] 49418000 8188 8 8 0 rwxp [ anon ] 49c17000 4 0 0 0 ---p [ anon ] 49c18000 8188 20 20 0 rwxp [ anon ] 4a417000 4 0 0 0 ---p [ anon ] 4a418000 8188 8 8 0 rwxp [ anon ] 4ac17000 4 0 0 0 ---p [ anon ] 4ac18000 8188 20 20 0 rwxp [ anon ] 4b418000 4 0 0 0 ---p [ anon ] 4b419000 8188 20 20 0 rwxp [ anon ] 4bc18000 4 0 0 0 ---p [ anon ] 4bc19000 8188 8 8 0 rwxp [ anon ] 4c418000 4 0 0 0 ---p [ anon ] 4c419000 8188 8 8 0 rwxp [ anon ] 4cc18000 4 0 0 0 ---p [ anon ] 4cc19000 8188 20 20 0 rwxp [ anon ] 4d418000 4 0 0 0 ---p [ anon ] 4d419000 8188 8 8 0 rwxp [ anon ] 4dc18000 4 0 0 0 ---p [ anon ] 4dc19000 8188 20 20 0 rwxp [ anon ] 4e418000 4 0 0 0 ---p [ anon ] 4e419000 8188 8 8 0 rwxp [ anon ] 4ec18000 4 0 0 0 ---p [ anon ] 4ec19000 8188 20 20 0 rwxp [ anon ] 4f418000 4 0 0 0 ---p [ anon ] 4f419000 8188 8 8 0 rwxp [ anon ] 4fc18000 4 0 0 0 ---p [ anon ] 4fc19000 8188 12 12 0 rwxp [ anon ] 50480000 4 0 0 0 ---p [ anon ] 50481000 8188 20 20 0 rwxp [ anon ] bef06000 132 8 8 0 rw-p [stack] -------- ------ ------ ------ ------ total 270064 1837 708 0
  20. Собственно так и завершаю: static void *rx_thread ( void *ptr ) { . . . return NULL; } Можно делать pthread_exit(), но я разницы не заметил. Да, я поглядел /proc/meminfo, свободная память вроде не уменьшается, то есть все таки нормально освобождается все, но мне не ясно, а что же это тогда за виртуальная память и почему она только растет? cat /proc/meminfo MemTotal: 60568 kB MemFree: 40236 kB Buffers: 16 kB Cached: 9920 kB SwapCached: 0 kB Active: 8132 kB Inactive: 2952 kB Active(anon): 1148 kB Inactive(anon): 12 kB Active(file): 6984 kB Inactive(file): 2940 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 8 kB Writeback: 0 kB AnonPages: 1164 kB Mapped: 1816 kB Shmem: 12 kB Slab: 4640 kB SReclaimable: 2200 kB SUnreclaim: 2440 kB KernelStack: 400 kB PageTables: 280 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 30284 kB Committed_AS: 184108 kB VmallocTotal: 956416 kB VmallocUsed: 266276 kB VmallocChunk: 686076 kB
  21. Завершение потока в pthreads

    Есть приложение, использующее pthread, по ходу выполнения приложения создаются новые потоки, выполнив свою работу они завершаются, делая просто return NULL. Я решил посмотреть, сколько памяти использует мое приложение cat /tmp/PID/status и чего-то не понял: Name: app State: S (sleeping) Tgid: 12718 Pid: 12718 PPid: 1 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 32 Groups: VmPeak: 93568 kB VmSize: 93568 kB VmLck: 0 kB VmHWM: 1184 kB VmRSS: 1184 kB VmData: 90304 kB VmStk: 136 kB VmExe: 136 kB VmLib: 2796 kB VmPTE: 32 kB VmSwap: 0 kB Threads: 10 VmData с запуском нового потока только растет, и не уменьшается по его завершению, я так понимаю, что память выделенная под стек не освобождается. Это нормально или я неверно интерпретирую полученные данные? Плата вот эта. uname -a Linux buildroot 2.6.36-rc6 #732 Wed Jun 29 06:03:40 EDT 2011 armv5tejl GNU/Linux
  22. STM32F207+LwIP+FREERTOS - ARP?

    Я так понимаю проблема с отправкой броадкаста. Если обмен с одним из хостов уже начался, может ли железка начать обмен с другим хостом? Ну то есть, после этого она может послать ARP броадкаст другому хосту? ARP вроде правильный.
  23. STM32F207+LwIP+FREERTOS - ARP?

    Да вроде не известно о таком, выложите дамп этого запроса, глянем, но вряд ли там чего-то криминальное. А broadcast' ы в принципе от вашей железки улетают?
  24. STM32F207+LwIP+FREERTOS - ARP?

    А я так понимаю железка к компьютеру с Wireshrk'ом напрямую подключена? А если повторить попытку послать пакет, получается или нужен обязательно пакет от кого-то?
  25. STM32F207+LwIP+FREERTOS - ARP?

    То есть ARP запрос Wireshark'ом не виден?
×
×
  • Создать...