|
|
  |
Sitara + Linux, Тупик |
|
|
|
Jun 11 2013, 15:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(AlexandrY @ Jun 11 2013, 18:14)  Вообще я бы посоветовал поспорить с пацанами вроде этих - http://beagleboard.org/project/robot+cleaner /А чего спорить с радиолюбителями? Пускай занимаются тем, что умеют, и что приносит им удовольствие. Пихать линукс в каждый утюг глупо. Но и бояться линукса в тех задачах, где ему место точно так же глупо. Цитата Они то и не знают что dsPIC им совершенно не нужен если есть линукс. Или у них фобия?  См выше. P.S. Есть такой проект: управление станками с ЧПУ, называется "linux-cnc". Там есть требования по реалтайму. Для решения задачи они используют realtime-linux + софт для стандартной убунты. Там танцорам ничего не мешает.
|
|
|
|
|
Jun 12 2013, 08:02
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Petka @ Jun 11 2013, 18:22)  А чего спорить с радиолюбителями? Но и бояться линукса ... так же глупо.
Есть такой проект: управление станками с ЧПУ, называется "linux-cnc". Там есть требования по реалтайму. Вообще появление слова "бояться" в этом контексте, о многом говорит. Да, похоже любителям линукса вполне знакомо чувство боязни. Это постоянный страх, что вот щас сбойнет, а средств и шансов исправить ошибку никаких.  (шутка, напрягаться не надо) "linux-cnc" старый, долгоиграющий, по началу сильно глючный (не знаю как сейчас), обросший драйверными платами со своими микроконтроллерами проект. Приплетать его сюда не стоит. Сколько сил туда угрохано никто не посчитает. Мы же говорим о минимизации усилий в быстрых, малобюджетных и надежных проектах с интенсивным использованием специализированной периферии микроконтроллера в реальном времени с циклами в десятки микросекунд. Дайте мне пример такого чисто на линуксе без дополнительных микроконтроллеров.
|
|
|
|
|
Jun 12 2013, 09:46
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(Муравей @ Jun 5 2013, 17:34)  Прочитал про sysfs, понял , что в ней есть драйвера для нужного мне PWM, но в инете не смог найти примеров как к этим драйверам обратиться на C. Ткните носом в ссылку плз или расскажите в двух словах. строка для гугля например "beaglebone pwm example" техасское твики для юзерспейса: http://processors.wiki.ti.com/index.php/AM...ver's_Guideдля поднятия pwm в ядре посмотрите содержимое файла борды, там все давно прописано.. если в "двух словах", то в конфиге ядра включаете/проверяете поддержку pwm. потом в файле платы в ветке инита периферии BB(ver>A3) прописываете вызов инита pwm, который интит нужный пин АРМа в заданный режим и регистрирует pwm в ядре.. тут важно понять соответствие физического пина и канала pwm - расписано в UG.. результатом хлопот будет появление ветки pwm в sysfs далее стандартная работа, либо через echo либо из софта пользователя..
|
|
|
|
|
Jun 12 2013, 17:42
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(AlexandrY @ Jun 12 2013, 12:02)  .... Мы же говорим о минимизации усилий в быстрых, малобюджетных и надежных проектах с интенсивным использованием специализированной периферии микроконтроллера в реальном времени с циклами в десятки микросекунд.
Дайте мне пример такого чисто на линуксе без дополнительных микроконтроллеров. Наш диалог вышел за пределы темы топика. Наверное стоит продолжить его в другом разделе форума. Если придерживаться темы, то Sitara содержит MMU, что позиционирует данный чип для использования полноценных ОС, с разделением ПО на пользовательское и системное (ядерное). При таком подходе трудно из пользовательского контекста получить мгновенную реакцию на внешние события. Очевидно, для гарантии времени реакции (микросекунды) придётся писать модуль ядра. А настройки и управление этого модуля можно осуществлять из ПО верхнего (пользовательского) уровня. В такой парадигме всё равно какая ОС будет использована. Линукс просто дешевле, быстрее в адаптации к вашей плате и удобнее для программирования. Как плюс к линуксу - можно использовать проверенные стеки сети и USB, файловые системы, готовые программы высокого уровня и не изобретать велосипеды (ftp, telnet и т.д.).
|
|
|
|
|
Jun 26 2013, 12:31
|

Участник

Группа: Участник
Сообщений: 52
Регистрация: 30-11-11
Пользователь №: 68 593

|
Потихоньку осваиваю премудрости embedded linux вообще и в частности на beaglebone. Нужно повесить на MsASP несколько слэйвов в режиме TDM. Я так понимаю, что для этого нужно писать свой модуль ядра. Почитав про модули .ko и способы их линковки вроде стало ясно, что они линкуются при наличии исходников ядра , так как потом работают в одном адресном пространстве с ядром. При первой попытке скомпилить тестовый модуль получил при загрузке сообщение типа неверный формат модуля. Ну ладно думаю, скорее всего ядро в образе не совпадает с исходниками в тулчейне ti-sdk-05.07.00.00... Начал пересобирать ядро, с ним и u-boot на всякий случай. Вообще сделал новый образ SD карты :) Всё вроде после долгих попыток даже стартануло, плата отвечает по minicom и по ssh, но ... пропали используемые мной PWM из /sys/class/pwm ! В конфиге ядра указываю что нужно разрешить PWM. Перерыв половину инета понял, что в некоторых версиях линуха эта опция не поддержана, скачал предыдущую версию с ядром 3.2.0 - аналогично. Сейчас пробую поставить тулчейн по инструкции http://beagleboard.org/linux/ , пока еле-еле качается решил поделиться изысканиями на форуме :) Если куда-то гребу не в ту сторону - просьба направить. Заранее спасибо.
|
|
|
|
|
Aug 22 2013, 19:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(AlexandrY @ Jun 6 2013, 13:08)  С таким мощным PWM фичами как у AM3359, простой драйвер под линуксом не справится. Для этого там есть Programmable Real-Time Unit. Поэтому, думаю, никто и не пытался работать с их PWM через линукс. Неправда, Я делал драйвер для управления подсветкой дисплея через ШИМ. На довольно близком процессоре АМ3715. Правда я сделал доступ через procfs, но все работало как надо. Периферийное устройство как раз и нужно для того, чтобы не процессор занимался работой, а устройство. Зачастую не критично насколько быстро процессор изменит duty cycle, а это как раз зависит от быстродействия ОС. Не нашел кода драйвера, но еще не везде посмотрел.
|
|
|
|
|
Aug 23 2013, 03:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Пока не нашел кода, но вот здесь доступ к таймерам можно посмотреть. arch/arm/plat-omap/dmtimer.c Цитата(DASM @ Jun 13 2013, 10:55)  Обычно есть нехилое аппаратное ФИФО. Оно называется ПДП (DMA) и его надо в драйвере настраивать. Но в кернеле есть множество примеров его настройки и использования. Что касается прерываний, я не вижу необходимости быстро реагировать, хотя и прервания несложно подключить.
Сообщение отредактировал Tarbal - Aug 23 2013, 03:18
|
|
|
|
|
Aug 23 2013, 04:11
|

Частый гость
 
Группа: Участник
Сообщений: 105
Регистрация: 21-06-12
Пользователь №: 72 429

|
Прошу простить меня за дикий офтоп, стало интересно что это за МК где вы запускаете Linux. Нагуглил что только процессорный модуль с AM3359 + RAM + Nand flash стоит почти 5000р. в розницу http://www.terraelectronica.ru/news_postup...CFXR7cAodThoAPg . Посему вопрос, а где такое чудо с такой ценой будет выгодно использовать? Явно не поморгать светодиодом, за такую цену нужно как минимум в космический спутник этот чип ставить  Хотя если это http://www.ebay.com/itm/Beaglebone-Black-/...=item20d49cbfe4 тоже оно, то мне самому уже интересно с таким поэкспереметнировать.
Сообщение отредактировал flopix - Aug 23 2013, 04:18
|
|
|
|
|
Sep 2 2013, 09:13
|

Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594

|
Цитата(Tarbal @ Aug 23 2013, 18:29)  Beaglebone ~$150 Любопытно. Обычно к таким "дровишкам" прилагают сцылку на источник. Тем паче, что $40 плата на ситаре обсуждается куда ближе.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|