реклама на сайте
подробности

 
 
> Как работать с GPIO под Linux?
GeneralProger
сообщение Jul 16 2016, 03:15
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 16-07-16
Пользователь №: 92 575



Здравствуйте!
Заранее предупреждаю, что это первый раз когда я имею дело с микрокомпьютерами, раньше работал только с AVR и для меня тема программирования из под Linux темный лес, так что прошу сильно не бить, если я написал не туда или задаю очевидные/глупые/неправильно сформулированные вопросы.
Имеется плата http://wiki.embeddedarm.com/wiki/TS-5300, хочу использовать ее как Arduino (т.е. иметь возможность подавать и снимать питание с определенных ножек), почитав в интернете конкретно про такой тип микрокомпьютеров я примерно предположил что под мои цели на данной плате могут подойти выходы DIO1 и DIO2. Как вообще к ним обратиться из под Linux и задать им какое-то состояние? Нашел в интернете какие-то примеры обращения через файл /sys/dio, но в версии Linux которая стоит на этом микрокомпьютере не то что такого файла нету, папка sys вообще не существует.

Что мне делать что бы выполнить хотя бы такую задачу и вообще возможно ли это?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GeneralProger
сообщение Jul 20 2016, 16:26
Сообщение #2





Группа: Участник
Сообщений: 8
Регистрация: 16-07-16
Пользователь №: 92 575



Цитата(Jury093 @ Jul 20 2016, 12:01) *
чем смотрели? что пишет в ответ:
Код
file hello.s



в корне фтп лежит файл ftp.catalog-6-27-8.txt
поищите в нем.. там мелькает типа
./tmp/gcc-3.2.3-glibc-2.2.5.tar.gz
вроде видел исходники ядра

у вас же х86 архитектура, в теории можно нативно собирать на обычном компе исполнимые бинарники, надо только с библиотеками внимательно разобраться..

Вообщем с gcc вроде решилось с помощью toolchain, а по поводу отрывка кода что вы мне скинули, я все-равно не понимаю:
ioperm(0x7A,4,1) это получение прав на работу или что? Описания атрибутов я не нашел, что значит from, num и turn_on? Я так предполагаю что from это начало, num количество после from, но как во всем это ориентироваться? В инструкции TS написано:
7Bh R/W DIO1_0 thru DIO1_7 (Bits 0-7)
7Ch R/W DIO1_8 thru DIO1_13 (Bits 0-5)

Значит получается, что мы получаем права на работу с ножками DIO от 0 до 7 при вызове ioperm(0x7B,1,1)?

А это что:
Код
ioval = inb(0x7a);
ioval = ioval & 0xFE;
outb(ioval, 0x7A);

Мы через inb(0x7B); в моем случае выбираем диапазон DIO от 0 до 7, потом приписав ioval = ioval & 0xFE; прыгаем на какую-то ножку из диапазона 0-7 задав ее номер 0xFE??
Что же тогда значит outb(ioval, 0x7A);, я совсем уже не догадываюсь
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jul 20 2016, 17:14
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(GeneralProger @ Jul 20 2016, 19:26) *
Вообщем с gcc вроде решилось с помощью toolchain, а по поводу отрывка кода что вы мне скинули, я все-равно не понимаю:
Значит получается, что мы получаем права на работу с ножками DIO от 0 до 7 при вызове ioperm(0x7B,1,1)?

в сообщение №14 треда есть слово "ссылка", она указывает на pdf
http://vigir.missouri.edu/~gdesouza/Resear..._Dev_Manual.pdf

собственно оттуда и выдержка с фрагментом кода, а что там и как, я особо не вникал..
еще на их фтп покопайтесь, там где-то видел семплы кода и маны по работы с железом ts53xx..

update1 судя по опечаткам, в критичных местах сверяйтесь с инетом:
Код
can be read from the /pro/SBC/info. This proc entry is read only

вероятно все же /proc/SBC/info

update2 и вот об этом
Цитата
пытался скомпилировать файл на Linux на компьютере, но он ругается на и работать не хочет

полезно после слова "пытался" показать "как пытался" (строку для запуска компиляции)
и "ругался" - приводить строки вывода ошибок (часто по ним можно понять что происходит)
и для занудства - "работать не хочет", дак никто работать не хочет, а код должен выполниться на таргет-системе
впрочем не принимайте это всерьез..

Сообщение отредактировал Jury093 - Jul 20 2016, 17:28
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GeneralProger   Как работать с GPIO под Linux?   Jul 16 2016, 03:15
- - mantech   Цитата(GeneralProger @ Jul 16 2016, 06:15...   Jul 16 2016, 07:14
|- - AVR   Цитата(mantech @ Jul 16 2016, 10:14) Трет...   Jul 16 2016, 11:50
- - 1113   какая версия ядра?   Jul 16 2016, 08:40
- - GeneralProger   Цитата(mantech @ Jul 16 2016, 08:14) Перв...   Jul 16 2016, 10:19
|- - Jury093   Цитата(GeneralProger @ Jul 16 2016, 13:19...   Jul 16 2016, 11:58
- - 1113   эта платформа оч древняя (> 10 лет), и ядро лин...   Jul 16 2016, 10:45
|- - Tarbal   Цитата(1113 @ Jul 16 2016, 14:45) эта пла...   Jul 18 2016, 16:53
- - GeneralProger   Почитал в интернете по обращению к портам ввода вы...   Jul 16 2016, 22:24
- - GeneralProger   Я в принципе уже сам понял что тупанул и rtc это с...   Jul 17 2016, 00:51
|- - Jury093   Цитата(GeneralProger @ Jul 17 2016, 03:51...   Jul 17 2016, 08:50
- - GeneralProger   Цитата(Jury093 @ Jul 17 2016, 08:50) коне...   Jul 18 2016, 08:48
|- - Jury093   Цитата(GeneralProger @ Jul 18 2016, 11:48...   Jul 18 2016, 09:54
|- - Jury093   Цитата(GeneralProger @ Jul 18 2016, 11:48...   Jul 18 2016, 18:13
- - GeneralProger   Цитата(Jury093 @ Jul 18 2016, 18:13) гугл...   Jul 19 2016, 18:08
|- - Jury093   Цитата(GeneralProger @ Jul 19 2016, 21:08...   Jul 19 2016, 19:29
|- - Tarbal   Цитата(GeneralProger @ Jul 19 2016, 22:08...   Jul 28 2016, 11:14
- - GeneralProger   Цитата(Jury093 @ Jul 19 2016, 19:29) судя...   Jul 20 2016, 10:42
|- - Jury093   Цитата(GeneralProger @ Jul 20 2016, 13:42...   Jul 20 2016, 12:01


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 16:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01382 секунд с 7
ELECTRONIX ©2004-2016