The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Компания ARM открыла исходные тексты встраиваемой операционн..., opennews (??), 09-Сен-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


12. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 09-Сен-15, 09:14 
> Жду опять уникума, который будет говорить, что кроме AVR и PIC ничего больше не надо.

Этому «уникому» достаточно будет просто взглянуть на характеристики ARM-овых железок и на их цены, IMHO.

> А так, отличная новость, только среда разработки, точнее вся инфраструктура mbed.com на мой взгляд несколько неполноценная.

А вы пользуетесь этим mbed? Я вот пробовал — тоже не понравилось. Да и по сути меня в mbed интересует лишь база библиотек. Не пробовали их использовать без их online IDE?

И какие железки вы используете?

Ответить | Правка | Наверх | Cообщить модератору

27. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xenia Joness (ok), 09-Сен-15, 14:31 
> Этому «уникому» достаточно будет просто взглянуть на характеристики ARM-овых
> железок и на их цены, IMHO.

да, STM32 и LPC нынче рвут всех, как и радиолюбительстве, так и в промышленном применении. Хотя насчёт последнего, то очень часто вижу там процы от Renesas.

> А вы пользуетесь этим mbed? Я вот пробовал — тоже не понравилось.
> Да и по сути меня в mbed интересует лишь база библиотек.
> Не пробовали их использовать без их online IDE?

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

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

> И какие железки вы используете?

Обычно это STM32, ещё немного использую отечественные, от Миландра (также на Cortex-M)

Ответить | Правка | Наверх | Cообщить модератору

30. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 09-Сен-15, 15:51 
>> Этому «уникому» достаточно будет просто взглянуть на характеристики ARM-овых
>> железок и на их цены, IMHO.
> да, STM32 и LPC нынче рвут всех, как и радиолюбительстве, так и
> в промышленном применении. Хотя насчёт последнего, то очень часто вижу там
> процы от Renesas.

Ну да, мы тоже любим STM32, но LPC не пробовали. STM32 более чем хватает, вроде.

>> А вы пользуетесь этим mbed? Я вот пробовал — тоже не понравилось.
>> Да и по сути меня в mbed интересует лишь база библиотек.
>> Не пробовали их использовать без их online IDE?
> mbed - с моей точки зрения, это "как научиться программировать микроконроллеры дегенерату",
> и аудитория такая же, как и ардуино.

Такого же мнения.

> А библиотеками без этой чудной онлайн среды не пользовалась, да и не
> собираюсь.

Просто там есть поддержка out-of-box всякой экзотической переферии вроде Wiznet5500, что когда-нибудь может и понадобиться.

Если их код когда-нибудь можно будет начать использовать в проектах, получаемых из STM32CubeMX, то, IMHO, было бы здорово. Вы, кстати, пустой проект в чём создаёте? Или совсем ручками? :)

> Стандартная библиотека периферии позволяет делать тоже самое, и так же
> быстро.

Мне кажется, что в mbed есть огромное количество того, что нет в стандартной библиотеке. Просто сам проект (mbed) ориентирован на постоянный upload библиотек со стороны комьюнити.

>> И какие железки вы используете?
> Обычно это STM32, ещё немного использую отечественные, от Миландра (также на Cortex-M)

Понятно. Эти Миландры оказались очень дорогими (совершенно неподъёмные цены для нас). Мы — всего лишь маленький IT-шный отдельчик при институте :)

Ответить | Правка | Наверх | Cообщить модератору

37. "Компания ARM открыла исходные тексты встраиваемой операционн..."  –1 +/
Сообщение от Xenia Joness (ok), 09-Сен-15, 17:28 
> Ну да, мы тоже любим STM32, но LPC не пробовали. STM32 более
> чем хватает, вроде.

LPC более производительные по сравнению с STM32, вот довольно интересное сравнение http://www.russianelectronics.ru/developer-r/review/2192/doc.../

процы от Renesas более энергоэффективны, в итоге STM32 - золотая середина :)

> Вы, кстати, пустой проект в чём создаёте? Или совсем ручками? :)

Eclipse + OpenOCD + ARM-плагин.
Я не совсем задротка, чтобы чисто ручками всякие штуки, типа makefile писать :)

> Мне кажется, что в mbed есть огромное количество того, что нет в
> стандартной библиотеке. Просто сам проект (mbed) ориентирован на постоянный upload библиотек
> со стороны комьюнити.

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

> Понятно. Эти Миландры оказались очень дорогими (совершенно неподъёмные цены для нас). Мы
> — всего лишь маленький IT-шный отдельчик при институте :)

