Jump to content

    

Vishay

Свой
  • Content Count

    47
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Vishay

  • Rank
    Участник

Recent Profile Visitors

893 profile views
  1. Пример из предыдущего поста, переделанный в виде приложения для Linux (irq_tc1), с уменьшенной до 1 Гц частотой сигналов на выводах процессора, разрешением прерываний от таймера TC1 (irq18), и модулем ядра (intrpt.ko), в котором находится обработчик прерывания IRQ18, печатающий количество произведенных вызовов обработчика. Модуль intrpt.ko откомпилирован для ядра 2.6.16. После загрузки модуля командой #./insmod intrpt.ko в файле /proc/interrupts появляется строчка: 18: 0 test_TC1_irq_handler Запускаем далее #./irq_tc1 и наблюдаем увеличение раз в секунду количества обработанных прерываний от TC1 в cat /proc/interrupts, выдачу обработчиком прерывания по printk величины счетчика, обработанных IRQ18-прерываний, прыжки уровня сигнала приблизительно раз в секунду на выводах 65,66 процессора. Для просмотра памяти, векторов прерываний, регистров TC1, AIC и т.д. я использовал утилиту monitor.c.
  2. Двухканальный генератор импульсов с программируемой скважностью по мотивам doc2682.pdf ("Pulse Width Modulation Generation Using the AT91 Timer/Counter") с сайта Atmel.com, для платы Rainbow_1.1 . Откомпилированная программа загружается в плату также, как и примеры в предыдущем посте. На выводах 65 и 66 процессора ( или на контактах 8 и 10 разъема P7) после запуска программы наблюдаем в осциллограф импульсы с 30% и 50% скважностью с частотой ~1 кГц ( как и описано в doc2682 ).
  3. Здравствуйте. Вопрос такой: имеется работающая отладочная плата для процессора AT91RM9200 ( Rainbow_1.1), с работающим на ней Linux'ом. Есть желание попробовать поработать с JTAG - интерфейсом в учебных целях с прицелом на другие задачи. JTAG - адаптера в наличии никакого пока нет. Хочу попробовать адаптировать open-source проект по jtag, чтобы сделать на основе платы Rainbow jtag-адаптер: формировать на выводах GPIO процессора сигналы JTAG - интерфейса. Подходящего простого управляемого по JTAG устройства для учебных целей тоже пока в наличии нет . А можно ли работать с самим процессором AT91RM9200 одновременно и в качестве адаптера и в качестве управляемого утройства JTAG ( например - определить 0 или 1 на выводе процессора, управляющем включением светодиода BL_COMPLETE) ? Или это полный бред ?
  4. Установка Debian Sid на Rainbow

    Проблема c telnetd решена непосредственным запуском: #/usr/sbin/inetd .
  5. Установка Debian Sid на Rainbow

    Hello All ! Никак не могу с обсуждаемым здесь Debian sid 'ом запустить сервер telnetd. В inetd.conf его прописал, пробовал другой сервер inetutils-telnetd с сайта Debian'а, пробовал busybox с сайта Debian'а - ничего не работает, т.е telnet-клиент на компьютере сервера не видит. Пробовал ставить клиентов telnet на плату Rainbow + Debian sid - они с телнет-сервером на PC работают нормально, а с локальным не хотят. Если #/usr/bin/busybox telnetd то получаю ошибку: telnetd: socket: Address family not supported by protocol . С файловой системой от heavy проблем с telnet'ом у меня нет. Help me, please !
  6. Для тренировки работы с 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. ):- .
  7. Фирма 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
  8. Запуск Linux на плате RainBow v1.1

    [quote name='Vishay' date='Sept 24 2007, 14:43' post='309243'] [/q Hello All ! Если не трудно, подскажите пожалуйста, что надо поменять в моем config'е ядра (2.6.20), чтобы мое ядро увидело флэшку (USB Mass Strorage ). С другими ядрами (от heavy, slava2005 ) плата Rainbow мои флэшки с файловой системой Ext2 видит, а с моим ядром почему-то нет. Ядро пропатчено, как положено, патчем от Maxim + отключено rmii и прерывания от PHY ( rmii=0; phy_irq_pin=0). Сеть работает нормально. С ядром от heavy у меня не работает сеть, с ядром от slava2005 система не может загрузить initrd в мои 16М SDRAM - - приходится грузить файловую систему с USB Flash. Ядро от sakura у меня вообще не грузится - "Starting kernel ..." и зависает - . Аналогичного результата мне удавалось добится с работающими ядрами уменьшая размер оперативной памяти в командной строке bootargs. Так что причина, вероятно, в недостаточном у меня на плате объеме SDRAM для этого ядра. Исходя из вышеизложенного, приходится собирать свое ядро. /] Вот что получилось в результате пересборки ядра: некий аналог ядра от heavy 2.6.16, но работающий с сетью в схеме с int_phy = 0, умещающийся 16 МБ SDRAM вместе с initrd, работающее с usb flash.
  9. Запуск Linux на плате RainBow v1.1

    Цитата(COMA @ Sep 25 2007, 21:02) Конфиги легко выдрать из патча. Это обычный текстовый файл. IMHO, для ядра выложенного на heavy-online.ru/arm-linux/files, конфиг недоступен в публичном доступе: согласно выложенной там инструкции он генерится командой make at91rm9200dk_defconfig, а файл at91rm9200dk_defconfig даже не патчится максимовским патчем, т.е. берется дефолтный конфиг ядра для этой платформы, а в нем SCSI - конфигурирование вообще отключено, следовательно, ядро не должно работать с USB Flash, однако , реально, ядро от heavy c USB Flash работает.
  10. 2 Dron_Gus Использую для подключения к плате Rainbow вот такой USB кардридер с картами Memory Stick с одним разъемом для карт. Стоит 200 р., работает нормально.
  11. 2 aaarrr Правильно ли я понял из прочтения спецификаций, что о прямом подключении карт Memory Stick к MCI интерфейсу контроллера AT91RM9200 можно забыть ?
  12. Цитата(BuroKRAT @ Oct 2 2007, 13:25) а что за схема с мемостиком? у меня подозрение что это резюк на 10к... тк врядли его к земле прилепляют... Схема, если ничего не путаю, от продвинутого телевизора Sony со встроенным кардридером для карт Memory Stick. Небольшая поправочка: не 10 К, а 100 К на землю, причем не только BS, но и DIO0.. DIO3. P.S. Смелое предположение - может быть надо делать инверсию всех сигналов ?
  13. Есть еще маленькое отличие в схеме подключения Memory Stick карты в упоминавшейся выше схеме - прототипе и в плате Rainbow: там сигнал BS не подтягивается резистором к плюсу питания, а подключен через 10 КОм на землю. Хочу попробовать сделать также на плате Rainbow. А пока подключил на проводках разъем карты по схеме: BS - CMD CLK - CLK DAT0..3 - DAT0-3 и т.д. и тест карты от атмела ничего не видит, и Линукс также ничего не видит, ( и тест карты от Черкашина ничего не видит - хотя, там, видимо, другая схема ) -.
  14. 2 BuroKRAT Спасибо за информацию, посмотрел по этой ссылке : http://pinouts.ru/Memory/memorysrick.shtml , только вот эта карта не M2 -, у M2 даже геомертия выводов разъема несколько другая: выводы питания и земли несколько удлинненные на карте. Вот эта карта соответвует описанной в ссылке спецификации разъема:
  15. Запуск Linux на плате RainBow v1.1

    2PrSt 1) По поводу CONFIG_CMDLINE - я использую bootargs из окружения romboot'a, а то, что попало в обсуждаемый config, при этом не работает ( как попало - скорее всего из взятого за основу чужого файла ). В log"е при загрузке ядра в Hyperterminal'е присутствует CMDLINE именно от romboot'a. 2) По поводу Ваших замечаний о USB - спасибо, буду разбираться. 3) По поводу взятия за основу config' ов от heavy или сакуры - в принципе так и хотел сделать сначала, но чтот-то не получилось: отдельно файлов config' ов к их ядрам не прилагается, приходится накладывать на ядро патчи от максима, а с этим у меня, видимо, вышла неувязка: вероятно, надо было ручками копировать пропатченный файл linux-2.6.XX/arch/arm/configs/at91rm9200dk_defconfig в католог /usr/src/linux-2.6.XX/.config ??? Sorry, но ядра приходится собирать не каждый день -.