- Является ли SATA статическим интерфейсом? Т.е. могу ли я теоретически поднять SATA неспешным ногодрыгом на микроконтроллере? Таким образом получая огромное хранилище на HDD. - Alt@ir(23.11.2019 06:59, MCU, полностью)
- А объясните плз, что нужно, чтобы подключить свое устройство к оптоволокну. - VLLV(20.11.2019 15:35, MCU, полностью)
- В даташыте на МК пишут "Vdd fall time 20+ us/V". Интересно, с чем это связано? - SciFi(18.11.2019 09:51, MCU, полностью)
- Прошу помощи у зала, пишу на orngePi изменения программы и системы пишутся на "диск" Micro SD. Хочу сохранять образ "диска" на большую винду. Винда никак не хочет видеть SD через адаптеры, скачал плагин для тоталКомандера дл eхт2 3 не помогло, igorm(61 знак., 14.11.2019 09:26,
, MCU, полностью)
- Вопрос по программированию ESP32: TCP cоединение client to SoftAP/server как сделать, чтобы клиент не отваливался по таймауту и находился постоянно в соединении с сервером - ждал очередной порции данных? - Make_Pic(07.11.2019 11:31, MCU, полностью)
- gd32vf103: свежак KGP для масдая, нужно потестить klen(825 знак., 08.11.2019 00:04 - 00:08, MCU)
- Как алгоритмически определить функцию оптимального тренда простого полинома второй степени (a*x^2) + (b*x) + c из таблицы значений x ? Подобно тому, как это реализовано в MS Exсel? Методом наименьших квадратов? Есть у кого-то наглядный пример bnb62(9 знак., 05.11.2019 22:00 - 22:04, MCU, полностью)
- gd32vf103: Думаю можно подумать открывать новый раздел - RISCV klen(2300 знак., 27.10.2019 20:43 - 28.10.2019 20:50, MCU, youtube, полностью)
- Вести будешь -создам - General(06.11.2019 19:47)
- А другой адаптер не подцепить? А то есть J-LINK тот же(клон). Прошивка, как я понимаю, через DFU без проблем? - Dingo(29.10.2019 12:14)
- С месяц назад видел в рассылке от SeedStudio об RISCV. Похоже, пора купить с целью опробовать, что это такое. А то варианты на ПЛИС год назад не вызывали особой радости. - A.L.(28.10.2019 21:54)
- Почитать интересно, но изучать и использовать не вижу смысла. - Costic(28.10.2019 15:10)
- Объединить в ARM'ом - "ARM,RISCV" :) - Ксения(28.10.2019 12:20)
- Спасибо огромное! Евгению тоже :) - Shatun_(28.10.2019 11:23)
- И что нам несет в маcсы архитектура RISC-V? - Make_Pic(28.10.2019 07:01)
- Если очень кратко - защиту инвестиций во всех смыслах. На десятилетия. Evgeny_CD(450 знак., 28.10.2019 21:19)
- Они копались у тебя в голове:) - Vit(06.11.2019 19:23, ссылка)
- ARM7TDMI? "Индустрия прыгнула" - это громко сказано. Ну а Cortex-M - это вещь. Что тебе этот цент в цене чипа на лицензию? Зато качество. Вот санкции - это да. - SciFi(28.10.2019 21:23)
- Мне насрать на цент. Но ты сам ответил на вопрос. Санкции замени на "чужая воля". - Evgeny_CD(28.10.2019 21:32)
- Вот только там и можно найти мотив. Он неизбежно приведёт к геморрою. Никакого тебе j-link, st-link и прочий-link. Софты только ручками. Ростех тебе тулчейн подгонит? И куб тоже. Как-то так. - SciFi(28.10.2019 21:34)
- Klen едва ли имеет отношение к Ростеху, а за пару бессонных ночей он тулчейн уже всем нам подогнал. На основе моей мегаинвестиции в виде двух платочек. - Evgeny_CD(28.10.2019 21:50)
- Ну ок, багов нет. А если и есть - спрашивать не с кого. Не будить же его среди ночи и лампу в лицо, верно? - SciFi(28.10.2019 21:53)
- Когда тулчейну будет год (а Klen тренируется в сборке GCC 10 лет - это сколько я заним слежу, и не один ли хер, под какую 32 битную архитектуру собирать), и его будет использовать некоторое количество народу, вероятность, что баг нарушит все "в Evgeny_CD(70 знак., 28.10.2019 21:57)
- Да блин - все в исходниках, это значит какой то клен сбежал на Луну, да и хер бы с ним, включаем МОСК - и решаем проблему. С Яром - звоним пиндосам и говрим - у нас проблема, они - бабло заплатили? да! Молоццы - идите нахер/, у нас санкции! .... klen(40 знак., 28.10.2019 21:56)
- был я там - враги и имя им легион - klen(28.10.2019 21:53)
- Куб в топку, подгоню вменяемый sdk а не это говно, кстате не я это сказал - "Пересел на HAL... пыжился мыжился, в итоге оказалось что все равно пишу на регистрах " - klen(28.10.2019 21:42)
- А GCC от klen же готов! :) И все наработки за последние 20 лет не пойдут даром. - Evgeny_CD(28.10.2019 21:20)
- полагаю низкое потребление количества энергии на одно фиксированное вычисление (не путать со скоростью), дешевые кЕтайские микросхемы и надежду что наши производители расклинятся - klen(28.10.2019 11:37)
- Спасибо обеим :) Платки уже вовсю барыжатся на ALI. Можно будет пробовать ширнармассам ;) - Гудвин(27.10.2019 21:48)
- gd32vf103: обнаруженные странности klen(3300 знак., 02.11.2019 23:23 - 03.11.2019 00:02, MCU, полностью)
- MCU ultra-low power consumption of 47.14μW at a operating frequency of 200MHz. Статья февральская, но увидел только сейчас - General(02.11.2019 17:33, MCU, ссылка)
- Один том UBI может располагаться на нескольких Flash устройствах (MTD)? Правильно ли я понимаю, что поверх UBI, в принципе, может использоваться любая файловая система? - blackprapor(28.10.2019 18:53, MCU, полностью)
- Прошу помощи pls - Есть драйвер LED матрицы микросхема IS31FL3731 вроде все запустил точки высвечиваю, но не могу заставить включить режим blink для каждой точки. Может кто нибудь с ней работал? - Make_Pic(26.10.2019 14:31, MCU, полностью)
- На dsPIC33 делал отличный 6-битный мегагерцовый синус, но такое возможно еще только на немногих TMS320F283хх - входная частота PWM Time Base порядка 1 ГГц, частота ШИМ при 6-битном разрешении - 15 МГц, такштаа тиньки и прочие хмеги с кортексами MBedder(11 знак., 15.10.2016 00:18, MCU, полностью)
- FreeRTOS (ну или просто "не посикс" ОС) - целесообразность... POV_(859 знак., 17.10.2019 23:11,
, MCU, полностью)
- BTW, у FreeRTOS есть posix-подобная обертка. - LightElf(22.10.2019 11:17)
- "Не нравится - не ешь !" (c) Простите, не выспался и нервный с утра. Мне проще с таск-свитчерами (ИМХО до ОСи оно не доросло). По сути вопроса - есть несколько изделий а FreeRTOS, и на упоминавшейся ниже CrossWorks-овской CTL. 3-5 процессов, не Сидоргек(251 знак., 21.10.2019 08:16)
- В моем случае - два и более чужих долгоиграющих пакета (GUI + FS), которые должны шевелиться параллельно. Если такой пакет один, то автоматы в прерывания, и ОС не нужна. - VLLV(18.10.2019 10:38)
- Делал пяток подходов за 20лет.Для себя сделал вывод , ЭТО нужно только для разделения труда нескольких программеров одного большого проекта.Причем они должны быть больными на голову и не суметь сами среди себя выделить ведущего который родит PlainUser(387 знак., 18.10.2019 07:19)
- Может капают, чтобы можно было параллелить разработку и исключить/уменьшить "фактор автобуса"? - Dingo(18.10.2019 06:10 - 07:08)
- Выскажу ещё раз: FreeRTOS сырая недоделка, смысла особого, без реализации ряда перечисленного (см. ниже) не имеет и, хуже того, наоборот вносит существенные ограничения для программиста. Если бы стояла задача выбрать ОС для МК, то я бы скорей fk0(12815 знак., 18.10.2019 02:15, ссылка)
- Для простого связывания большого количества разнородных задач, что ускоряет -> удешевляет разработку. Многим лень писать нормальный конечный автомат и они пихают ось просто чтобы писать что-то типа: evgeniy1294(59 знак., 17.10.2019 23:44)
- IAR 8051 10.10.1 глючный компилятор (int и long типы, printf) для Cypress CY7C68013A sladkoejka(1955 знак., 29.06.2018 11:55 - 02.07.2018 18:42, MCU, полностью)
- Всем привет, подниму тему. kuzulis(1697 знак., 18.10.2019 14:29)
- Ну так чо, вышел пак с исправлениями? На прошлый твой багрепорт они за 2 дня обернулись :) - Codavr(07.07.2018 11:06, ссылка)
- А что скажет уважаемый KEIL? - seryy(03.07.2018 15:16)
- Корректный код генерируется в обоих случаях Bill(2501 знак., 03.07.2018 08:04 - 08:12)
- Обнаружил интересное различие в коде который не работает и коде, который работает. Вот сам код примера: sladkoejka(2434 знак., 05.07.2018 13:49 - 14:00)
- Удивительно что он вообще такой добрый, ваш оптимизатор. Ну кто же счетчик в delay делает не volatile? - Petrovich(05.07.2018 13:57,
)
- а зачем его volatile делать, если это локальная переменная и никто кроме локального кода её менять не может? sladkoejka(427 знак., 05.07.2018 14:06 - 14:11)
- без volatile оптимизатор без проблем может выкинут цикл - 0men(05.07.2018 14:36)
- Volatile более сложный объект, чем кажется. Впрочем, большинство здешних обитателей его освоило - Petrovich(05.07.2018 14:15,
)
- в чём сложность? Кстати, проверил под симулятором. Оба варианта (с INC R6 и без него) работают одинаково и дают абсолютно одинаковую задержку. Что с volatile, что без. Но с volatile задержка в 2.28 раза больше. При этом вариант, где код начинается sladkoejka(79 знак., 05.07.2018 14:42)
- Вот по этоой статье учились поколения :) Petrovich(58 знак., 05.07.2018 14:50,
)
- Ничего нового в этой статье нет. Насчет использования volatile в циклах - это очень неудачный совет. Лучше использовать какое-либо полезное действие в теле цикла (например NOP). И вот почему. sladkoejka(1041 знак., 05.07.2018 15:02 - 15:06)
- Сравнивайте Bill(3498 знак., 05.07.2018 16:24)
- Что сравнивать? В вашем примере ошибка - вы закоментили вызов __no_operation(). Без этого вызова цикл должен быть удалён. То, что с volatile не удаляет - это результат плохой оптимизации. Мозгов у компилятора не хватает чтобы отследить, что sladkoejka(667 знак., 05.07.2018 17:19)
- Я не о зависаниях. Я - о недостаточной "сообразительности" компилятора. - Bill(05.07.2018 18:04)
- "То, что с volatile не удаляет - это результат плохой оптимизации" 0men(471 знак., 05.07.2018 17:36)
- Прочитайте вашу цитату из стандарта внимательнее. В ней речь идёт об "объекте, который может быть модифицирован". В случае-же с локальной переменной volatile, никто её модифицировать не может, время её жизни ограничено временем выполнения функции. sladkoejka(420 знак., 05.07.2018 18:09 - 18:13)
- Вы не до конца перевели фразу. 0men(320 знак., 05.07.2018 18:21)
- Это фантазии, ничего подобного там не написано. Вы что-то прочитали между строк? - SciFi(05.07.2018 18:11)
- это не фантазии, а то что написано в стандарте. Читайте внимательнее, вы видите "may be modified in ways unknown to the implementation or have other unknown side effects"? Локальная переменная ограничена областью видимости по стандарту и никому sladkoejka(248 знак., 05.07.2018 18:23)
- Тогда было бы написано так: "An object that has volatile-qualified type may be modified in ways unknown to the implementation or have other unknown side effects. When that is the case, any expression referring to such an object shall be SciFi(131 знак., 05.07.2018 18:27)
- Тем не менее, компиляторы удаляют код volatile указателей на не volatile данные, которые были удалены оптимизатором. И такое поведение признано соответствующим стандарту. Однако в вашей интерпретации такое удаление недопустимо, т.к. указатель sladkoejka(24 знак., 05.07.2018 18:50)
- Ссылку в студию. Если от объекта берётся адрес, и он реально используется, не надо удалять такой объект. - SciFi(05.07.2018 19:41)
- Вам лень открыть компилятор и попробовать? Почему я должен это делать за вас? sladkoejka(121 знак., 06.07.2018 15:03)
- Нещитово. Приведение к типу volatile - это совсем не создание объекта типа volatile. Попробуйте так: int x = 123; int *volatile y = &x; y = y; - SciFi(06.07.2018 15:11)
- Попробовал - результат тот-же самый, компилятор полностью удаляет код, вместе с объектом указателя, помеченного как volatile. См. скриншот. Дальнейшие изыскания предлагаю проводить самостоятельно. sladkoejka(06.07.2018 15:21)
- Вы попробовали не тот код, который я написал. Зачем так делать? Ну и, согласно информации по ссылке, это таки вражеский компилятор. SciFi(726 знак., 06.07.2018 15:36, ссылка)
- В вашем примере происходит модификация данных помеченных как volatile. Компилятор в этом случае не может быть уверен, что эту модификацию данных никто не увидит и она ни на что не повлияет. Поэтому код удалять не будет. sladkoejka(06.07.2018 15:48 - 15:53)
- Как пример, чтение внешней памяти может использоваться для сброса сторожа - замешивается на дешифраторе адрес и строб RD, а с выхода получаем сигнал сброса. Если указатель на volatile, то компилятор не должен оптимизировать обращение. Хотя Vit(261 знак., 06.07.2018 16:24)
- тут тоже согласен, для контроллеров это критично, поэтому даже чтение через volatile указатель удалять не стоит. Однако если volatile помечена локальная переменная, не являющаяся указателем, то её можно удалять. Т.к. хранится локальная переменная sladkoejka(95 знак., 06.07.2018 18:14)
- тут тоже согласен, для контроллеров это критично, поэтому даже чтение через volatile указатель удалять не стоит. Однако если volatile помечена локальная переменная, не являющаяся указателем, то её можно удалять. Т.к. хранится локальная переменная sladkoejka(95 знак., 06.07.2018 18:14)
- Дык в этом весь смысл и есть - отключается оптимизация обращения к данным помеченным как volatile, если же к ним обращения нет, то код вполне может выпиливаться. - =AlexD=(06.07.2018 16:01)
- Вот в другом компиляторе ничего не удаляется даже в вашем первом примере Bhg2(31 знак., 06.07.2018 15:26, ссылка)
- читайте до конца - или иметь другие неизвестные побочные эффекты - 0men(05.07.2018 18:25)
- локальная переменная доступна только внутри тела функции и только на время её выполнения. Если эта функция ничего не делает и никак не влияет на данные доступные другому коду, её можно спокойно удалять вместе со всеми volatile локальными sladkoejka(174 знак., 05.07.2018 18:32)
- фраза про побочные эффекты означает, что разработчик лучше знает, что делать компилятору. Компилятору нужно ничего не трогать. Стандарт об этом прямо говорит. Все ваши разделение на локальные и глобальные это только ваши фантазии, в стандарте 0men(22 знак., 05.07.2018 18:46)
- не нужно ничего выдумывать. Логика стандарта проста. Если объект никому не доступен, его можно удалять для оптимизации, т.к. это никак не повлияет на поведение системы. volatile действует только на данные, которые могут быть кому-то потенциально sladkoejka(65 знак., 05.07.2018 18:56)
- Это ты просто рафинированный программист, который тупо смотрит на код, и делает какие-то свои выводы, исходя из абстрактной вычислительной системы в вакууме. В реальной жизни у микропроцессора есть всякие там шины памяти, кеши, ПДП и пр. вещи, =AlexD=(486 знак., 06.07.2018 08:23 - 08:48)
- А чё спорить-то, сделайте иначе бомж(178 знак., 05.07.2018 22:49)
- Интересное вышло обсуждение. Ранее не задумывался, но мне близка позиция Сладкоежки. Эффект от исполнения кода наступает лишь в двух случаях: Nikolay_Po(1136 знак., 05.07.2018 22:11)
- логика стандарта совсем иная - если переменная имеет квалификатор volatile, то действия с этой переменной не подлежат оптимизации и должны быть представлены кодом как есть. Ни каких слов про доступнай, область видимости и жизни в стандарте нет - 0men(05.07.2018 19:00)
- компилятор НИКОГДА не удалит цикл с volatile переменной. Более того, он никогда не соптимизирует такой цикл - 0men(05.07.2018 15:18)
- Ну уж нет. Если он удалит переменную volatile, то это будет вражеский компилятор (хотя всякие бывают, конечно). Но тут __no_operation() убирает необходимость в volatile, потому что __no_operation() "вызывает побочные эффекты", т.е. не может быть SciFi(72 знак., 05.07.2018 15:06)
- while( n-- > 0 )!!! тоже самое, но без мутотени... while(n--) - seryy(05.07.2018 13:56)
- только размещается этот "корректный код" по некорректным адерсам (в таблицу векторов). Вследствии чего при заливке в реальный девайс такой "корректный код" глючит или вообще не работает. (как повезет, если LJMP неудачно ляжет в таблицу векторов, sladkoejka(24 знак., 03.07.2018 10:10)
- В начале 2000-х я нашел баг в ихнем компилере. Настрочил багрепорт, Codavr(188 знак., 30.06.2018 16:31 - 01.07.2018 13:19)
- Ну так посмотрите сгенерированный код. Какие проблемы? - Bill(01.07.2018 06:55)
- 1. Проверить в настройках проекта какой именно printf formatter выбран. Мелкий может не понимать %i (не уверен, но не удивлюсь). LightElf(77 знак., 30.06.2018 11:57)
- 1. a55ku(446 знак., 29.06.2018 14:06,
)