Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:3
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Embedded Linux
Помогите новичку. Не получается дрыгать ногой.
flogger_d
Добавлено 06.01.2012 19:19
0
Сообщение: 1
flogger_d
0

Пункты: 185
Регистрация: 22.09.2011
Плата SK-AT91SAM9260-SIM508
Взял пример из темы http://wiki.starterkit.ru/чтение-запись_физических адресов_в_linux

Эффект наблюдать не удается.

В консоли пишет нолики и единички, но уровень сигнала не меняется.

Стал ковырять текст программы и возникли вопросы:

Заявлена работа диода между пинами 1-3 разъема X1
Пин 3 - это GND. Пин 1 -по схеме это вроде как PA11/MCDA3/ETX3. Почему тогда в программе используется маппинг для регистра PIOC и маска пина вычисляется как 1<<4 ?

Ведь по идее должно быть PIOA и 1<<10 ? Или не так?

Если сморозил глупость - сильно ногами не бейте, а подскажите в чем тут дело.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.01.2012 19:35 Редактировалось 06.01.2012 20:01 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Если сморозил глупость - сильно ногами не бейте, а подскажите в чем тут дело.

для синхронизации - плата такая?
если да, то разъем Х11
пин 1 - общий
пин 2 - +5В
пин 3 - PIN_28
пин 4 - +3В3

в свое время крутил этот пример, вроде работал..
update вот тут мог ошибиться - наверно сразу менял пин под себя..
более того, на его основе писал что-то свое и тоже работало..

светодиод лучше включить последовательно с резистором 150-200 Ом..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
flogger_d
Добавлено 06.01.2012 20:09 Сообщение: 3
flogger_d
0

Пункты: 185
Регистрация: 22.09.2011
Плата такая. Разъем не X11, а X1.
Пример с моими изменениями заработал но только между 3-м и 9-м пином.
Т.е. вместо PIOC я написал PIOA, а маску пина как 1<<10 (тут я ошибся - чтобы получить работу первого пина, наверное нужно 1<<11 - сейчас буду проверять)
Все равно, спасибо...
Спуститься к концу Подняться к началу
Персональная информация
flogger_d
Добавлено 06.01.2012 20:22 Сообщение: 4
flogger_d
0

Пункты: 185
Регистрация: 22.09.2011
Да, проверил - все заработало. Итак - патч к исходной программе:
Код

*** gpio.c 2009-02-17 17:34:59.000000000 +0300
--- gpio.c.my 2012-01-06 21:18:48.658337644 +0400
***************
*** 39,46 ****
#define PIO_OWSR 0xa8 /* Output Write Status Register */
//-------------------------------------------------------------

! #define PIN_MASK (1<<4)
! #define MAP_BASE (AT91_PIOC)


#define MAP_SIZE 4096Ul
--- 39,46 ----
#define PIO_OWSR 0xa8 /* Output Write Status Register */
//-------------------------------------------------------------

! #define PIN_MASK (1<<11)
! #define MAP_BASE (AT91_PIOA)


#define MAP_SIZE 4096Ul


Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.01.2012 21:19 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Все равно, спасибо...

да собственно не за что - вы сами разобрались. одобрямс..

там рядом на контактах 5вольт - с ними повнимательнее, неловкое движение и дохлочип..

Цитата
Плата такая. Разъем не X11, а X1.

поупрямствую :)

title

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
flogger_d
Добавлено 06.01.2012 22:22 Сообщение: 6
flogger_d
0

Пункты: 185
Регистрация: 22.09.2011
Ну да... Но это X11. А в статье упоминался X1. Который - для подключения карты SD/MMC (справа снизу).

Ну а если X11 попробовать... То там тоже - не пахнет тем, что в оригинальной проге
1 нога - GND
3 нога - PIN_28, который заведен на PB19/RD0/TIOB5 т.е. - тоже ничего похожего на PIOC и 1<<4, которые в оригинальной проге.

Так ведь?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.01.2012 22:44 Сообщение: 7
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Ну да... Но это X11. А в статье упоминался X1. Который - для подключения карты SD/MMC (справа снизу).
Ну а если X11 попробовать... То там тоже - не пахнет тем, что в оригинальной проге
1 нога - GND
3 нога - PIN_28, который заведен на PB19/RD0/TIOB5 т.е. - тоже ничего похожего на PIOC и 1<<4, которые в оригинальной проге.
Так ведь?

ту статью писал repairman (давненько на форуме не появлялся) во времена, когда китов было 0 целых и 5 десятых.. и то, что там звучало 9260 совершенно не означает совпадение вашей платы и его..
!!! так вы подцепились к SD разъему?!!! который X1!!!.. т.е. 3 общий, 1 - C_D3(PA11).. хм..
в теории, если оторвать драйвер SD/MMC в ядре, то можно с пинами Х1 работать вполне успешно..
но лучше перебраться на Х11 - 40 пинов с шагом 2.54
(ПОМНИТЕ ПРО 5В).. лучше сначала тестером или осциллом проверить..

Цитата
ничего похожего на PIOC
Так ведь?

запросто, если плата другой конфигурации или ревизии..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
flogger_d
Добавлено 06.01.2012 23:03 Сообщение: 8
flogger_d
0

Пункты: 185
Регистрация: 22.09.2011
Все! Теперь я тоже знаю Кун-Фу. Подцепился к X11, диодики мигают весело...
(я их через 2к резисторы воткнул, так что - все путем...)

Спуститься к концу Подняться к началу
Персональная информация
flogger_d
Добавлено 06.01.2012 23:14 Сообщение: 9
flogger_d
0

Пункты: 185
Регистрация: 22.09.2011
Следующий этап у меня - собрать какую нибудь Scheme - Gambit или Guile и залить ее на плату. Сделать для нее библиотечку для работы с портами прямо из скрипта. И помигать диодиками уже через интернет

Да, спасибо за моральную поддержку. Я в принципе, предположил, что версия платы может отличаться, просто это у меня первый опыт с контроллерами... А с X1 у меня тоже заработало - с теми поправками, что я прислал... Неудобно конечно тыкать проводками в SD-шные разъемы, но таки - заработало...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.01.2012 23:34 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Сделать для нее библиотечку для работы с портами прямо из скрипта. И помигать диодиками уже через интернет

не-не, это неспортивно и несекурно.. все давно придумано за нас.. покопайте в ядре раздел /Device drivers->Led support плюшки в виде легкого и безопасного управления светодиодами, аппаратной регулировки яркости, аппаратного мигания стоят пота, чтобы их освоить..
как халява и скрипт, конечно, сойдет :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux