Linux на F4 и F7

Стивестронг
Ср 14 ноября 2018 г. 14:07
https: // elinux.org/stm32

Кто -нибудь пробовал?

AG123
Ср 14 ноября 2018 г., 17:42
Нет, не пробовал ни один из них, они могут основываться на uclinux, я предполагаю
http: // www.Uclinux.орг/

Racemaniac
Ср 14 ноября 2018 г. 18:00
Что будет использовать это сделать? Если вы идете полной ОС & Linux, почему бы не сразу же пойти Raspberry Pi

fpistm
Ср 14 ноября 2018 г., 19:25
Несколько лет назад я внес свой вклад (часть ядра).
Не знаю точного статуса сейчас.
Еще одна "ОС", которую вы можете проверить https: // www.ZephyrProject.орг/
которые поддерживают несколько арки, включая некоторые STM32:
https: // docs.ZephyrProject.орг/последний/b ... индекс.HTML
И этот ;)
https: // docs.ZephyrProject.орг/последний/b ... n_dev.HTML

Mrburnette
Ср 14 ноября 2018 г., 21:25
[Racemaniac - Ср 14 ноября 2018 г. 18:00] - Что будет использовать это сделать? Если вы идете полной ОС & Linux, почему бы не сразу же пойти Raspberry Pi
В этом мире есть люди, у которых есть удивительное время на руках: я не один, но я в восторге от того, что можно сделать, если кто -то достаточно упрям ​​(с некоторым творчеством тоже.) Я думаю, что это круто.

Это, безусловно, только один из них, «просто потому, что он может вещи..."

Но там «может» быть реальным использованием для такого кода - никто не всегда хочет запустить полную ОС. Микроконтроллеры ST сами по себе являются мощными подразделениями, поэтому наличие встроенной ОС может быть (может быть) полезно для многих проектов.

Луча

C_D
Чт, 06 декабря 2018 г. 18:19
Пример, который приходит на ум, - это сетевые маршрутизаторы и другое сетевое оборудование с помощью Ultra Slim Linux ОС, как OpenWRT (или как его называют сейчас). Это приложение, которое значительно получает выгоду от всех сетевых/USB/удаленных консольных материалов, которые вы получаете с ядром Linux, работая на аппаратном обеспечении с частью сложности и стоимости Raspberry Pi или эквивалента.

Очевидно, что если вы находитесь на хобби или небольшом громкости спектра, вам, вероятно, намного лучше использовать более дорогое оборудование и сэкономить себе время времени, но я уверен Подходит для преимуществ затрат/пространства/энергопотребления.

Mrburnette
Пт, 07 декабря 2018 г., 1:51
[C_D - Чт, 6 декабря 2018 г. 18:19] - ... с частью сложности и стоимости малинового пи или эквивалентного.

Очевидно, что если вы находитесь на хобби или небольшом громкости спектра, вам, вероятно, намного лучше использовать более дорогое оборудование и сэкономить себе время времени, но я уверен Подходит для преимуществ затрат/пространства/энергопотребления.
Здесь, в Атланте, RPI_ZERO-W регулярно доступен для 5 долларов и RPI_3B за 29 долларов.99
Во многих обстоятельствах Zero-W-это все, что необходимо для встроенной системы высокого класса, где вводный/вывод почти не предназначен для приложения. Конечно, RT ядра, доступные для минимизации задержки.

Я довольно много работал с RPI за последний год и нахожу эту систему Linux очень способной. За 5 долларов они всего 2.5 раз больше цены на таблетки, но мастерство доски значительно лучше. Программирование в C очень простое, как и доступ к линиям ввода/вывода.


Луча

AG123
Пт, 07 декабря 2018 г., 21:24
Отсутствие MMU затрудняет запуск «правильного» Linux на STM32 F4 и F7, тем не менее, я думаю, что есть нишевые варианты использования
Но, учитывая, что PI (и клоны) не стоят дороже и часто сопровождается как минимум сотни мег оперативной памяти, а различные - много основные, если просто хотят Linux, и вещи в значительной степени работают в оперативной памяти, это, вероятно, просто проще Использование досок Pi* или даже Beagle* Boards

