Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9260-SIMXXX
подключение SK-VideoADC-Plug
sasamy
Добавлено 04.08.2010 20:01 Сообщение: 11
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата

pck3 = clk_get(NULL, "pck3");
...............
Падение происходит в функции clk_set_parent(pck3, pllb), хотя pck3 и pllb не нулевые.


Интересно - откуда взялся этот таймер на sam9260, там их всего два - pck0, pck1 :)
Спуститься к концу Подняться к началу
Персональная информация
Slavian
Добавлено 04.08.2010 20:26 Сообщение: 12
Slavian
0

Пункты: 1888
Регистрация: 21.05.2010
Цитата
Цитата

pck3 = clk_get(NULL, "pck3");
...............
Падение происходит в функции clk_set_parent(pck3, pllb), хотя pck3 и pllb не нулевые.


Интересно - откуда взялся этот таймер на sam9260, там их всего два - pck0, pck1 :)


Да это тоже была ошибка, просто сначало тупо передрал с 9263
Спуститься к концу Подняться к началу
Персональная информация
Slavian
Добавлено 04.08.2010 20:32 Сообщение: 13
Slavian
0

Пункты: 1888
Регистрация: 21.05.2010
Цитата
По поводу добавления в at91sam9260_devices.c, еще хидер меняли?
У меня в таком виде ядро не собирается.


Вот все что менял в mach-at91 http://upload.com.ua/get/901834546/
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 04.08.2010 21:44 Сообщение: 14
Pavel Ivanchenko
Admin
4.39

Пункты: 91534
Регистрация: 24.03.2009
Пол: Мужчина
Вобщем, делаю тоже самое для 9g45, после добавления isi_set_clk в board_init, получаю:
Код
LD .tmp_vmlinux1
arch/arm/mach-at91/built-in.o: In function `ek_board_init':
leds.c:(.init.text+0x1d00): undefined reference to `clk_set_parent'
leds.c:(.init.text+0x1d0c): undefined reference to `clk_set_rate'
make: *** [.tmp_vmlinux1] Error 1

Будь то еще какой хидер добавить нужно.
Спуститься к концу Подняться к началу
Персональная информация
Slavian
Добавлено 04.08.2010 22:00 Сообщение: 15
Slavian
0

Пункты: 1888
Регистрация: 21.05.2010
Все ровно не получается ситуация такая в
Код

static int atmel_isi_init(struct atmel_isi *isi){
unsigned long timeout;

init_completion(&isi->reset_complete);
if(atmelisi_is_isi_v2()) {
isi_writel(isi, V2_INTEN, ISI_BIT(V2_SRST));
isi_writel(isi, V2_CTRL, ISI_BIT(V2_SRST));
} else {
isi_writel(isi, IER, ISI_BIT(SOFTRST));
isi_writel(isi, CR1, ISI_BIT(RST));
}

timeout = wait_for_completion_timeout(&isi->reset_complete,
msecs_to_jiffies(100));
if (timeout == 0) {
return -ETIMEDOUT;
}



я так понимаю этим

isi_writel(isi, IER, ISI_BIT(SOFTRST));,

размещает прерывание от Soft Reset, а здесь

isi_writel(isi, CR1, ISI_BIT(RST));

собственно сам Reset, и в обработчике прерывания должны "отпустить" isi->reset_complete, но вся проблема в том что обработчик прерывания не вызывается (в вставил irqreturn_t isi_interrupt(int irq, void *dev_id) printk(KERN_EMERG "AT91: isi_interrupt .\n");).

Собрал i2ctool,
Цитата

# i2cdetect –l
i2c-0 i2c i2c-gpio-1 I2C adapter
# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- AT91: isi_interrupt .
-- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


То есть при работе i2cdetect 0 прерывание вызывается.
Спуститься к концу Подняться к началу
Персональная информация
Slavian
Добавлено 04.08.2010 22:17 Сообщение: 16
Slavian
0

Пункты: 1888
Регистрация: 21.05.2010
[quote]Вобщем, делаю тоже самое для 9g45, после добавления isi_set_clk в board_init, получаю:
Код
LD .tmp_vmlinux1
arch/arm/mach-at91/built-in.o: In function `ek_board_init':
leds.c:(.init.text+0x1d00): undefined reference to `clk_set_parent'
leds.c:(.init.text+0x1d0c): undefined reference to `clk_set_rate'
make: *** [.tmp_vmlinux1] Error 1

Будь то еще какой хидер добавить нужно.[/quote]

У меня такой ошибки не возникало, но вообще странно эти функции реализованы в cloc.c и не выкидываются препроцессором если есть CONFIG_AT91_PROGRAMMABLE_CLOCKS, а make его компилирует если
obj-$(CONFIG_AT91_PMC_UNIT) += clock.o

а в at91sam9263ek_defconfig CONFIG_AT91_PROGRAMMABLE_CLOCKS как раз отсутствует.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.08.2010 22:39 Редактировалось 04.08.2010 22:39 Сообщение: 17
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
[quote]Вобщем, делаю тоже самое для 9g45, после добавления isi_set_clk в board_init, получаю:
Код
LD .tmp_vmlinux1
arch/arm/mach-at91/built-in.o: In function `ek_board_init':
leds.c:(.init.text+0x1d00): undefined reference to `clk_set_parent'
leds.c:(.init.text+0x1d0c): undefined reference to `clk_set_rate'
make: *** [.tmp_vmlinux1] Error 1

Будь то еще какой хидер добавить нужно.[/quote]


Павел, у Вас эти функции прописаны в leds.c. Такие же функции прописаны в файле борды board-9260ek.c для работы аудиокодеков. Т.е. достаточно там посмотреть какой хидер надо прописать в leds.c:)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.08.2010 23:50 Сообщение: 18
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата

LD .tmp_vmlinux1
arch/arm/mach-at91/built-in.o: In function `ek_board_init':
leds.c:(.init.text+0x1d00): undefined reference to `clk_set_parent'
leds.c:(.init.text+0x1d0c): undefined reference to `clk_set_rate'
make: *** [.tmp_vmlinux1] Error 1

Будь то еще какой хидер добавить нужно.


Это ошибка линкера - хидеры тут уже нипричем. Линкер не находит среди объектных файлов содержащие ф-ции lk_set_parent и clk_set_rate.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.08.2010 23:55 Сообщение: 19
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Тоесть ситуация прямо противоположная - при компиляции он видел прототипы ф-ций - все заголовки на месте а при линковке обломился.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 05.08.2010 09:11 Сообщение: 20
Jury093
4.5

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

похоже ты прав, знать у Павла что-то в консерватории не так..

подсунул пару вызовов этих функций в п/п файла leds.c, более ничего не прописывал. скомпилировалось без шума и пыли.
gcc 3.4.1
kernel 2.6.32.8

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9260-SIMXXX