Перейти к содержанию
    

Опять необоснованные фобии... :laughing:

 

 

Вообще я бы посоветовал поспорить с пацанами вроде этих - http://beagleboard.org/project/robot+cleaner/

Они то и не знают что dsPIC им совершенно не нужен если есть линукс. Или у них фобия? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по описанию проекта у них мания понапихать всего, чего только возможно в одно устройство, при этом не особо вдаваясь в суть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще я бы посоветовал поспорить с пацанами вроде этих - http://beagleboard.org/project/robot+cleaner

/

А чего спорить с радиолюбителями? Пускай занимаются тем, что умеют, и что приносит им удовольствие. Пихать линукс в каждый утюг глупо. Но и бояться линукса в тех задачах, где ему место точно так же глупо.

Они то и не знают что dsPIC им совершенно не нужен если есть линукс. Или у них фобия? ;)

См выше.

P.S. Есть такой проект: управление станками с ЧПУ, называется "linux-cnc". Там есть требования по реалтайму. Для решения задачи они используют realtime-linux + софт для стандартной убунты. Там танцорам ничего не мешает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чего спорить с радиолюбителями?

Но и бояться линукса ... так же глупо.

 

Есть такой проект: управление станками с ЧПУ, называется "linux-cnc". Там есть требования по реалтайму.

 

Вообще появление слова "бояться" в этом контексте, о многом говорит.

Да, похоже любителям линукса вполне знакомо чувство боязни.

Это постоянный страх, что вот щас сбойнет, а средств и шансов исправить ошибку никаких. :biggrin: (шутка, напрягаться не надо)

 

"linux-cnc" старый, долгоиграющий, по началу сильно глючный (не знаю как сейчас), обросший драйверными платами со своими микроконтроллерами проект.

Приплетать его сюда не стоит. Сколько сил туда угрохано никто не посчитает.

 

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

 

Дайте мне пример такого чисто на линуксе без дополнительных микроконтроллеров.

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прочитал про 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 либо из софта пользователя..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

....

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

 

Дайте мне пример такого чисто на линуксе без дополнительных микроконтроллеров.

Наш диалог вышел за пределы темы топика. Наверное стоит продолжить его в другом разделе форума.

Если придерживаться темы, то Sitara содержит MMU, что позиционирует данный чип для использования полноценных ОС, с разделением ПО на пользовательское и системное (ядерное). При таком подходе трудно из пользовательского контекста получить мгновенную реакцию на внешние события. Очевидно, для гарантии времени реакции (микросекунды) придётся писать модуль ядра. А настройки и управление этого модуля можно осуществлять из ПО верхнего (пользовательского) уровня. В такой парадигме всё равно какая ОС будет использована. Линукс просто дешевле, быстрее в адаптации к вашей плате и удобнее для программирования. Как плюс к линуксу - можно использовать проверенные стеки сети и USB, файловые системы, готовые программы высокого уровня и не изобретать велосипеды (ftp, telnet и т.д.).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да чего вы паретесь то, я вот задолбался считать, сколько в ОМАПе вообще Кортекс ядер. Ну два тех, что все считают просто ядрами. Но там на GPIO тоже кортекс есть, на ДМА по слухам, кортекс, еще на шинах висят.. сколько - не знаб - они не очень раскрываются. А кому надо открытость - делают так http://www.kickstarter.com/projects/435742...ny-single-board

И волки сыты и овцы целы. Мучать Линукс прерываниями имхо столь же неразумно, как и писать веб-сервер на Кортесе М3. Правда соединили они их совершенно странно - по ЮАРТУ =(.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.... Мучать Линукс прерываниями имхо столь же неразумно, как и писать веб-сервер на Кортесе М3. Правда соединили они их совершенно странно - по ЮАРТУ =(.

А как же уарт в линуксе работает. Не через прерывания? :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычно есть нехилое аппаратное ФИФО. Я же не говорю, что прерывания использовать не надо, я к тому, что их частота должна быть сопоставима с частотой работы планировщика задач имхо. Если много чаще - что-то в системе не так. К тому же, если вы про ту плату, на которую я дал ссылку - там же не элементарные команды "открой вентиль такой-то сейчас" идут, а "покрути мне вот тооот моторчик, чтобы было красиво"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потихоньку осваиваю премудрости 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/ , пока еле-еле качается решил поделиться изысканиями на форуме :) Если куда-то гребу не в ту сторону - просьба направить.

Заранее спасибо.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С таким мощным PWM фичами как у AM3359, простой драйвер под линуксом не справится.

Для этого там есть Programmable Real-Time Unit.

Поэтому, думаю, никто и не пытался работать с их PWM через линукс.

 

Неправда, Я делал драйвер для управления подсветкой дисплея через ШИМ. На довольно близком процессоре АМ3715.

Правда я сделал доступ через procfs, но все работало как надо.

 

Периферийное устройство как раз и нужно для того, чтобы не процессор занимался работой, а устройство. Зачастую не критично насколько быстро процессор изменит duty cycle, а это как раз зависит от быстродействия ОС.

 

Не нашел кода драйвера, но еще не везде посмотрел.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока не нашел кода, но вот здесь доступ к таймерам можно посмотреть.

arch/arm/plat-omap/dmtimer.c

 

Обычно есть нехилое аппаратное ФИФО.

 

Оно называется ПДП (DMA) и его надо в драйвере настраивать. Но в кернеле есть множество примеров его настройки и использования.

 

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

 

Изменено пользователем Tarbal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошу простить меня за дикий офтоп, стало интересно что это за МК где вы запускаете Linux.

Нагуглил что только процессорный модуль с AM3359 + RAM + Nand flash стоит почти 5000р. в розницу http://www.terraelectronica.ru/news_postup...CFXR7cAodThoAPg . Посему вопрос, а где такое чудо с такой ценой будет выгодно использовать? Явно не поморгать светодиодом, за такую цену нужно как минимум в космический спутник этот чип ставить :)

 

Хотя если это http://www.ebay.com/itm/Beaglebone-Black-/...=item20d49cbfe4 тоже оно, то мне самому уже интересно с таким поэкспереметнировать.

Изменено пользователем flopix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошу простить меня за дикий офтоп, стало интересно что это за МК где вы запускаете Linux.

Нагуглил что только процессорный модуль с AM3359 + RAM + Nand flash стоит почти 5000р. в розницу http://www.terraelectronica.ru/news_postup...CFXR7cAodThoAPg . Посему вопрос, а где такое чудо с такой ценой будет выгодно использовать? Явно не поморгать светодиодом, за такую цену нужно как минимум в космический спутник этот чип ставить :)

 

Хотя если это http://www.ebay.com/itm/Beaglebone-Black-/...=item20d49cbfe4 тоже оно, то мне самому уже интересно с таким поэкспереметнировать.

 

 

http://www.raspberrypi.org/ ~$35

http://en.wikipedia.org/wiki/Raspberry_Pi

 

Begleboard ~$150

Beaglebone ~$150

iMX53 Quick Start Board ~$150

Изменено пользователем Tarbal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Beaglebone ~$150

Любопытно. Обычно к таким "дровишкам" прилагают сцылку на источник.

 

Тем паче, что $40 плата на ситаре обсуждается куда ближе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...