slava2005 0 26 июля, 2007 Опубликовано 26 июля, 2007 · Жалоба Вообщем опять у меня вопрос - хочу общаться с вышеуказанными интерфейсами. Желательно из шелла. Подскажите направление поиска ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lelick 0 27 июля, 2007 Опубликовано 27 июля, 2007 · Жалоба Вообщем опять у меня вопрос - хочу общаться с вышеуказанными интерфейсами. Желательно из шелла. Подскажите направление поиска ... Работаю с i2c через ioctl /dev/i2c (c 89 0), spi не пользую Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vishay 0 30 июля, 2007 Опубликовано 30 июля, 2007 · Жалоба Вопрос работы из shell с i2c и spi - интерфейсами меня тоже интересует. С нетерпением жду продолжения топика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dch 0 4 августа, 2007 Опубликовано 4 августа, 2007 · Жалоба как устроийство SPI видно, из под консоли у вас под Linux не густо средств чтобы поработать с устройисвами, можно записать, считать Пример использования последовательной flash, подцепленной к SPI интерфейсу лежит на: http://www.heavy-online.ru/arm-linux/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vishay 0 6 августа, 2007 Опубликовано 6 августа, 2007 (изменено) · Жалоба 2 dch Интересует нечто вроде программы gpio для чтения/записи состояния выводов general purpose input /output процессора ( см. http://electronix.ru/forum/index.php?showtopic=34444 ) , но только для интерфейсов i2c и spi процессора AT91RM9200 - средство, которое можно было бы использовать вместе с платой Rainbow для подключения к другим устройствам в качестве логического анализотора их i2c, spi интерфейсов. Это теоретически. Практически видна опасность повреждения DataFlash на плате Rainbow при подключении к интерфейсу spi процессора случайного потока данных. Но против этого можно принять меры аппаратного характера. P.S. В описании u-boot'a такие средства для i2c и spi вроде бы есть, но в том варианте u-boot, который пропатчен в соотвестввии с http://www.heavy-online.ru/arm-linux/ этого нет. Надо будет как-нибудь попробовать собрать u-boot с поддержкой этих тестовых функций. Изменено 6 августа, 2007 пользователем Vishay Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dch 0 14 августа, 2007 Опубликовано 14 августа, 2007 · Жалоба P.S. В описании u-boot'a такие средства для i2c и spi вроде бы есть, но в том варианте u-boot, который пропатчен в соотвестввии с http://www.heavy-online.ru/arm-linux/ этого нет. Начиная с 1.1.1 в u-boot есть поддержка SPI flash - в конфигурационном файле нужно раскомментировать строчку. Даете коман дочку flinfo если SPI флэш не видна - лезете в конфигурационный файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vishay 0 30 октября, 2007 Опубликовано 30 октября, 2007 · Жалоба Фирма ST для поддержки своего выпускаемого железа содержит свой STLinux, и в документации на него есть примеры программ для работы с i2c и spi интерфейсами : i2c: http://www.stlinux.com/docs/manual/distrib...tion_guide6.php spi: http://www.stlinux.com/docs/manual/distrib...tion_guide7.php Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vishay 0 5 ноября, 2007 Опубликовано 5 ноября, 2007 (изменено) · Жалоба Для тренировки работы с i2c интерфейсом платы Rainbow я припаял к ней на проводках микросхему EEPROM M24256 фирмы ST с неким примерно известным запрограммированным до меня содержимым, с закороченными на землю адресными выводами ( адрес на шине i2c 0x50 ) и резистором 5 кОм на выводе /WC для защиты от записи. Попробовал считать ее содержимое при помощи готовых средств Linux'а, для чего первоначально использовал ядро с поддержкой EEPROM - в каталоге /sys/bus/i2c/devices/0-0050/eeprom видны первые 256 байт EEPROM'а. cat /sys/bus/i2c/devices/0-0050/eeprom | hexdump -C Далее попробовал почитать другие адреса EEPOMa при помощи утилит из пакета lm-sensors: i2cdump считала те-же 256 байт, а выше по адресам считывала не совсем-то, что ожидалось. i=0; /usr/sbin/i2cdump -y 0 0x50 c $i; while [ "$i" -le 128 ]; do echo "i=$i" ; /usr/sbin/i2cdump -y 0 0x50 c $i; let i+=1; done; Для верификации содержимого EEPROMa пришлось считать его без Linux'а модифицированной программой BasicTWIEeprom из тестовых примеров для AT91RM9200 от Atmel (файл eeprom_read.zip). Имея т.о точное содержимое EEPROMa в файле, я предпринял еще несколько попыток стандартными средствами Linux'a считать все содержимое EEPROM'a, но они оказались безуспешными. Далее, я попробовал написать свою программу на Си для решения этой задачи ( файл i2c_program.zip ). Для еe работы необходимо ядро с выключенной поддержкой EEPROM, иначе в адреса 0x50 ... 0x57 шины i2c ничего нельзя записать при помощи вызова ioctl. Вот скрипт, который я использую для создания устройства /dev/i2c и загрузки программы из компьютера в файловую систему платы Rainbow на ram-диске: if [ ! -c "/dev/i2c" ] ; then mknod -m 600 /dev/i2c c 89 0 ; fi ; cd /home ; prgn="./i2c_program"; echo -e "binary\nget $prgn" | ./tftp 192.168.2.41 ; if [ -e $prgn ] ; then chmod 544 $prgn ; fi ; ls -l ; Команда для запуска программы: #./i2c_program 50 0 255 где параметры командной строки: address_i2c, mem_addr, nbytes. P.S. Начал я практическое изучение i2c - интерфейса под Linux-ом на плате Rainbow с такого скрипта: mknod /dev/i2c c 89 0 ls -l /dev/i2c dmesg > /dev/i2c , но при просмотре сигналов интерфейса i2c в осциллограф выяснилось, что текст из dmesg пишется в i2c-адрес 0x7f. ):- . i2c_program.zip eeprom_read.zip Изменено 5 ноября, 2007 пользователем Vishay Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
path_finder 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба /sys/bus/i2c/devices/0-0050/eeprom видны первые 256 байт EEPROM'а. cat /sys/bus/i2c/devices/0-0050/eeprom | hexdump -C остальные части eeprom должны быть: /sys/bus/i2c/devices/0-0051/eeprom /sys/bus/i2c/devices/0-0052/eeprom и так далее Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться