Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
работа в RHEL4 AT91SAM9 Linux build machine
Valentinus
Добавлено 05.02.2010 21:39
0
Сообщение: 1
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
после "дрыганья ногой" решил перейти к более серьезным вещам, но :
1. не могу понять - где лежат заголовочные файлы библиотеки at91lib, где она сама (библиотека), почему нет файла aic.h (отвечающего за прерывания). в общем такое впечатление что там ее нет, а какие-то обрывки. а?

2. вообще что там за toolchain? (в виртуалке)

3. вообще, извините за нубский вопрос, но может кто-то внятно, по шагам описать установку в эту виртуалку какой-то IDE? любой, пусть только для компиляции. очень буду признателен!
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.02.2010 21:57 Редактировалось 06.02.2010 21:58 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
2. вообще что там за toolchain? (в виртуалке)

ответ лежит например в файле:
/home/user/src/linux-2.6.24/make_menuconfig

Цитата
3. вообще, извините за нубский вопрос, но может кто-то внятно, по шагам описать установку в эту виртуалку какой-то IDE? любой, пусть только для компиляции. очень буду признателен!

настоящие суровые линуксоиды не пользуются ИДЕ :)
make, vi, less, grep, голая консоль и команды длиной в 500 байт - вот что отличает реального линусоида от галимого маздаевода :)
лично я вполне обхожусь mc и mcedit..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 07.02.2010 12:53 Редактировалось 07.02.2010 12:54 Сообщение: 3
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
Цитата

ответ лежит например в файле:
/home/user/src/linux-2.6.24/make_menuconfig
спасибо, Юрий.
Цитата

настоящие суровые линуксоиды не пользуются ИДЕ :)
make, vi, less, grep, голая консоль и команды длиной в 500 байт - вот что отличает реального линусоида от галимого маздаевода :)
лично я вполне обхожусь mc и mcedit..

да я ими тоже обошелся, когда три года назад написал клиент-серверную систему для сбора и обработки данных на PC- платформе. а тут с этой чертовой кросс-компиляцией и тулчейнами ... ни хрена, признаться, не понимаю... не хватает какого-то пусть даже небольшого, но последовательного мануала. одни обрывки, никак в голове в единую картину не складываются :(
PS только-что наткнулся на ваш пост , который вы писали полгода назад:"Pavel Ivanchenko - да я собственно не против. на мой взгляд все же не хватает (особенно для начинающих) некой шпаргалки, т.с. "стартовый пинок" в нужном направление, иначе одни и те же вопросы будут всплывать вновь и вновь".
увы! кажется волшебный пинок так и не появится :( а жаль... хотелось бы все же разобраться с линуксом в AT91SAM9XE512 и заложить ее в мелкосерийный приборчик...
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 07.02.2010 13:01 Редактировалось 07.02.2010 13:05 Сообщение: 4
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
к вопросу о инструкциях для новичков:
вот например, товарищ (дай бог ему здоровья и достатка!) нашел минутку(!) и все расписал: http://www.starterkit.ru/html/index.php?name=forum&op=view&id=1647&num=2#1658
все четко, понятно, повторил, на HelloWorld полюбовался, потом пином подергал- радость! до прерываний дошел (PIT)- все, ступор :( библиотечку at91lib подключить не получается, а как без нее функцию на прерывание от PIT завести и вовсе не знаю...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 07.02.2010 14:13 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
спасибо, Юрий

на здоровье :)

по поводу #3 и #4, я сам (когда появилась первая плата от Павла) недоумевал и сердился на отсутствие ответов на свои вопросы. Теперь же, имея две платы с разной архитектурой АРМ, я понимаю какую непосильную задачу неспеша делает Павел.. Разработать схему, макетку, поднять железо в линуксе, запустить в производство и все это _один_ человек. Еще и сайт держит с поддержкой.
Поэтому, на мой взгляд, отвечать на примитивные вопросы не должно входить в его задачу. Для этого есть ворохи документации, сайты и форумы линуксоидов, мозги пользователей :)
Цитата
тут с этой чертовой кросс-компиляцией и тулчейнами ... ни хрена, признаться, не понимаю... не хватает какого-то пусть даже небольшого, но последовательного мануала. одни обрывки, никак в голове в единую картину не складываются :(

даже если такой и появится, то он будет полезен только с точки зрения общей информации, ибо все меняется довольно быстро и непредсказуемо. И то что работало в том мануале, через полгода не запустится ни за какие коврижки..
о тулчейнах (типа на пальцах)
допустим, надо написать программу, которая запускается на АРМе. Ее можно написать, скомпилировать и запустить прямо на плате - нативная среда разработки.
существует возможность писать и компилировать эту же программу на другой архитектуре (например x86). Для этого в линукс х86 собирают отдельную версию компилятора, который генерит код под требуемую архитектуру (например АРМ).
Подробнее можно почитать на старом форуме. И поспрашивать местных асов, собаку съевших на сборки тулчейнов. На электрониксе есть отдельная ветка про тулзы..
зы сорри если длинно и путано :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 07.02.2010 15:48 Редактировалось 07.02.2010 18:57 Сообщение: 6
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
Цитата

по поводу #3 и #4, я сам (когда появилась первая плата от Павла) недоумевал и сердился на отсутствие ответов на свои вопросы. Теперь же, имея две платы с разной архитектурой АРМ, я понимаю какую непосильную задачу неспеша делает Павел.. Разработать схему, макетку, поднять железо в линуксе, запустить в производство и все это _один_ человек. Еще и сайт держит с поддержкой.
Поэтому, на мой взгляд, отвечать на примитивные вопросы не должно входить в его задачу. Для этого есть ворохи документации, сайты и форумы линуксоидов, мозги пользователей :)

трудности - они понятны. но всегда есть пути их решения: создать службу поддержки. пусть даже из одного человека. но чтобы ни один вопрос на форуме не оставался без ответа.
иначе платы в "массы" будут идти со страшным скрипом. ну тяжело из "вороха" документации составить четкое представление.
Цитата

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

тут я не согласен. как бы быстро все не менялась, большая часть остается неизменной. вот скажем внутренняя структура SAM7 и SAM9 практически та же самая. да, будут отличия от kit`а к kit`у - у одного кнопочки заведены на одни пины, у другого- на другие, но основные примеры gettingstarted будут понятны; основные операции (сборки, прошивки) также практически не меняются.

PS про то что из себя представляют тулчейны - это я уже понял. бог с этим, пока мне свой собирать не нужно, пробую разобраться с тем что предоставил Павел. :(
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 07.02.2010 19:20 Сообщение: 7
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
в общем-то поковырялся в at91lib и понял что библиотека предназначена для так сказать нативного использования ARM, т.е. без Linux, ибо в at91lib адреса периферии прописаны жестко (в h файлах).
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 07.02.2010 19:35 Редактировалось 07.02.2010 19:35 Сообщение: 8
Jury093
4.5

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

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

Цитата
тут я не согласен. как бы быстро все не менялась, большая часть остается неизменной.

это то так, но незначительные ньюансы (например изменили ключ или хидер) и все, приплыли..
где-то тут я открыл тему как засетапить Дебиан, ссылки давал с "мануалами" по сборке. Кажется все шоколадно? А хрен там - сам делал с дюжину подходов, тут надо поправить, там пофиксить - телодвижения напоминают кубик Рубика - один раз сплодил успешно (берегу сборку как зеницу ока)..
Примеров масса, все меняется, фиг уследишь :(

Цитата
библиотечку at91lib подключить не получается,

неясно к какой области вопрос - сборка на плате, на х86, стандалон?

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Valentinus
Добавлено 07.02.2010 23:39 Редактировалось 07.02.2010 23:50 Сообщение: 9
Valentinus
4

Пункты: 2138
Регистрация: 23.01.2010
Пол: Мужчина
Цитата
Цитата
создать службу поддержки. пусть даже из одного человека. но чтобы ни один вопрос на форуме не оставался без ответа.

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

ну, вы преувеличиваете- посмотрите- с какой скоростью тут, на форуме задаются вопросы- по нескольку штук в день- вполне реально одному консультанту отвечать. Причем многие вопросы постоянно повторяются- и одному человеку проще давать ссылки на готовые обсуждения этих вопросов, и/или переносить их в wiki.
то что Павел "зашивается" это понятно, и делегировать функции тех.поддержки нужно однозначно. иначе получается как в анекдоте "не успеваем мы спасти одного больного, как тут же не успеваем спасти другого больного..."
Цитата

Цитата
библиотечку at91lib подключить не получается,

неясно к какой области вопрос - сборка на плате, на х86, стандалон?


э-э-э... не совсем понял уточнение. компилю в виртуалке (под Linux), а цель - kit.

но как я писал выше, я уже понял что at91lib для пользования под Linux не предназначена, там адреса регистров прямо заданы числами.

у меня сейчас задача запрограммировать вызов функции через таймер, причем интервал от 15 до 1000мкс.

я пробовал использовать функцию Linux setitimer(), но временную диаграмму еще не смотрел, не уверен, что с ее помощью удастся соблюсти жесткую периодичность. Поэтому и пытался задействовать PIT и AIC.

сейчас попробовал (в Linux) запрограммировать PIT и в AIC назначить соответствующую функцию-обработчик. отобразил адресное пространство регистров управления, записал параметры, адрес функции (по образцу в gettingstarted).
но видимо такой "финт ушами" в Linux не прокатит- видимо эта переферия там задействована ОС (ядром), потому что после запуска сыпятся сообщения:

Код

irq 33320, desc: c02b5d78, depth: 0, count: 0, unhandled: 0
->handle_irq(): c00620b4, handle_bad_irq+0x0/0x258
->chip(): 00000000, __init_begin+0x3fff8000/0x34
->action(): 00000000
irq 33320, desc: c02b5d78, depth: 0, count: 0, unhandled: 0
->handle_irq(): c00620b4, handle_bad_irq+0x0/0x258
->chip(): 00000000, __init_begin+0x3fff8000/0x34
->action(): 00000000
irq 33320, desc: c02b5d78, depth: 0, count: 0, unhandled: 0
->handle_irq(): c00620b4, handle_bad_irq+0x0/0x258
->chip(): 00000000, __init_begin+0x3fff8000/0x34
->action(): 00000000
irq 33320, desc: c02b5d78, depth: 0, count: 0, unhandled: 0
->handle_irq(): c00620b4, handle_bad_irq+0x0/0x258
->chip(): 00000000, __init_begin+0x3fff8000/0x34
->action(): 00000000
irq 33320, desc: c02b5d78, depth: 0, count: 0, unhandled: 0
->handle_irq(): c00620b4, handle_bad_irq+0x0/0x258
->chip(): 00000000, __init_begin+0x3fff8000/0x34
->action(): 00000000
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 08.02.2010 01:34 Редактировалось 08.02.2010 01:59 Сообщение: 10
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата
но как я писал выше, я уже понял что at91lib для пользования под Linux не предназначена, там адреса регистров прямо заданы числами.

у меня сейчас задача запрограммировать вызов функции через таймер, причем интервал от 15 до 1000мкс.

я пробовал использовать функцию Linux setitimer(), но временную диаграмму еще не смотрел, не уверен, что с ее помощью удастся соблюсти жесткую периодичность. Поэтому и пытался задействовать PIT и AIC.

сейчас попробовал (в Linux) запрограммировать PIT и в AIC назначить соответствующую функцию-обработчик. отобразил адресное пространство регистров управления, записал параметры, адрес функции (по образцу в gettingstarted).
но видимо такой "финт ушами" в Linux не прокатит- видимо эта переферия там задействована ОС (ядром), потому что после запуска сыпятся сообщения:


PIT для своих целей нельзя использовать - на нем сделан системный таймер, кроме PIT есть TC0,1,2 - пример как с ними работать есть в at91lib. Библиотека at91lib очень даже полезна как пример кода, естественно без правки его в linux не перенести, то что там регистры константами заданы мало помешает - в linux эти же почти обозначения будут смещениями от базы, есть специальная ф-ция ioremap для ремапа в текущий поток области ввода-вывода. Точных задержек в linux вы никогда не добъетесь - это не rtos, можно поэкспериментировать с таймерами и назначить наивысший приоритет для их прерываний - AIC позволяет разруливать приоритеты аппаратно, но все равно любой поток может отключить прерывания в самый неподходящий момент. Кстати - ф-ция должна вызываться в пространстве ядра или в пространстве пользователя ? а то это сильно разные вещи.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux