man2000 (2014-11-28 19:20:11):Если при использовании bcm2835_delayMicroseconds() фронты импульсов сдвигаются на недопустимую величину (кстати, какая величина для Ваших целей допустима, и какой сдвиг получается на практике ?), то дело плохо… Предположу, что наряду с формированием импульсов Малинка нагружена ещё какими-то ресурсоёмкими задачами.
Постарайтесь максимально оптимизировать фрагмент программы, формирующий очередной импульс. Например, категорически нельзя использовать в этом месте файловые операции и обращения к другим устройствам. Исключите из программы все функции, которые можно выполнить в других, параллельно исполняемых программах.
Если не поможет, то можно попробовать запускать формирователь импульсов как «демона», ну и как последнее средство — запуск в режиме ядра.
Запускал программу состоящую из единственного цикла с постоянным изменением сигнала (демоном тоже). больше ничего не было запущенно. Осциллографом видно, периодически проскакивают задержки большей длины чем положено. (длина импульса ~100мкс, приемлимое отклонение 1-3%)
Я так понимаю что единственный выход писать драйвер, буду в свободное время просвещаться.