Угу.. я тоже так думал. Потом почитал документацию, покрутил утилиты и обломился..
Читал, что умельцы достучались до SMBus в димм-модулях памяти и туда что-то цепляли. Кто-то (вроде автор W1 стека) работал через свободный пин чипсета видеоадаптера Радеон.
Способ через CAT меня устроит только как средство диагностики. Ибо он работает на текущей конфигурации и при наличие структуры /sys/bus/etc. Как только господа линуксоиды (а они это любят) изменят что-нить, этот скрипт просто перестанет работать..
Как уже писал - пока ковыряю digitemp и вполне серьезно рассматриваю вариант подключения хидера на МАХ232. Ибо стремно вешать 10 метровый кусок витухи на голый пин АРМа..
Ну что Jury093, как у вас успехи?:)
Я так и не осилил чтение через digitemp, написал свою примитивную программульку для этого.
Пока копался в потрохах ядра :) увидел что в w1_io.c используется udelay...
Это что получается, вся система делает стоп на определнный промежуток времени пока идет io к устройству ?
Ничего страшного - там задержки микросекундные - как их подругому сделать ? udelay для таких коротких, точных задержек и предназначена. Тем более ничего страшного если в это время не запрещены прерывания и нет блокировок. Кстати - при загрузке ядра считаются богомипсы - это как раз калибруется количество циклов для udelay.
Да пока ничего нового в этом плане не сделал. Дело в том, что плату с 9260 и датчиком оттащил на новогодние домой. Вот и было время повозиться..
А на работе осталась П950, так она за день так мозги иссушает, что не остается сил на вторую плату :)
У вас это еще с работой связано? :)
:D ну у меня вот что получилось :) http://alfamayonez.ru/hack/
---
sasamy как бездонный колодец информации :).
Спасибо за инфу про богомипсы :).
Здравствуйте.
Наставьте на путь истинный, имеется плата SK-MAT91SAM9260
для эксперимента хотел подцепить термометр DS1820. Сделал как писал Jury093 в первом посте... при попытке собрать ядро компилятор ругается на эти строки. Подскажите плз где и что не так. Ядро и компилятор те что были на диске с платой.
хорошо получилось - мои подравления :)
есть только "косячок" - -19.375 две последние цифры брехня. согласно даташиту точность этого прибора 0.5 градуса, т.ч. и первая справа от запятой тоже, увы, не валидна :)))
Update at 25.01.2010 виноват, заблуждался, был неправ - точность ds18b20 9..12 разрядов, т.ч. все в порядке ;)
угу, его бы еще на MNUC950 заманить..
про богомипсы есть файлик в разделе доки к ядру.
о задержках - как я смотрел в сорцах, они формируются обычными циклами => точность их не очень высокая, т.к. любой процесс через прерывание запросто отъест времянку у w1 и сорвет процесс обмена. для критичных задержек лучше использовать таймер - у него вроде есть козырное прерывание.
2Geban у меня прописана строка
я опирался на знания, полученные из файла Documentation/w1/master/w1-gpio
ну и инет разумеется :)
Не - я слишком долго адаптируюсь, к тому же там и там устаревшее ядро arm926 - не вижу смысла менять шило на мыло :) ну и большой минус - никакая поддержка со стороны производителей (это я про ядро linux)
точность их как раз будет наивысшей - богомипсы посчитаны :) любой процесс может вообще заблокировать прерывания и ваш таймер в том числе, так что толку от него ровно ноль, а переносимость никакая - у всех аппаратные таймеры разные а системный щелкает с частотой 100-1000 Гц - ой как далеко ему до микросекунд.