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

SLIP в Linux: простой обмен между устройствами

35 minutes ago, mantech said:

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

В том и дело, что вот тут вообще не нужно ни объяснять. ни даже знать вашим клиентам ничего не надо. Ознакомьтесь с пакетами и управлением пакетами. Но если ваши клиенты сидят под виндой, то, конечно, им нужно ПО для работы с виндой. Тут опять же несколько путей - фронтенд на html и браузер, второй путь - кросс-компиляция, третья - нативная разработка под виндой. Пока не нужна поддержка с айпадиков, ведройдиков, и прочего - последний путь приемлем. Но он не является лучшим.

 

39 minutes ago, mantech said:

Так-то это очень узкая ниша со своей спецификой, я честно говоря, вообще не видал живьем отечественные МК или СОКи, и скорее всего это еще долго не представится, поэтому что там за ПО для них - без понятия...

То же самое, что и для иностранных. Основа подо всем этим - gcc/armcc/icc; отладчик - gdb; интерфейс - чаще всего openOCD. Часто это всё жёстко патчится под свои МК, иногда с апстримом (в случае ST и близких к ним) или без апстрима (в случае, например, NXP).
Я про ПО, которое поставляется для пользователей.

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


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

21 минуту назад, one_eight_seven сказал:

То же самое, что и для иностранных. Основа подо всем этим - gcc/armcc/icc; отладчик - gdb; интерфейс - чаще всего openOCD.

Да вот видимо не то же... Про свой путь освоения МК скажу так, если б мне тогда сказали, что для того, чтобы написать "Hello World" мне нужно было настроить и освоить " gcc/armcc/icc; gdb; openOCD." я бы никогда не стал заниматься МК, а ушел бы в нишу вебкодеров. Благо в то время был IAR, на всю его установку и освоение ушло 2 дня по паре часов в день. Т.е. либо эти МК будут осваивать только "продвинутые" спецы, либо "из под палки", остальным привычнее будет то, что поддержано IAR, Keil и т.д. ИМХО, разумеется.

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


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

1 minute ago, mantech said:

Да вот видимо не то же...

Как вы выборочно читаете...
Я говорю то, что знаю. Основа подо всем этим одна и та же. Вопрос в том, что кто-то придаёт значение тому, что нужно это всё окуклить под каким-нибудь эклипсом, а кто-то ленится это делать. И у иностранцев тоже.

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


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

4 hours ago, Arlleex said:

Только ЗП у меня от этого не поменяется. Так что нахрен надо.

А ничего, что под линуксом программировать на пару порядков проще, чем под вантузом?

3 hours ago, mantech said:

Нет никакого желания становится маньяком командной строки

Сочувствую. Но все-таки надеюсь, что до лоботомии не дойдет!

1 hour ago, mantech said:

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

Батенька, это же бред из разряда "назло мамке отморожу уши"!!!

 

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

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

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


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

7 минут назад, Eddy_Em сказал:

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

К сожалению, по таким заявлениям очень просто навесить на Вас ярлык того самого сектанта:spiteful:

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

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


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

1 час назад, Arlleex сказал:

Все симптомы - пена у рта и красные глаза,

"Белая горячка - типичный случай" (с) :biggrin:

2 часа назад, one_eight_seven сказал:

Как вы выборочно читаете...

NXP, ST, Cypress ... Все имеют поддержку профессиональных сред разработки или я что-то упускаю?

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

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


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

24 minutes ago, mantech said:

NXP, ST, Cypress ... Все имеют поддержку профессиональных сред разработки или я что-то упускаю?

Конечно. Берут eclipse, делают свои плагины и вот тебе уже профессиональная среда.

А заодно и четверг с пятницей. :)

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


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

On 2/22/2020 at 4:27 PM, Arlleex said:

По первым ссылкам гугла я уже ездил и там речь только о работе с сетевыми сокетами. А оно мне нафиг не нужно. Мне куда проще надо.

а что еще проще сокетов бывает ?  попробуйте создать raw socket и забиндить его на SLIP интерфейс который появляется после slattach (sl0) чтобы получать/отправлять сырые данные. Вот тут есть примеры для изернета

http://www.microhowto.info/howto/capture_ethernet_frames_using_an_af_packet_socket_in_c.html

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


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

10 минут назад, sasamy сказал:

а что еще проще сокетов бывает ?  попробуйте создать raw socket и забиндить его на SLIP интерфейс который появляется после slattach (sl0) чтобы получать/отправлять сырые данные. Вот тут есть примеры для изернета

http://www.microhowto.info/howto/capture_ethernet_frames_using_an_af_packet_socket_in_c.html

Сырые данные, это именно сырые данные или IP over SLIP? Raw socket и raw data - вещи ортогонально разные...

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


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

5 minutes ago, Arlleex said:

Сырые данные, это именно сырые данные или IP over SLIP?

сырые данные это буфер который принимает драйвер в ядре - пофиг что там IP или нет, к вам этот буфер попадет минуя сетевой стек ядра, У вас же не IP вот и делайте с ним что хотите - судя по коду драйвер сразу выпиливает из буфера ESC последовательности и добавляет при отправке

https://elixir.bootlin.com/linux/v5.5.6/source/drivers/net/slip/slip.c#L711

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


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

6 минут назад, sasamy сказал:

сырые данные это буфер который принимает драйвер в ядре - пофиг что там IP или нет...

Ладно, будут лаги в самописном - всучу ему эту ссыль, пусть разбирается. Спасибо.

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


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

3 hours ago, Arlleex said:

Ладно, будут лаги в самописном

гы, а зачем вы тогда тему создавали ? raw socket даст ровно то что вы спрашивали в самом начале - данные после фреймера SLIP и возможность обернуть произвольный буфер в фрейм SLIP, сомневаюсь что в винде есть что-то подобное готовое - Linux на голову выше винды и гибче.

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


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

7 minutes ago, AHTOXA said:

У него же по UART данные ходят. А от SLIP только фрейминг.

а какая разница ? после slattach появится сетевой интерфейс sl0 - для него конечно будут особенности, надо пробовать, но в остальном интерфейс системы одинаковый для всех утсройств - ppp, slip, wlan, eth. Драйвер slip в ядре и есть только фреймер - он заполняет буфер skb декапсулированными данными, помечает что в буфере IP фрейм и отсылает в сетевой стек, когда вы получите этот буфер в неизменном виде - плевать что там доллжен быть IP фрейм - делайте с ним что вам нужно.

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

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


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

1 час назад, sasamy сказал:

гы, а зачем вы тогда тему создавали?

Потому что к текущему моменту уже написали (вроде как) самописный парсер SLIP.

Как он будет работать утверждать не ручаюсь, поэтому если будут баги, то пусть товарищ копает в сторону готовой реализации, которую предоставили Вы.

 

54 минуты назад, sasamy сказал:

Драйвер slip в ядре и есть только фреймер - он заполняет буфер skb декапсулированными данными, помечает что в буфере IP фрейм и отсылает в сетевой стек, когда вы получите этот буфер в неизменном виде - плевать что там доллжен быть IP фрейм - делайте с ним что вам нужно.

Вот тут, если можно, подробнее.

Допустим, моя железка отправляет фрейм "C0 12 34 56 78 C0".

Какой путь проделает этот фрейм от входа UART на Linux-борде до получения буфера с данными "12 34 56 78" в линушном приложении?

И наоборот: допустим, хочу отправить с Linux-машины данные "00 AB CD EF" на свой девайс.

Какой путь проделают эти данные до инкапсуляции в кадр "C0 00 AB CD EF C0" и вывода его на лапку Tx UART-модуля этой самой Linux-борды?

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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