Я думаю, что у Beagle Bone Black есть ADC, я думаю, что это примерно 8 или 10 бит, хотя.
успехи интенсивных задач IO на досках Pi* против MCU (E.глин. STM32 FX платы) варьируется.

Большая часть прошивки 3D -печати E.глин. Марлин основан на обычных MCU
http: // marlinfw.орг/
Самая успешная 3D-печать «прошивка» на чипах Cortex-A Я думаю, что Beagle Bone Black + Replicape
https: // www.попринтрировать.ком/
Оригинальный дизайн PI просто слишком лишен для этой цели
и что Beagle Bone Black основан на Ti A335X
https: // beaggleboard.орг/черный
у которого есть специальный соавтор (PRU), который занимается интенсивными задачами в реальном времени

Pi*, кажется, слишком лишен, чтобы иметь дело с интенсивными задачами в реальном времени, такими как 3D -печать
Во -первых, Pi* Original Connector составляет 40 контактов с 8 штифтами, идущими на землю

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

Mrburnette
Сб 08 декабря 2018 г. 1:15 утра
[AG123 - Пт, 07 декабря 2018 г. 9:24 вечера] - ...
Проблема с IO заключается в том, что иногда вы попадаете в петлю и опрашиваете дюжину ввода в тесном цикле, чтобы отреагировать на фактические изменения и поддерживать состояние в соответствии с реальной средой. Многозадачная ОС и процессоры часто просто берут свободу для контекста
К сожалению, вы правы.

Но это потому, что разработчик программного обеспечения, избранного архитектором, с использованием опроса. До того, как UC станут настолько быстрыми, что опросы по многочисленным входным данным не было бы возможно с использованием хост -процессора - пользовательская логика обработала бы многочисленные входные сигналы, и процессор получил бы NMI, чтобы отреагировать.

Опрос возможна, потому что нынешние UC быстро. Обученные Arduino, обученные разработчикам, внушаются в опроса из -за структуры по умолчанию Loop (). Классически обученный инженер -программист, скорее всего, по -разному подходит к этой проблеме; Возможно, используя FPLA или логику внешнего клея.

Я часто говорю о «бюджете на дизайн», который подразумевает, что программист понимает использование ресурсов приложений: как в цикле ЦП, так и в SRAM и профилировании Flash. Большую часть времени все, что я вижу, - это пустой взгляд от моей аудитории - как будто они никогда не задумывались о таких опасениях. К сожалению, программисты часто думают, что их работа просто программирование... решить проблему. Часто такая наивность создает серьезные проблемы, когда развивающее программное обеспечение и выбранное оборудование не работают правильно из-за некоторых непредвиденных ограничений.

Программный дизайн более сложный, чем написание кода; Он пишет код, чтобы позволить выбранному аппаратному обеспечению правильно выполнять (таким образом) для обеспечения желаемой функциональности в закрытой системе. Программирование с открытой системой-это совершенно другой предмет.


Луча

Добавлен: https: // www.PCMAG.com/энциклопедия/термин ... SED-System (Закрытая) система, в которой спецификации хранятся в секрете, чтобы предотвратить помехи от третьих лиц. Он препятствует установке стороннего программного обеспечения; Он не дает сторонним оборудованию взаимодействовать с ним, и предотвращает улучшение усовершенствований сторонних улучшений продукта. Контрастировать с открытой системой.

AG123
SAT 08 декабря 2018 г., 7:05
Я не знаком с FPGA, CLPD и т. Д
Но если этот проект является руководством
ViewTopic.PHP?f = 30&P = 51187
https: // www.STM32duino.com/viewtopic.PHP?f = 30&t = 2716

Один из тех способов, которыми платы Cortex-A * могут справиться с гандикапом IO,-это использовать FPGA, CLPD в качестве расширения IO
https: // www.Intel.com/content/www/us/en ... 05644.HTML
Я не слишком уверен, какой у FPGA или CLPD есть встроенный ADC, DAC, хотя.
Эта разработка может отражать обычную Intel*, например, дизайн процессора, где у вас есть «северный мост» с высокоскоростной шиной данных, в наши дни они часто находятся в Гбит / с и «южный мост» для «медленного» IO
Я думаю, что даже если FPGA и CLPD со встроенным ADC, блоки DAC существуют, сегодня они, вероятно, дороги из-за низких показателей производства
И я думаю, что «общий взлом» состоит в том, чтобы использовать «медленную» MCU, как Cortex-M с комплексным ADC, DAC, чтобы связаться с Cortex-A для выполнения интенсивных задач IO (что злоупотребление корой-м) : P :ржу не могу:

Я видел некоторые статьи о FPGA в сочетании с быстрыми параллельными АДС достигают этих ошеломляющих показателей дискретизации > 1 г образцов за секунду
Это остается для меня «мечтой», но я думаю, что это, вероятно, так же, как быстро осциллографы
FPGA и быстрые ADC стоят дорого, и я сомневаюсь, что смогу справиться с показателями сигналов хорошо, как любитель,
Прикосновение пальца может, вероятно, емко «коротко» сигналы на земле с этих скоростями
Мой «самый быстрый» «Getto» осциллограк-это ядро ​​STM32 F303, которое способно сказать, что около 18-20 MSPS Quad Interleased
Я еще предстоит сделать эту «проектную» работу для себя, но это, безусловно, низкая стоимость и довольно полезно в качестве стенда в осциллографе против нет
---------
Опрос:
Опрос, к сожалению, возможно, «дешевый (EST) & Грязный способ сделать многие из IO в наши дни, хотя, особенно при работе с * аналоговыми * вещами
Раньше это был Op Amp / Caps и т. Д. В качестве фильтров, в наши дни казалось, что причуда просто образец (ADC)
Сделайте FIR -фильтр, и там вы получаете свой сигнал, без аппаратного обеспечения
:ржу не могу:

С точки зрения опроса я использовал цикл событий, чтобы выполнить «асинхронные» задачи, которые нечувствительны к времени E.глин. «кооперативная многозадачность», как мигать, и делать что-то еще
ViewTopic.PHP?F = 18&T = 4299
и используйте таймер для «реального времени», который, по -видимому, довольно хорошо работает на STM32, но это ограничено тем, как быстро прерывает таймер и АДК, это ставит некоторые, я думаю, что довольно низкие верхние пределы на скоростях дискретизации с этот подход
Хорошая вещь в STM32 - это «наполнен таковами», многие из них
:ржу не могу:

Squonk42
Сб 08 декабря 2018 г. 14:21
Чтобы ответить на оригинальный пост: нет, я не знаю, и я не думаю, что это хорошая идея, чтобы провести свое время на запуск ОС, такой как Linux на процессоре без MMU.

Я сделал это 10 лет назад, и я вообще не рекомендую это: полная трата ресурсов для приложений низкого уровня и/или в реальном времени, портирование применения с использованием fork () невозможно (i.эн. Почти все из них), и проблемы трудно определить из -за отсутствия изоляции между процессами.

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

На этот момент, и из моего 38-летнего опыта в области разработки программного обеспечения/оборудования я полностью согласен с этими 2 сообщениями от Ray:
ViewTopic.PHP?f = 13&T = 4366&P = 51179#P51179
ViewTopic.PHP?f = 13&T = 4366&P = 51179#P51189
Это не желание вырвать каждый цикл из UC. Скорее цель состоит в том, чтобы создать функционирующее программное обеспечение для выполнения требований требований. Я считаю, что это помогает написать требования на бумаге и часто ссылаться на цель. Я бы просто исправил это: «Объедините функционирующее программное обеспечение и аппаратное обеспечение для выполнения требований требований, с самым ограниченным бюджетом и властью».

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

С чисто теоретической точки зрения, машина Moore/Mealy State намного проще, чем немного более сложный автомат с толканием (используйте только при необходимости) или полноценной программы спагетти, чем можно смоделировать только с помощью универсального Tringing машина и, таким образом, может быть полностью подтверждена.

И, кстати, протототчики намного легче чем потоки или задачи Posix.