neiro80 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Линукс стоит на атмеловксом арме...пусть будет рм9200. Как можно красиво обратится к портам pioa,piob,pioc? Ну там выставить единицу,ноль,настроить на ввод/вывод.. можно конеш через маппирование страницы..но может можно обращаться типа как к устройствам...(так же как к spi или tty)?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovalchuk_i_v 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Пишите красивый драйвер - и красиво обращайтесь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amw 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Линукс стоит на атмеловксом арме...пусть будет рм9200. Как можно красиво обратится к портам pioa,piob,pioc? Ну там выставить единицу,ноль,настроить на ввод/вывод.. можно конеш через маппирование страницы..но может можно обращаться типа как к устройствам...(так же как к spi или tty)?? arch/arm/mach-at91/include/mach/gpio.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
neiro80 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Скажи плз, а как достучатся до этих функций из своего приложения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amw 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Скажи плз, а как достучатся до этих функций из своего приложения? Например как здесь linux/drivers/serial/atmel_serial.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
neiro80 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Например как здесь linux/drivers/serial/atmel_serial.c не понял чет. это из ядра же. а из приложения своего ведь не вызвать допустим at91_set_gpio_value(AT91_PIN_PA21, 0)... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amw 0 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба не понял чет. это из ядра же. а из приложения своего ведь не вызвать допустим at91_set_gpio_value(AT91_PIN_PA21, 0)... А, в этом смысле. Извините, не понял. Ну тогда два варианта. 1. Нормальный. Написать драйвер, использующий gpiolib (linux/drivers/gpio). 2. Не совсем нормальный, однако довольно часто используемый. http://svn.openmoko.org/developers/werner/poke/. Ну и, например, привести полученный указатель к указателю на структуру AT91PS_PIO (или как она там называется). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 14 января, 2009 Опубликовано 14 января, 2009 · Жалоба Скажи плз, а как достучатся до этих функций из своего приложения? 1) http://www.at91.com/samphpbb/viewtopic.php?p=13668 2) http://www.ipbx.ru/rm9200/gpio-RM9200.tar.gz Думаю лучше один раз увидеть чем сто раз услышать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dch 0 15 января, 2009 Опубликовано 15 января, 2009 · Жалоба кстати как во второй програмке с установкой пина - были сообщения что неправильно устанавливается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 21 января, 2009 Опубликовано 21 января, 2009 · Жалоба ... 2. Не совсем нормальный, однако довольно часто используемый. http://svn.openmoko.org/developers/werner/poke/. Ну и, например, привести полученный указатель к указателю на структуру AT91PS_PIO (или как она там называется). извиняюсь, но... бр-бр, что то по этой ссылке даже намека на использование gpio нету, ссылка точно верна? или я не так что то понял? . Линукс стоит на атмеловксом арме...пусть будет рм9200. Как можно красиво обратится к портам pioa,piob,pioc? Ну там выставить единицу,ноль,настроить на ввод/вывод.. можно конеш через маппирование страницы..но может можно обращаться типа как к устройствам...(так же как к spi или tty)?? можно это сделать реализовав через модуль ядра, благо примеров достаточно в инете... ... #include <asm/io.h> #include <asm/arch/gpio.h> ... at91_set_gpio_output(AT91_PIN_PC10, 1); at91_set_gpio_output(AT91_PIN_PC10, 0); ... да, понятие красоты обращения не стоит ставить на первое место, часто это зависит от необходимости... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 25 января, 2009 Опубликовано 25 января, 2009 · Жалоба Товарищи! Подскажите, пожалуйста, где раздобыть примеры по работе с gpiolib ??? И документацию читал, и примеры пытался разыскать, но в итоге нет четкого и совершенно определенного представления что как делать, например, как определить число доступных GPIO, как их "взять", задать направление... Вижу соответствующие функции, но не понимаю как _начать_ , как склеить все это воедино??? ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MTh 0 27 января, 2009 Опубликовано 27 января, 2009 · Жалоба Вариантов 2: 1. Собственно говоря вы лезете в исходники линукса и находите там сырцы под свой МК. С подключением сырцов пишите свой драйвер. И затем через него уже лезете к выводам порта. 2. Используете готовую либу GPIO (включив в ядре поддержку и пересобрав). Тут уже надо полазить по исходникам (или по /proc) и посмотреть какие функции экспортируются. А потом по ним обращаться. Вариант со своим драйвером имеет + и -... + - разберетесь что и как - - долго это :) Почитайте книжку Linux Device Drivers - там все-все написано... особое внимание обратите на wmb()/rmb() иначе можно неплохо "втупить"... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться