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

сарматъ

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о сарматъ

  • Звание
    Частый гость
    Частый гость
  1. добрый день, а как вы их провозили в Россию (сертификаты, таможенные платежи и тд)?
  2. добрый день, а какой станок у вас?
  3. может перемычка какая слетела?
  4. готовые стеки не использовал, начинал с приема арп пакета потом училс его отправлять, делал на основе примера от терры.. или пром? короче там где кусок от обработки камеры однако если делаете в кейле то там как то все очень по своему
  5. хм... возможно я чего то не нашел, но то что мне нужно я не видел, к примеру, как обрабатывается ситуация пропадания появления линка? зависания phy? зависания мак контроллера? так же не увидел как вообще происходит инициализация езернета - есть только функции в драйверах но вот откуда они вызываюстя? откуда то из закрытых недр ос? то что переинициализация в кейле не требуется и она осуществляется на лету это здорово, но я делаю в жсс и на сам кейл перепозлать не собираюсь теперь уже точно ибо это кот в мешке по большому счету, что и как там происходит тайна за семью печатями разные стеки мне не нужны, обработку пакетов делаю сам, интересует именно инициализация и поддержка в работоспособном состоянии именно это я назвал "примером хорошей работы"
  6. поставил 5 посмотрел и примеры и то что делает визард... что то можно использовать, но очень многое остается за кадром как понимаю в проприетарной закрытой части .либ например алгоримы пререинициализации phy & mac... может быть есть где то примеры хорошей работы с ethernet?
  7. спасибо за наводку
  8. похоже, дело в кривой обработке мною прерываний сети, значение ETH_DMASR 0х80 - недоступен буфер приема и прога вечно висит в прерывании, как только запрещаю прерывания сети начинает работать ось - переключать задачки, как только прерывания разрешаю платка снова уходит в вечное прерывание
  9. пока точно сказать не могу но есть предположение что криво обрабатываю прерывание, а количество - по времени работы до зависания и частоте запросов
  10. спасибо, можете поделиться примерами из кейл5?
  11. подскажите будьте любезны где можно найти правильный пример обработки приема\передачи пакетов, у меня начинает глючить после приема примерно миллиарда пакетов как лучше делать обработку поллингом или прерываниями?
  12. что то я совсем запутался, короче все сбросил жду опять когда повиснет
  13. сравнивая с работающей системой получил что 4d это прерывание ETH его код extern "C" void ETH_IRQHandler(void) { // снимаем флаг прерывания ETH_DMAClearITPendingBit(ETH_DMA_IT_R | ETH_DMA_IT_T | ETH_DMA_IT_NIS | ETH_DMA_IT_AIS); // прерывание Ethernet OS::TISRW isrw; JobQueue.push_isr_empty(&c_Eth); } оно вызывается порядка 5000 раз в секунду JobQueue - очередь заданий как описано в руководстве по ос OS::channel<TEth*, 20> JobQueue; метод push_isr_empty template<typename T, uint16_t Size, typename S> INLINE void OS::channel<T, Size, S>::push_isr_empty(const T& item) { TCritSect cs; if(!pool.get_count_inline()) {; pool.push_back_inline(item); resume_all_isr(ConsumersProcessMap); } } осуществляет вставку объекта в очередь если очередь пустая, я криво этот метод написал? класс channel буфер модифицированный как обсуждалось тут (добавлены инлайн функции) ну с другой стороны... разве можно повторно зайти в прерывание не выйдя из него? отладчик показывает что программа спокойно в него входит...
×
×
  • Создать...