если в металлокерамике, то да. А так, у них есть ещё и в пластике, для гражданки, например 1986ВЕ92 (Cortex-M3, 80 МГц, в LQFP-64), по цене около 200 руб/шт., есть ещё варианты, вроде как 1986ВЕ1Т (Cortex-M1, 144 МГц), вообщем что-то у них есть:)
Но в целом, миландровские процы, это содранные STM32, что они и не отрицают (для 1986ВЕ91 был прототипом STM32F103)
Причём багов в них довольно много, и медленная периферия. Одним словом отечественный производитель :)

Ответить | Правка | Наверх | Cообщить модератору

38. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 09-Сен-15, 17:57 
>> Ну да, мы тоже любим STM32, но LPC не пробовали. STM32 более
>> чем хватает, вроде.
> LPC более производительные по сравнению с STM32, вот довольно интересное сравнение http://www.russianelectronics.ru/developer-r/review/2192/doc.../
> процы от Renesas более энергоэффективны, в итоге STM32 - золотая середина :)

Хм, любопытно.

>> Вы, кстати, пустой проект в чём создаёте? Или совсем ручками? :)
> Eclipse + OpenOCD + ARM-плагин.
> Я не совсем задротка, чтобы чисто ручками всякие штуки, типа makefile писать
> :)

Ну, я так вообще не embedd-овщик :), вот и любопытно как с этим работают люди, которые как-то более опытны.

>> Мне кажется, что в mbed есть огромное количество того, что нет в
>> стандартной библиотеке. Просто сам проект (mbed) ориентирован на постоянный upload библиотек
>> со стороны комьюнити.
> ну если есть возможность дёргать исходные тексты этих библиотек, то это отлично,
> просто сама так и не проверяла.
> Ну а так, то у каждого эмбедерра есть свой набор написанных велосипедов,
> и использовать чужой код не всегда проще, чем написать свой.

Это понятно, но это не правильно. В каком-то смысле mbed делает правильную вещь — заставляет пользователей upload-ить свои труды, чтобы они там накопили какую-то базу удачных библиотек (out of box и best practice одним выстрелом), чтобы избегать велосипедизма. Но реализация идеи просто отвратительная на мой взгляд.

>> Понятно. Эти Миландры оказались очень дорогими (совершенно неподъёмные цены для нас). Мы
>> — всего лишь маленький IT-шный отдельчик при институте :)
> если в металлокерамике, то да. А так, у них есть ещё и
> в пластике, для гражданки, например 1986ВЕ92 (Cortex-M3, 80 МГц, в LQFP-64),
> по цене около 200 руб/шт., есть ещё варианты, вроде как 1986ВЕ1Т
> (Cortex-M1, 144 МГц), вообщем что-то у них есть:)
> Но в целом, миландровские процы, это содранные STM32, что они и не
> отрицают (для 1986ВЕ91 был прототипом STM32F103)
> Причём багов в них довольно много, и медленная периферия. Одним словом отечественный
> производитель :)

Хм-м… Нам для некоторых задач и одного мегагерца будет много. А вот бажность — это действительно очень плохо. А можно пример бага для понимания о чём речь?

И ещё вопрос, не подскажите где можно их (1986ВЕ92/1986ВЕ1Т) найти в свободной продаже? Видать мои гуглонавыки слишком хреновы (как-то быстро не ищется). Продаются лишь навороченные developer board, но стоят они… много…

Ответить | Правка | Наверх | Cообщить модератору

46. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Ytch (ok), 10-Сен-15, 00:02 
> А можно пример бага для понимания о чём речь?

Вас интересуют именно Миландровские баги или вообще баги в чипах? За первые не скажу, не в курсе, а так в чипах (особенно в сложных чипах первых ревизий) их ещё как есть. Выглядят примерно так (выдуманный пример, но по мотивам реальных событий):
при принудительном сбросе второго таймера при включенном на запись канале DMA3 происходит сбой в конвейере, что может привести к пропуску выполнения команды, следующей за командой записи в регистр таймера. Рекомендуемый workaround - добавлять две команды NOP непосредственно после команды записи в регистр таймера. Устранено в ревизиях чипа, начиная с 3.
Некоторые учитываются прямо компилятором и программисту мозг не парят. Некоторые пострашней примера (не такие вычурные условия для воспроизведения да и посложней workaround'ы, если вообще есть).

Ответить | Правка | Наверх | Cообщить модератору

61. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 10-Сен-15, 06:59 
>> А можно пример бага для понимания о чём речь?
> Вас интересуют именно Миландровские баги или вообще баги в чипах?

Миландровские.

Ответить | Правка | Наверх | Cообщить модератору

68. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от burjui (ok), 10-Сен-15, 15:40 
Как-то читал errata на какой-то их Cortex-M3 - они там CAN не на те ноги развели (facepalm.vhdl).
Ответить | Правка | Наверх | Cообщить модератору

69. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 10-Сен-15, 15:56 
> Как-то читал errata на какой-то их Cortex-M3 - они там CAN не
> на те ноги развели (facepalm.vhdl).

мдя-я-я… Представляю сколько человекочасов было напрасно убито :)

