Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
помогите с генератором меандра
Franky
Добавлено 16.06.2012 23:25 Редактировалось 16.06.2012 23:26 Сообщение: 31
Franky
5

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

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



простите за идиотский вопрос... но где это можно посмотреть? где в файлах ядра посмотерть как это рганизовано?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.06.2012 13:02 Сообщение: 32
Jury093
4.5

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

дак все ж на поверхности, идем в сорцы ядра, задаем строчку поиска по файлам с содержимым "waiting end", следы выводят на
drivers/mmc/host/at91_mci.c
там есть п/п:
Код
static void at91_timeout_timer(unsigned long data)
{
struct at91mci_host *host;

host = (struct at91mci_host *)data;

if (host->request) {
dev_err(host->mmc->parent, "Timeout waiting end of packet\n");

if (host->cmd && host->cmd->data) {
host->cmd->data->error = -ETIMEDOUT;
} else {
if (host->cmd)
host->cmd->error = -ETIMEDOUT;
else
host->request->cmd->error = -ETIMEDOUT;
}

at91_reset_host(host);
mmc_request_done(host->mmc, host->request);
}
}

вот результат ее работы и должен вас волновать, точнее исправить ошибку в работе (дам 70% что накосячили атмеловцы)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 17.06.2012 23:31 Редактировалось 17.06.2012 23:32 Сообщение: 33
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Подскажите, как человеку знающему C (или думающему что он знающий) научится комфортно чувствовать себя в Linux? Книги есть какие? или только практика?
например, где посмотреть вызов at91_timeout_timer()...?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 18.06.2012 01:22 Сообщение: 34
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Книги есть какие? или только практика?
например, где посмотреть вызов at91_timeout_timer()...?

хм.. отвечу, как человек практически не знающий Си, в моем случае помогает практика и чуть везения. гугление конечно хорошо помогает..
По уму, надо конечно читать ман по языку, да собственно и склад ума иметь программистский..
Где посмотреть?.. хех.. делаем поиск по "at91_timeout_timer". в этом же файле в функции
static int __init at91_mci_probe(struct platform_device *pdev)
есть "подозрительная" строка:
Код
setup_timer(&host->timer, at91_timeout_timer, (unsigned long)host);

полагаю, что setup_timer - это что-то из п/п ядра и ей, как аргумент передается указатель на at91_timeout_timer

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

Пункты: 76902
Регистрация: 14.08.2009
http://rus-linux.net/MyLDP/BOOKS/Moduli-yadra-Linux/12/kern-mod-12-01.html
я пользовался Роберт Лав "Разработка ядра Linux" второе издание (Linux Kernel Development, Second Edition, Robert Love) и LDD3.

Цитата

например, где посмотреть вызов at91_timeout_timer()...?

http://lxr.free-electrons.com/ident?a=arm;i=at91_timeout_timer
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux