Перейти к содержанию
    

Тестовые примеры от Atmel AT91RM9200-EK для платы Rainbow.

Hello, All !

 

Предлагаются Вашему вниманию несколько тестовых примером от Atmel AT91RM9200-EK, модифицированных для платы Rainbow, откомпилированных с помощью ADS.

 

1) AT91RM9200_BasicUHP - тест петли UHP-UDP для USB интерфейсов платы Rainbow, работающий в цикле.

Загрузка, как описано в примере от Atmel:

u-boot> loadb 20800000 (или tftp 20800000 )

u-boot> go 20800000

( примеры откомпилированы на адрес загрузки 20800000 )

 

2)AT91RM9200_TWI - выдача в цикле байтов 0x55, 0xAA через I2C интерфейс платы Rainbow. Мне было интересно посмотреть сигналы интерфейса I2C в осциллограф. Микросхемы часов на плате у меня нет. Без подтягивающих резисторов R34, R31 тест не работает. Я смотрел сначала в осциллограф оба сигнала со щупом 1:1 - при однократном прикосновении к линии тактов SCL тест зависает, больше никаких эпюр на обоих выводах нет. Со щупом 1:10 все смотрится нормально. Загрузка теста аналогично предыдущему. При повторном (горячем, т.е. без снятия питания с платы ) запуске после нажатия кнопки RESET нет необходимости грузить файл, достаточно дать команду:

u-boot> go 20800000

 

Пока ВСЕ.

AT91RM9200_BasicUHP.zip

AT91RM9200_TWI.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Двухканальный генератор импульсов с программируемой скважностью по мотивам

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 ).

AT91_wave_pwm.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример из предыдущего поста, переделанный в виде приложения для 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.

irq_tc1.zip

intrpt.zip

monitor.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...