Ответить | Правка | Наверх | Cообщить модератору

58. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Аноним (-), 10-Сен-15, 02:36 
> Хм, любопытно.

Как ни странно, ксюша на этот раз не гонит. STM32 - отличные камешки. У них хорошее соотношение цена/качество, они распостранены, у них широчайший ассортимент на любые задачи, а также крутая периферия, которая всяким AVR и в проекте не снилась. И к тому же они замечательно програмятся из того же линуха, например.

> Ну, я так вообще не embedd-овщик :), вот и любопытно как с
> этим работают люди, которые как-то более опытны.

Читают даташит и программируют. Никакой ракетной науки. У ARM правда с этим все хитрее. Если у AVR даташит описывает все, то у ARMов - только особенности реализации. А даташит на "процессорное ядро вообще", если он нужен - берется таки у ARM.

> Это понятно, но это не правильно.

А ты знаешь, серебряных пуль

> В каком-то смысле mbed делает правильную вещь — заставляет пользователей upload-ить свои труды,

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

> бажность — это действительно очень плохо. А можно пример бага для
> понимания о чём речь?

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

Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

63. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 10-Сен-15, 07:09 
>> Хм, любопытно.
> Как ни странно, ксюша на этот раз не гонит. STM32 - отличные
> камешки. У них хорошее соотношение цена/качество, они распостранены, у них широчайший
> ассортимент на любые задачи, а также крутая периферия, которая всяким AVR
> и в проекте не снилась. И к тому же они замечательно
> програмятся из того же линуха, например.

Да понятно, сами используем STM32.

>> Ну, я так вообще не embedd-овщик :), вот и любопытно как с
>> этим работают люди, которые как-то более опытны.
> Читают даташит и программируют. Никакой ракетной науки. У ARM правда с этим
> все хитрее. Если у AVR даташит описывает все, то у ARMов
> - только особенности реализации. А даташит на "процессорное ядро вообще", если
> он нужен - берется таки у ARM.

Это-то всё очевидно, а меня интересовала софтварная часть в рамках того вопроса. Например, пользуются ли нормальные люди CubeMX, или это лишь я по малоопытности его использую для генерации проектов?

>> В каком-то смысле mbed делает правильную вещь — заставляет пользователей upload-ить свои труды,
> Во первых, код бывает разный. В том числе и совсем задачеспецифичный.

Поэтому имеется множество библиотек со своими особенностями. А также можно плотно расставить #ifdef-ы на разные случаи жизни.

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

> Во вторых, втюхивается вендорлок на один какой-то сайтик.

Это как раз уродство реализации.

> В третьих, зависимость всего процесса разработки от сетевой конективити как-то не есть
> совсем уж правильно.

Это тоже уродство реализации.

> В четвертых - я бы сто раз подумал до того как брать
> код от того кого ЗАСТАВИЛИ его выложить. Одно дело если кто
> добровольно опубликовал код, подготовившись к этому и понимая особенности процесса. И
> совсем другое - если это нечто вымученное клещами.

Ну вот пробуешь сам завести какую-то периферию -- не заводится. А если будет библиотечка, которая показывает proof of concept, то диагностировать станет сразу намного проще.

Вот GitHub -- значительно более хороший проект в этом смысле. Благодаря ему люди стали намного больше upload-ить, и он создаёт значительно меньше неудобств. Но, к сожалению, по embedded-у там фактически ничего и нет. Было бы здорово если бы появился проект, благодаря которому люди собрали бы коллекцию хороших библиотек для тех же stm-ок. А сейчас хаос и анархия. Каждый embedd-овщик живёт в своём маленьком мире из-за чего качество кода значительно хуже и производится огромная дупликация труда.

>> бажность — это действительно очень плохо. А можно пример бага для
>> понимания о чём речь?
> В мк обычно вылиывается в непредсказуемое поведение которого по документации быть не
> должно. Может варьироваться от малозначительных мелочей типа досадного несоответствия
> документации до весьма фатальных вещей навроде внезапного зависания процессорного ядра
> без причин (т.е. все сделано все по документации, etc).

Да, мы с таким сталкивались даже на STM32 (либо мы сами идиоты, но мы много раз всё перепроверили), проблема решалась дополнительным ограничением, о котором в datasheet не сказано. Но меня сейчас интересует конкретно Миландр, чтобы понять есть ли смысл на него вообще время тратить.

Вообще говоря, если неполадка постоянная (вроде тех, с которыми столкнулись мы), то это не страшно. Один раз исправил (потратив дохрена времени на выяснение причин) и далее надёжно работает. Меня-то пугает возможность плавующих багов. Их у Миландра нет?

