dxp 32 7 марта, 2008 Опубликовано 7 марта, 2008 · Жалоба А попробуйте взять OS_Services.h и OS_Services.cpp из этой ветки. Возможно это одно из проявлений правящегося там бага. Я надеюсь, что баг исправил, но может еще чего-то не заметил. Там, вроде, дело к ошибке вело, когда использовался один и тот же сервис в разных процессах. А тут, я понял, spi_send нигде больше не завязан. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 7 марта, 2008 Опубликовано 7 марта, 2008 · Жалоба А попробуйте взять OS_Services.h и OS_Services.cpp Возможно это одно из проявлений правящегося там бага. Я надеюсь, что баг исправил, но может еще чего-то не заметил. Спасибо. А обсуждения (описание) бага как посмотреть ? Там, вроде, дело к ошибке вело, когда использовался один и тот же сервис в разных процессах. А тут, я понял, spi_send нигде больше не завязан. да, посылается в прерывании, ожидается только в одном процессе (причем процесс приоритетный) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 7 марта, 2008 Опубликовано 7 марта, 2008 · Жалоба А обсуждения (описание) бага как посмотреть ?Там в названии ветки есть номер бага. Его описание можно найти в трекере и вот в этом обсуждении на сахаре. да, посылается в прерывании, ожидается только в одном процессе (причем процесс приоритетный)Если ожидается с таймаутом - то вполне может быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 32 7 марта, 2008 Опубликовано 7 марта, 2008 · Жалоба Если ожидается с таймаутом - то вполне может быть. Вообще да, тут пробуждение по таймауту и по событию начинают конкурировать. Но yes сказал, что при отсуствии других прерываний все ок. И, кроме того, ранее у него был код ожидания без таймаута. Т.ч., видимо, там что-то другое. 2yes: если не получится обнаружить косяк, может кинете мне проект (или его огрызок), чтобы я у себя мог погонять. Надо выяснить, что там не так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 7 марта, 2008 Опубликовано 7 марта, 2008 · Жалоба А попробуйте взять OS_Services.h и OS_Services.cpp из этой ветки. Возможно это одно из проявлений правящегося там бага. Я надеюсь, что баг исправил, но может еще чего-то не заметил. Еще раз спасибо! прогнал 6*10^7 переключений - не подвисло дифом я исходники посмотрел, но увы :) ничего не понял, но работает (по крайней мере значительно лучше) Если ожидается с таймаутом - то вполне может быть. изначально было без таймаута, с ошибочным поведением. таймаут я поставил, чтобы проверить железо (прерывание SPI) работает UPD: так как я вносил еще правки - после добавления таймаута, то возможно первоначальная причина была другой но время таймаута - 10мс (tick=1ms), а SPI работает на 4МГц - на 3 порядка разные времена 2yes: если не получится обнаружить косяк, может кинете мне проект (или его огрызок), чтобы я у себя мог погонять. Надо выяснить, что там не так. если есть интерес - могу кинуть, там ничего секретного нет. но много лишнего и железка, имхо, нужна, чтобы поймать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 32 9 марта, 2008 Опубликовано 9 марта, 2008 · Жалоба если есть интерес - могу кинуть, там ничего секретного нет. но много лишнего и железка, имхо, нужна, чтобы поймать Что именно от железяки нужно? Я понял, что проблема возникает при совместной работе прерываний - например, SPI и UART. Если оба устройства работают в режиме передачи, то никакое внешнее железо не нужно и можно попытаться восстановить ситуацию на голом проце. Если проблема не ушла, то пришлите (можно сюда: hz<барбос>oesd.ru). Нельзя глюки за спиной оставлять, они обязательно "укусят" сзади в самый неподходящий момент. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 32 9 марта, 2008 Опубликовано 9 марта, 2008 · Жалоба Проблема, с которой началась ветка, пофиксена. Взять можно из репозитория. Работоспособность проверена на рабочем проекте (но с ним и ранее не было проблем из-за достаточной оптимизации - фукнция не вызывалась, а встраивалась). Попробуйте, если есть время и желание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 9 марта, 2008 Опубликовано 9 марта, 2008 · Жалоба Проблема, с которой началась ветка, пофиксена. Взять можно из репозитория. Работоспособность проверена на рабочем проекте (но с ним и ранее не было проблем из-за достаточной оптимизации - фукнция не вызывалась, а встраивалась). Попробуйте, если есть время и желание. спасибо. ну значит свой проект я не отсылаю... если есть возможность ответить - fix тот который предложил Сергей Борщ или fix переключателя задач ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 32 10 марта, 2008 Опубликовано 10 марта, 2008 · Жалоба если есть возможность ответить - fix тот который предложил Сергей Борщ или fix переключателя задач ? Переключалка задач - то, с чего ветка началась. В скором времени будем все фиксы объединять (и не только фиксы) и делать новый релиз. Добавление: эти фиксы не пересекаются. Тот, про который Сергей сказал - это часть Common, а та, про которую я - это порт. Т.ч. можно смело брать файлы из обоих источников одновременно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться