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

 
 
 
Reply to this topicStart new topic
> ARM926 GPIO (OSK5912)
Vladimir_
сообщение Dec 18 2006, 15:55
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 26-09-06
Пользователь №: 20 694



Пробую управлять GPIO на отладке TI OSK5912.
Использую кросс-компилятор GCC-3.4.1. При попытке вызова любой фукнции, описанной в gpio.h компилятор ругается, хотя само ядро 2.6.18 собирает без проблемм, ядро работает нормально...
Нет ли кого, кто уже ходил по этому пути?
Go to the top of the page
 
+Quote Post
Artem-1.6E-19
сообщение Dec 18 2006, 16:16
Сообщение #2


Местный
***

Группа: Новичок
Сообщений: 266
Регистрация: 29-11-06
Пользователь №: 22 905



Цитата(Vladimir_ @ Dec 18 2006, 14:55) *
Пробую управлять GPIO на отладке TI OSK5912.
Использую кросс-компилятор GCC-3.4.1. При попытке вызова любой фукнции, описанной в gpio.h компилятор ругается, хотя само ядро 2.6.18 собирает без проблемм, ядро работает нормально...
Нет ли кого, кто уже ходил по этому пути?

Телепатов тут нет. (ИМХО)
Так что приводите подробно ругань которую выдает компилятор.
Go to the top of the page
 
+Quote Post
Vladimir_
сообщение Dec 18 2006, 16:59
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 26-09-06
Пользователь №: 20 694



Цитата(Artem-1.6E-19 @ Dec 18 2006, 16:16) *
Цитата(Vladimir_ @ Dec 18 2006, 14:55) *

Пробую управлять GPIO на отладке TI OSK5912.
Использую кросс-компилятор GCC-3.4.1. При попытке вызова любой фукнции, описанной в gpio.h компилятор ругается, хотя само ядро 2.6.18 собирает без проблемм, ядро работает нормально...
Нет ли кого, кто уже ходил по этому пути?

Телепатов тут нет. (ИМХО)
Так что приводите подробно ругань которую выдает компилятор.


Programm:

#include <stdio.h>

#include "/usr/src/linux-2.6.18/include/asm/arch/gpio.h"


int main()
{
int ret;
omap_request_gpio(3);
omap_set_gpio_direction(3,0);
omap_get_datain(3);
}

--------------------Configuration: GPIO2 - Linux Debug--------------------
Compiling source file(s)...
main.c
main.c: In function `main':
main.c:12: warning: implicit declaration of function `omap_get_datain'
main.c:9: warning: unused variable `ret'
main.c:16: warning: control reaches end of non-void function
Linking...
/root/GPIO2/Debug/main.o(.text+0x14): In function `main':
/root/GPIO2/main.c:10: undefined reference to `omap_request_gpio'
/root/GPIO2/Debug/main.o(.text+0x20):/root/GPIO2/main.c:11: undefined reference to `omap_set_gpio_direction'
/root/GPIO2/Debug/main.o(.text+0x28):/root/GPIO2/main.c:12: undefined reference to `omap_get_datain'
collect2: ld returned 1 exit status

GPIO2 - 3 error(s), 3 warning(s)
Go to the top of the page
 
+Quote Post
Artem-1.6E-19
сообщение Dec 18 2006, 17:10
Сообщение #4


Местный
***

Группа: Новичок
Сообщений: 266
Регистрация: 29-11-06
Пользователь №: 22 905



Цитата(Vladimir_ @ Dec 18 2006, 15:59) *
Цитата(Artem-1.6E-19 @ Dec 18 2006, 16:16) *

Цитата(Vladimir_ @ Dec 18 2006, 14:55) *

Пробую управлять GPIO на отладке TI OSK5912.
Использую кросс-компилятор GCC-3.4.1. При попытке вызова любой фукнции, описанной в gpio.h компилятор ругается, хотя само ядро 2.6.18 собирает без проблемм, ядро работает нормально...
Нет ли кого, кто уже ходил по этому пути?

Телепатов тут нет. (ИМХО)
Так что приводите подробно ругань которую выдает компилятор.


Programm:

#include <stdio.h>

#include "/usr/src/linux-2.6.18/include/asm/arch/gpio.h"

Уверены?
У меня оно так
/usr/src/linux-2.6.16.21-0.13/include/asm-arm/arch-omap/gpio.h
Цитата
int main()
{
int ret;
omap_request_gpio(3);
omap_set_gpio_direction(3,0);
omap_get_datain(3);
}

--------------------Configuration: GPIO2 - Linux Debug--------------------
Compiling source file(s)...
main.c
main.c: In function `main':
main.c:12: warning: implicit declaration of function `omap_get_datain'

У меня оно декларировакно как
extern int omap_get_gpio_datain(int gpio);
Цитата
main.c:9: warning: unused variable `ret'
main.c:16: warning: control reaches end of non-void function
Linking...
/root/GPIO2/Debug/main.o(.text+0x14): In function `main':
/root/GPIO2/main.c:10: undefined reference to `omap_request_gpio'
/root/GPIO2/Debug/main.o(.text+0x20):/root/GPIO2/main.c:11: undefined reference to `omap_set_gpio_direction'
/root/GPIO2/Debug/main.o(.text+0x28):/root/GPIO2/main.c:12: undefined reference to `omap_get_datain'
collect2: ld returned 1 exit status
GPIO2 - 3 error(s), 3 warning(s)

Это вообще не правильно. Эта функция доступна только в кеннел-спейсе. То есть качаем HOWTO как писать модули для перед. Не main а init_module итд.
Go to the top of the page
 
+Quote Post
Vladimir_
сообщение Dec 18 2006, 17:35
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 26-09-06
Пользователь №: 20 694



[#include <stdio.h>

#include "/usr/src/linux-2.6.18/include/asm/arch/gpio.h"
[/quote]
Уверены?

Да уверен, т.к. ядро собрано и работает, соответственно, линки существуют и стоят правильно.

У меня оно так
/usr/src/linux-2.6.16.21-0.13/include/asm-arm/arch-omap/gpio.h

Так тоже пробовал (от безисходности).

[quote]
int main()
{
int ret;
omap_request_gpio(3);
omap_set_gpio_direction(3,0);
omap_get_datain(3);
}

--------------------Configuration: GPIO2 - Linux Debug--------------------
Compiling source file(s)...
main.c
main.c: In function `main':
main.c:12: warning: implicit declaration of function `omap_get_datain'
[/quote]
У меня оно декларировакно как
extern int omap_get_gpio_datain(int gpio);
[quote]
main.c:9: warning: unused variable `ret'
main.c:16: warning: control reaches end of non-void function
Linking...
/root/GPIO2/Debug/main.o(.text+0x14): In function `main':
/root/GPIO2/main.c:10: undefined reference to `omap_request_gpio'
/root/GPIO2/Debug/main.o(.text+0x20):/root/GPIO2/main.c:11: undefined reference to `omap_set_gpio_direction'
/root/GPIO2/Debug/main.o(.text+0x28):/root/GPIO2/main.c:12: undefined reference to `omap_get_datain'
collect2: ld returned 1 exit status
GPIO2 - 3 error(s), 3 warning(s)
[/quote]
Это вообще не правильно. Эта функция доступна только в кеннел-спейсе. То есть качаем HOWTO как писать модули для перед. Не main а init_module итд.

Оооопс! Это, видимо, и есть ответ. Спасибо большое!

Один только вопрос:"Почему?" . В смысле, что почитать на эту тему?



[/quote]
Go to the top of the page
 
+Quote Post
Artem-1.6E-19
сообщение Dec 18 2006, 17:53
Сообщение #6


Местный
***

Группа: Новичок
Сообщений: 266
Регистрация: 29-11-06
Пользователь №: 22 905



1. Вам нужно разобраться как на С писать.
2. В гугле поиск по Linux Kernel module writing
Go to the top of the page
 
+Quote Post
Vladimir_
сообщение Dec 20 2006, 15:17
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 26-09-06
Пользователь №: 20 694



Цитата(Artem-1.6E-19 @ Dec 18 2006, 17:53) *
1. Вам нужно разобраться как на С писать.
2. В гугле поиск по Linux Kernel module writing


Не взирая на сарказм, спасибо большое за помощь! Все получилось и заработало.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:28
Рейтинг@Mail.ru


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