Ответить | Правка | Наверх | Cообщить модератору

73. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Аноним (-), 11-Сен-15, 13:14 
> Да понятно, сами используем STM32.

На их фоне, аврки - мк для фонариков и некрофилов.

> Например, пользуются ли нормальные люди CubeMX,

Я gcc пользуюсь. И geany. Из линуха. А вы думали, я буду изучать тулчейн и ОС чисто для прикола? Так не пойдет.

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

> или это лишь я по малоопытности его использую для генерации проектов?

Честно говоря не очень понимаю что такое "генерация проекта".

> #ifdef-ы на разные случаи жизни.

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

Знаешь, я - не препроцессор. Мне не очень хочется держать в мозгу большой state из всякой дряни котрая вообще к решению задачи относится довольно косвенно. Поэтому ifdef - это крайний случай, а не повод для гордости.

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

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

> Это как раз уродство реализации.

Ну это ж ARM, им денег хочется. А как они к опенсорсу относятся, они показали с своими Mali, на которые документации нет. Хотя GPU с архаичной и совершенно безблагодатной архитектурой, отстающей поколения на 3 от десктопных. Документированных. Это называется "бессмысленно и беспощадно".

> Это тоже уродство реализации.

Ну так ARM видимо хочет завендорлочить всех посильнее. Там вон imagination с мипсами трепыхаться начал, openrisc-и всякие развиваются. По-моему они хотят встать на те же грабли что и MS.

> Ну вот пробуешь сам завести какую-то периферию -- не заводится. А если
> будет библиотечка, которая показывает proof of concept,

Я как-то насмотрелся на код, который вывалили абы как. И знаешь, я пришел к выводу что я предпочитаю код в сорцах от тех кто понимает как работает опенсорс и следует определенным практикам. "Библиотечка" от абы кого - окажется прибитой гвоздями к вон тому конкретному юзкейсу, без намека на то чтобы это было generic и удобным для применения в пласте похожих по смыслу программ. В результате оказывается проще с ноля написать чем иметь дело с таким кодом. И совсем не круто, если такого кода разведется навалом и среди него будет сложно находить нечто реально юзабельное.

> то диагностировать станет сразу намного проще.

А решать задачи - сложнее. Реюз кода может профакапиться. А выложить какой-то трэш по принципу "можете посмотреть, но руками не трогать, и уж упаси вас боже это в свою задачу привинтить, сэкономив себе время!" - ну, знаете ли, это очень в духе проприетарщиков. И у фирмы ARM все очень может прийти к именно такому формату.

> Вот GitHub -- значительно более хороший проект в этом смысле.

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

> люди стали намного больше upload-ить, и он создаёт значительно меньше неудобств.

С одной стороны это так. С другой, он довольно сильно замусорен каким-то трэшом, от hello world-ов замусоривающих выдачу до крапа без лицензии. И не то чтобы это здорово, искать реально полезный код довольно утомительно.

> Но, к сожалению, по embedded-у там фактически ничего и нет.

Смотря что хотелось найти. Ну вон например, https://github.com/libopencm3/libopencm3 - явно для embedded.

> коллекцию хороших библиотек для тех же stm-ок.

Я скорее поверю в то что мне удастся найти хороший код на гитхабе, чем в то что ARM может что-то такое в нормальном виде. Тем более что у эмбедеров культура обмена исходниками не развита. Вывалят они тебе суперкод. Собираемый одной версией какой-нибудь "кайлы". У них работает - код хороший. Такая логика. А при попытке его например собрать gcc, да под линем... да что там, даже "неправильная" версия кайлы облажается. А в ответ на багрепорт - последует какая-нибудь "умная" мысль "но вы можете скачать крякнутую кайлу там".

> А сейчас хаос и анархия.

Не там. Эмбедовщики зачастую жлобские и виндообразные. У них нет культуры реюза кода, и уж тем более они не в курсе кроссплатформенности и портабельности лишний раз. Для половины из них нормально написать код под "иар три-хренадцать" и искренне недоумевать чего остальным в таком требовании может не нравиться. Ну подумаешь, проблема - взять именно иар, именно три-хренадцать, как у Автора Кода. И все это по рацоинальной причине "я так привык".

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

> Каждый embedd-овщик живёт в своём маленьком мире из-за чего качество
> кода значительно хуже и производится огромная дупликация труда.

Именно так. А ты больше пользуйся всякими кульными виндовыми утилитами, под EULA. И этот мирок так и останется маленьким и опроприетареным. А если ты не этого хотел... ...тогда с гуя ли ты сам выбрал такие подходы, для начала?

С таким же успехом можешь надеяться на ломовые коммиты в опенсорс от юзеров MSVS и недоумевать что codeplex не очень хорошо развивается, "а ведь было бы логично вываливать наработки на дотнете для других, блаблабла".

> Да, мы с таким сталкивались даже на STM32

У них тоже бывают errata, поэтому не лишне перекачивать errata с сайта STM и просто гуглить (в errata может быть и не все). Если совсем лыжи не едут, в errata пусто, гугл молчит - идешь куда-нибудь в район electronix'а и спрашиваешь там. Там обитает толпа матерых эмбедеров, если грабли есть - их с хорошей вероятностью припомнят. Еще не лишне проверять например какой код нагенерил компилер, etc. В компилерах тоже бывают баги. А где-нибудь можно забыть подсказать компилеру что это "volatile", например.

> котором в datasheet не сказано. Но меня сейчас интересует конкретно Миландр,
> чтобы понять есть ли смысл на него вообще время тратить.

Если у тебя импортозамещение актуально - тогда да. Иначе - какие к тому предпосылки? В пользу STM32 из очевидного - большое комьюнити, обтоптавшее грабли (основная жесть была несколько лет назад, когда народ начал с авров валить), разумные цены, эпичный ассортимент на все оказии (освоить представителя знакомого семейства - проще чем совсем иной чип).

> Вообще говоря, если неполадка постоянная (вроде тех, с которыми столкнулись мы), то
> это не страшно.

Баги бывают самые разные. И вероятностные, и 100% воспроизводимые. Множество грабель может быть по иным причинам - физическим и электрическим. Если у тебя есть сильноточные цепи или цепи с частотой более 100кГц - разводка платы под это является сложным начинанием. Наводки могут вызывать кучу приколов. Как и некачественная разводка цепей питания.

До того как уверенно выдвигать предъявы насчет errata в именно чипе - в вещах от кодогенерации до питания и EMI должна быть крепкая уверенность. Если оно сбоит с разными компилерами, на разных платах, у разного народа - ок, попался баг. По хорошему его надо производителю сообщить, если в errata его еще нет.

> Один раз исправил (потратив дохрена времени на выяснение причин)

Да вообще это "обычное" дело в эмбедовке. В том плане что даже матерый волк может нарваться на странности, достойные написания детектива. Можешь почитать например как DiHalt матрицу клавиатуры разок безбашенно посканировал с высокой частотой "потому что так удобнее в софте" было. В результате получился целый детектив, потянувший на заметку в его бложике.

> и далее надёжно работает. Меня-то пугает возможность плавующих багов. Их у Миландра нет?

Когда я видел список косяков миландров (кто-то вываливал их errata, несколько месяцев назад) - они были очень жосскими и невкусными. А половина этой жести еще без воркэраундов. Стало ли у них лучше с тех пор - честно говоря не в курсе.

Ответить | Правка | Наверх | Cообщить модератору

77. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 11-Сен-15, 14:54 
Честно говоря, сейчас совершенно нет времени отвечать, поэтому прочёл пока только часть данного комментария, а отвечу только на:

> Я gcc пользуюсь. И geany. Из линуха. А вы думали, я буду
> изучать тулчейн и ОС чисто для прикола? Так не пойдет.

И? Тоже gcc и linux (конечно же). Но только vim, а не geany. Не понимаю ваш вопрос. Та хрень нужна лишь для генерации пустого проекта (чтобы сгенерировать код под конкретный камешек или плату, не тратя время).

> И да, погодь, я поискал что это. Как работу работать - значит,
> винды.

Причём тут винды? Это JAVA-вая хень (что тоже противно, но тем ни менее винда тут ни при чём).

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

Это JAVA-вская херь, которая генерит полностью открытый код. Сам код проекта в результате полностью открыт, который в свою очередь потом компилится gcc по сценарию из автогенерённого (однократно) Makefile. В чём проблема?

Надеюсь сегодня вечером будет время прочесть остальное и ответить.

Ответить | Правка | Наверх | Cообщить модератору

80. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Аноним (-), 12-Сен-15, 05:58 
> пустого проекта (чтобы сгенерировать код под конкретный камешек или плату, не тратя время).

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

> Причём тут винды? Это JAVA-вая хень

А ставится из setup.exe oO.

> сценарию из автогенерённого (однократно) Makefile. В чём проблема?

Ну я встретил 2 упоминания этой хрени. Решил посмотреть что это. Предложение скачать вело на setup.exe с MZ PE файлом. Дальше не разбирался по этому поводу. В таком случае сорь за наезд, не по делу.

Ответить | Правка | Наверх | Cообщить модератору

82. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 12-Сен-15, 11:28 
>[оверквотинг удален]
> Ну я видимо не настолько часто меняю камни, или не настолько часто
> делаю что-то, чтобы такими вещами заморочиться. Основное время занимает все-таки написание
> фирмвари и обпрыгивание грабель, а не что-то еще.
>> Причём тут винды? Это JAVA-вая хень
> А ставится из setup.exe oO.
>> сценарию из автогенерённого (однократно) Makefile. В чём проблема?
> Ну я встретил 2 упоминания этой хрени. Решил посмотреть что это. Предложение
> скачать вело на setup.exe с MZ PE файлом. Дальше не разбирался
> по этому поводу. В таком случае сорь за наезд, не по
> делу.

Да, понимаю, меня точно так же сбило с толку, и я прошёл мимо. А чуть позже я на каком-то форуме, читая про проблемы с поиском корректного startup.s, нашёл упоминание про то, что CubeMX является кроссплатформенным. Дальнейший поиск показал, что он вполне запускается с помощью "java -jar Setup.exe". Похоже, что это самораспаковывающейся и самозапускающейся jar для windows, однако с возможностью запускать прямо с помощью "java -jar" -- честно сказать не разбирался, почему оно работает. Мне хватило факта, что оно работает. В виду его мутности запускаю в отдельном окружении. А самое главное, что весь этот геморрой -- это личные мои проблемы (а не тех, кто будет дальше с этим работать), ибо то, что будет публиковаться дальше -- это вполне читаемый код для gcc+make.

В будущем хотелось бы отказаться от CubeMX, поэтому я и задал тот вопрос Xenia. Хочется узнать, как другие люди работают, и найти более приятный для меня самого вариант.

Ответить | Правка | Наверх | Cообщить модератору

81. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Xaionaro (ok), 12-Сен-15, 11:22 
>> #ifdef-ы на разные случаи жизни.
> Увлечение этим - делает код уродским, нечитабельным и трудным в майнтенансе и
> понимании. Существуют варианты как это относительно культурно делать, но у большинства
> тех кто этим пользуется, получается уродизация программы, так что потом в
> ней вообще сложно разобраться.
> Знаешь, я - не препроцессор. Мне не очень хочется держать в мозгу
> большой state из всякой дряни котрая вообще к решению задачи относится
> довольно косвенно. Поэтому ifdef - это крайний случай, а не повод
> для гордости.

ifdef -- это не крайний случай, а инструмент для вполне конкретных целей. Да, он осложняет чтение кода, но лично для меня сильно ifdef-еный код (если это оправдано) остаётся обычно вполне читаемым. На крайний случай можно применить gcc -E.

>> Ну вот пробуешь сам завести какую-то периферию -- не заводится. А если
>> будет библиотечка, которая показывает proof of concept,
> Я как-то насмотрелся на код, который вывалили абы как. И знаешь, я
> пришел к выводу что я предпочитаю код в сорцах от тех
> кто понимает как работает опенсорс и следует определенным практикам.

Ну так (почти) все предпочитают хороший свободный код.

> "Библиотечка" от
> абы кого - окажется прибитой гвоздями к вон тому конкретному юзкейсу,
> без намека на то чтобы это было generic и удобным для
> применения в пласте похожих по смыслу программ. В результате оказывается проще
> с ноля написать чем иметь дело с таким кодом. И совсем
> не круто, если такого кода разведется навалом и среди него будет
> сложно находить нечто реально юзабельное.

Естественно проще написать с нуля, однако наличие такой библиотечки даёт возможность понять, почему в этом "решении с нуля" что-то не работает. Есть куда подглядеть, другими словами.

>> то диагностировать станет сразу намного проще.
> А решать задачи - сложнее. Реюз кода может профакапиться. А выложить какой-то
> трэш по принципу "можете посмотреть, но руками не трогать, и уж
> упаси вас боже это в свою задачу привинтить, сэкономив себе время!"
> - ну, знаете ли, это очень в духе проприетарщиков. И у
> фирмы ARM все очень может прийти к именно такому формату.

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

>> Вот GitHub -- значительно более хороший проект в этом смысле.
> Но тоже со своими недостатками. Скажем есть много мусора без явного указания
> лицензий. Последнее что я хочу - на лицензионные разборки попасть.

Согласен. Однако по поводу лицензий, авторы обычно быстро отвечают на просьбы разъяснить.

А GitHub мне скорее не нравится больше своими маленькими lock-in-ами. Например Gogs позволяет зеркалировать проект с других площадок (ЕМНИП), а вот GitHub не позволяет.. почему? Вероятно для того, чтобы основная копия мелких проектов была именно на GitHub.

Торвальдсу же, например, там не нравится их реализация Pull Requests, что тоже не безобоснованно.

Да и вообще, код GitHub-а закрыт и они могут в любой момент начать творить фактически всё что угодно.

Если же вернуться к качеству кода на GitHub, то да, там out of the box решений обычно нет. Но бывает экономит время использование чужих наработок в качестве подсказок, или даже в качестве основы для своего решения (если изначальный код более ли менее).

>> люди стали намного больше upload-ить, и он создаёт значительно меньше неудобств.
> С одной стороны это так. С другой, он довольно сильно замусорен каким-то
> трэшом, от hello world-ов замусоривающих выдачу до крапа без лицензии. И
> не то чтобы это здорово, искать реально полезный код довольно утомительно.

Для этого там придумали Star-ы. Что обычно не помогает, но иногда помогает.

>> Но, к сожалению, по embedded-у там фактически ничего и нет.
> Смотря что хотелось найти. Ну вон например, https://github.com/libopencm3/libopencm3
> - явно для embedded.

Допустим я хочу завести wiznet5500 на sm32f1 (как я уже упоминал где-то в других комментариях). На GitHub такие частные случаи хрен найдёшь, хотя я уверен, что люди это уже неоднократно делали.

>> коллекцию хороших библиотек для тех же stm-ок.
> Я скорее поверю в то что мне удастся найти хороший код на
> гитхабе, чем в то что ARM может что-то такое в нормальном
> виде. Тем более что у эмбедеров культура обмена исходниками не развита.
> Вывалят они тебе суперкод. Собираемый одной версией какой-нибудь "кайлы". У них
> работает - код хороший. Такая логика. А при попытке его например
> собрать gcc, да под линем... да что там, даже "неправильная" версия
> кайлы облажается. А в ответ на багрепорт - последует какая-нибудь "умная"
> мысль "но вы можете скачать крякнутую кайлу там".

Значит либо просто забью на такой код, либо поизучаю как он работает (чтобы у себя в голове прояснить интересующие меня моменты), либо портирую под gcc+make и кину Pull Request.

>> А сейчас хаос и анархия.
> Не там. Эмбедовщики зачастую жлобские и виндообразные. У них нет культуры реюза
> кода, и уж тем более они не в курсе кроссплатформенности и
> портабельности лишний раз. Для половины из них нормально написать код под
> "иар три-хренадцать" и искренне недоумевать чего остальным в таком требовании может
> не нравиться. Ну подумаешь, проблема - взять именно иар, именно три-хренадцать,
> как у Автора Кода. И все это по рацоинальной причине "я
> так привык".

Да это ясно, и, кстати, у меня научный руководитель (газодинамика/термодинамика/хим. кинетика) страдает походими проблемами :)

Но ведь нужно с этим обороться. Вот GitHub немножно изменил культуру программирования в мелких проектах, IMO. Вот нужно дальше работать над тем, чтобы люди занимались reusable своего кода.

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

Насильная выжимка -- не изменит. А вот взаимодействие с людьми, которые увидят эту выжимку -- может быть и изменит.

>> Каждый embedd-овщик живёт в своём маленьком мире из-за чего качество
>> кода значительно хуже и производится огромная дупликация труда.
> Именно так. А ты больше пользуйся всякими кульными виндовыми утилитами, под EULA.
> И этот мирок так и останется маленьким и опроприетареным. А если
> ты не этого хотел... ...тогда с гуя ли ты сам выбрал
> такие подходы, для начала?

Я -- любитель gcc+make. Если речь про CubeMX, то он не виндовый (а кроссплатформенный) и нужен лишь для генерации пустого проекта под нужный камешек. Результирующий код получается для gcc+make. И пользуюсь я им не потому, что он мне нравится, а потому что другие подходы приводили к трате тонны времени на нахождение корректного startup.s и прочих проблем. Когда стану опытнее в stm-ках, то найду способ работать и без CubeMX. Повторюсь, я ж вообще не embedd-овщик, поэтому воспользовался просто тем, что рекомендуется использовать в официальной документации.

>> Да, мы с таким сталкивались даже на STM32
> Еще не лишне проверять например какой код нагенерил компилер, etc. В
> компилерах тоже бывают баги. А где-нибудь можно забыть подсказать компилеру что
> это "volatile", например.

Это-то всё очевидно.

>> котором в datasheet не сказано. Но меня сейчас интересует конкретно Миландр,
>> чтобы понять есть ли смысл на него вообще время тратить.
> Если у тебя импортозамещение актуально - тогда да. Иначе - какие к
> тому предпосылки?

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

>[оверквотинг удален]
>> Один раз исправил (потратив дохрена времени на выяснение причин)
> Да вообще это "обычное" дело в эмбедовке. В том плане что даже
> матерый волк может нарваться на странности, достойные написания детектива. Можешь почитать
> например как DiHalt матрицу клавиатуры разок безбашенно посканировал с высокой частотой
> "потому что так удобнее в софте" было. В результате получился целый
> детектив, потянувший на заметку в его бложике.
>> и далее надёжно работает. Меня-то пугает возможность плавующих багов. Их у Миландра нет?
> Когда я видел список косяков миландров (кто-то вываливал их errata, несколько месяцев
> назад) - они были очень жосскими и невкусными. А половина этой
> жести еще без воркэраундов.

Понятно.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

85. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Аноним (-), 25-Сен-15, 23:49 
> ifdef -- это не крайний случай, а инструмент для вполне конкретных целей.

При том чаще всего - знатный костыль. Загаживающий код.

> можно применить gcc -E.

Не очень хочется, если честно.

> Ну так (почти) все предпочитают хороший свободный код.

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

> подглядеть, другими словами.

Тут соглашусь, пожалуй.

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

И в результате получается стремноватый код с непонятным лицензионным статусом?

> Согласен. Однако по поводу лицензий, авторы обычно быстро отвечают на просьбы разъяснить.

Но на все это надо тратить сильно отдельное время.

> GitHub не позволяет.. почему?

Я не знаю что он там не позволяет. Git pull с него работает. А если кто не умеет по протоколу git работать - наверное это уже не вина гитхаба.

> Вероятно для того, чтобы основная копия мелких проектов была именно на GitHub.

Не знаю. Но когда Торвальдсу потребовалось, он без проблем перекинулся на guthub а потом обратно на кернелорг. Кого-то завендорлочить при использовании git - это фантастика.

> Торвальдсу же, например, там не нравится их реализация Pull Requests, что тоже
> не безобоснованно.

У него есть команда и там сложились совсем иные практики. Ну и логично что ему переобучаться всей толпой под это не резон. А зачем, если его практики и так работают? Я не фанат суперцентрализации на 1 сервис.

> Да и вообще, код GitHub-а закрыт и они могут в любой момент
> начать творить фактически всё что угодно.

Они могут снести реп по DMCA кляузе, например. В этом плане свой сервер надежнее всего.

> чужих наработок в качестве подсказок, или даже в качестве основы для
> своего решения (если изначальный код более ли менее).

ИМХО 50/50. Ну то-есть там есть как отличный код, так и просто мусор. И отсеивание одного от другого там достаточно трудоемкая затея на самом деле.

> Для этого там придумали Star-ы. Что обычно не помогает, но иногда помогает.

Реально это в половине случаев похоже на изучение мусорного бака. Хотя порой достаточно вознаграждающее. А у эмбедеров с относительно проприетарным складом ума и низкой культурой в вопросах лицензирования все будет еще жестче.

> Допустим я хочу завести wiznet5500 на sm32f1

А, ну я не фанат таких вещей. Я вообще в гробу видал черти-чей сетевой стек в абы какой фирмваре в общем случае. И если уж мы про вендорлок, то предъявы гитхабу на фоне жесткого вендорлока на конкретный модуль с уникальным "апи" - это вообще номер.

> я уверен, что люди это уже неоднократно делали.

Вероятно, но я таким не интересуюсь.

> Значит либо просто забью на такой код, либо поизучаю как он работает
> (чтобы у себя в голове прояснить интересующие меня моменты), либо портирую
> под gcc+make и кину Pull Request.

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

> Да это ясно, и, кстати, у меня научный руководитель (газодинамика/термодинамика/хим.
> кинетика) страдает походими проблемами :)

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

> Но ведь нужно с этим обороться. Вот GitHub немножно изменил культуру программирования

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

> Насильная выжимка -- не изменит. А вот взаимодействие с людьми, которые увидят
> эту выжимку -- может быть и изменит.

Я думаю в этом плане гитхаб и то лучше. По крайней мере к нормальному инструменту взаимодействия приучает. Но ведь половина будет думать что гит == гитхаб...

> Я -- любитель gcc+make. Если речь про CubeMX, то он не виндовый
> (а кроссплатформенный) и нужен лишь для генерации пустого проекта

А, ну я поискал что это. И нашел нечто с setup.exe, вот и решил что он виндовый.

p.s. я думаю что мое время на опеннете заканчивается. К сожалению я не могу и не буду обещать какие либо ответы после этого сообщения.

Ответить | Правка | Наверх | Cообщить модератору

52. "Компания ARM открыла исходные тексты встраиваемой операционн..."  +/
Сообщение от Аноним (-), 10-Сен-15, 01:48 
> Но в целом, миландровские процы, это содранные STM32,

Вот только ERRATA у них - далеко не STMовские. В смысле, если кому Errata на STM казались бажными - в интернете можно найти список errata этих чудес природы. Знаете, STM на этом фоне очень безглючные и надежные мк.

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру