Поздравляем teap0t с днём рождения!
- cocoox, stm32f1xxx, при включении оптимизации, перестает компилировать проект, говорит что еррор в ассемблерных вставках стартапа. - RED_DRAGON(01.12.2013 00:04, ARM, полностью)
- Опять по поводу шумов STM32F4. UraGun(1072 знак., 29.11.2013 10:55, ARM, полностью)
- Разобрался. Большое спасибо всем за советы, очень помогло исключить все возможные варианты. Всё оказалось очень просто. Когда спаял плату, плохо вымыл флюс из-под конденсаторов сидящих на кварце. Только что их отпаял, всё устаканилось. Как UraGun(183 знак., 29.11.2013 21:25)
- посмотрите похожий проект на PIC24HJ64GP202 , спич в том что я его повторил. работает замечательно. может чем подсобит. m16_home(29.11.2013 19:24)
- Круто. Практически ZX-80 или ZX-81 (предшественник ZX-Spectrum) на PIC! - fk0(29.11.2013 19:39)
- К тому же он похоже 400*300, т.е. псевдо VGA... - UraGun(29.11.2013 19:35)
- Спасибо, но нужно сделать именно на том, что есть. Другой каменюка не годится. Да и работает же, но с помехами какими-то. А для ловли помех, предлагаемый образец к сожалению бесполезен. Но спасибо в любом случае, мошт кому пригодится. - UraGun(29.11.2013 19:33)
- вы не поняли. я лишь предложил посмотреть алгоритм формирования vga сигнала. - m16_home(29.11.2013 19:40)
- Ок, спасибо, с этим проблем нет. Всем занимается видеоконтроллер аппаратный, этот камень из-за него собственно и взят, если с помощью видеоконтроллера добиться результата не удастся, то тогда конечно можно будет искать другие пути реализации, пока UraGun(146 знак., 29.11.2013 19:44)
- Осцилограмму в студию (строчного сигнала за ~6 строк). Потом вывести шахматное поле ~10 клеток в ширину -- и тоже. Потом ~100 клеток и запись ~десятка клеток по горизонтали, и потом клетку широной в один писксель и ~сотню пикселей. И где именно fk0(581 знак., 29.11.2013 19:48 - 19:51)
- Да всё проще я думаю. Какие то помехи просто пролазят. Привожу три осциллограммы строчного сигнала, они сделаны с разным порогом синхронизации. примерно 3, 2 и 1 вольт. питание контроллера 3,6В. Амплитуда соответственно тоже. Если порог UraGun(341 знак., 29.11.2013 19:56)
- Мне непонятна амплитуда в первую очередь. Синхроимпульсы должны идти с TTL уровнем. А не 0.5в! Потом, соответствуют ли временные характеристики какому-либо стандартному режиму и полярности синхроимпульсов? Может монитор не может (проверялся ли fk0(608 знак., 29.11.2013 20:18)
- уф, сколько вопросов. На входе осцилла делитель на 10, амплитуда сигнала 3,3 вольта примерно. Частоты в порядке, полярности сигналов в порядке. Тайминги, длительности синхры, фронт и бэкпорчи тоже по документации. Если монитор кормить не тем чем UraGun(280 знак., 29.11.2013 20:29)
- Вот табличка с полярностями сигналов. Что-то не подходит, режим какой-то промежуточный. Аналоговый монитор, старый, может некорректно работать. Более новый может написать что-то вроде "нестандатный режим". А цифровые могут вовсе считать строки, и fk0(70 знак., 29.11.2013 20:27, ссылка)
- Вот она помеха, в левой части экранчика, она и сбивает всех с толку. UraGun(29.11.2013 20:06 - 20:11)
- А нет ли там включенной опции по размазыванию спектра? Которая для ЭМ совместимости. - Altair(29.11.2013 14:26, )
- Вариант с AD8544 не прошел, при заявленной полосе в 1МГц, прямоугольник 40кГц на входе, доходит до выхода в виде пилы. Монитор её не воспринимает. какой посмотреть доступный быстрый компаратор или ОУ ? - UraGun(29.11.2013 11:19)
- На стареньком LPC2478 байда с нехваткой быстродействия по шине проявляется именно как строчная байда. Нестабильность кварца не может быть видна глазом в принципе. - Vladimir Ljaschko(29.11.2013 11:00)
- При чём тут кварц? У PLL, конечно, есть джиттер, но не такой же. - SciFi(29.11.2013 11:00)
- Для уменьшения шумов АЦП STM32F100 стоит поставить небольшой резистор между AVDD и VDD? А аппнотах ничего, но, на авр вроде чуток помогало. - Andreas(28.11.2013 18:40, ARM, полностью)
- Прошу помочь с запуском STM32F405RG под IAR. pav256(966 знак., 28.11.2013 19:03, ARM, полностью)
- мож кто поделится рабочим примером использования usb c STM32f10xx? при помощи библиотек, желательно на ИАРе - Constantin24(27.11.2013 13:01, ARM, полностью)
- keil 4.53 vs keil 4.72a Mikla(1041 знак., 27.11.2013 21:29, ARM, полностью)VL
- stm32f103 + SD в MCI режиме + USBMSD. Какова максимальная/средняя скорость записи? больше 66кб/сек выжать не получается :( - RED_DRAGON(27.11.2013 13:12, ARM, полностью)
- STM32F429IIT6 в QFP176 загружается но не выполняет UraGun(359 знак., 26.11.2013 18:52, ARM, полностью)
- Под впечатлением фейла Тоеты захотелось спросить: какие доступные мелкие оськи делают контроль стеков, контроль взаимной залочки задач и прочие ненужные вещи? - ASDFS(26.11.2013 15:22, ARM, полностью)
- Вот Микриум заявляет о какой то сертификации на ответственные применения. Кто нить разбирался что эта сертификация означает кроме соответствия стиля написания всяким МИСРАм? - ASDFS(26.11.2013 19:53)
- это делают не оськи а MMU. мы например во FreeRTOS для ARMа включаем - для прикладных программистов, конечно гемор, когда они не могут брать все, что захотят без спроса, но устойчивость работы и скорость отладки повышается - ыыыыыыы(26.11.2013 16:04, )
- Я имел в виду сервис по мониторингу глубины заюзанного стека. Понятно что без аппаратной поддержки пресекать злостный выход за пределы стека невозможно. - ASDFS(26.11.2013 19:09)
- это про память, ну а по поводу "залочки" : вращение приоритетов только в uC/OS наверно отсутствует (да и то не уверен) это называется priority inheretance или priority rotation - ыыыыыыы(26.11.2013 16:14, )
- Отсутствует и не только у uCOS. Потому как накладно это, приоритеты наследовать и решить можно другими путями. - Apтём(26.11.2013 16:36 - 16:38)
- в простейшем случае (<32 приоритетов) это одно слово в контексте и проверка ждущих задач в переключателе - очень небольшой оверхед - ыыыыыыы(26.11.2013 17:31, )
- Мне как-то кажется, простейшие случаи -- это чего-то вроде protothreads, что далеко от реальной жизни. Это надо перетряхнуть очередь ожидающих (их там 100500). Кому-то поднять приоритет (перятряхнуть ещё дцать очередей после чего, где найденный fk0(47 знак., 26.11.2013 18:04)
- ну так для этого и ограничивают <32, чтобы путем логических операций and/or и т.п. эта процедура имела минимальное время. protothread я увы не пользовал, но учитывая, что это пришло из "больших" компьютеров предполагаю, что там сложнее - ыыыыыыы(26.11.2013 18:13, )
- Причём тут ассемблер. Очередь -- это скорей binary heap уже отсортированный по приоритету. И нужное где-то в середине, поиск за O(N) (или ещё как-то по критерию адреса упорядочивать дополнительно -- затраты на каждый чих в два-три раза выше, fk0(1247 знак., 26.11.2013 18:39)
- Чего-то переусложняете вы. Наследование приоритетов как раз очень просто реализовывается и время выполнения там фиксированное. Оверхед - один-два байта в структуре мутекса (исходный приоритет текущего владельца мутекса и нынешний приоритет). LightElf(132 знак., 27.11.2013 09:18)
- выступлю за противный :) лагерь: если в нашем случае (с задачами 1,2,3) во время ожидания задачей 3 семафора, произошло событие и запустились задачи 4,5 (приоритеты 5>4>3) и 5 задача полезла за тем же семафором, после завершения задачи 1 (уже с 5 ыыыыыыы(332 знак., 27.11.2013 15:54, )
- не-не-не, после освобождения семафора его старому владельцу просто возвращается свой приоретет. aoreh(298 знак., 27.11.2013 16:01)
- ну так вопрос в том, когда 5 закончилась, а 3 продолжает ждать, какой приоритет у 1, держащий 3? и вот зачем нужна была 4. если оставить 5 приоритет, то нарушение приоритетов - 4 задача ждет 3, если вернуть 1, то "залочка" с 3,2 - ну как-то так - ыыыыыыы(27.11.2013 16:44, )
- Долго тут обсуждать, работать нужно. Если вкратце, то проблема наследования известна и исследована и есть общее мнение, что наследование ресурсоёмко. Есть полно публикаций на тему. Поэтому есть альтернативные способы вроде вроде priority ceiling. fk0(93 знак., 27.11.2013 16:27)
- в ecos (с которой я имел больший опыт) хорошо объясняется как делать жесткий реалтайм с комфортом - смысл в том, что для разных классов задач (в одном приложении) доступны разные API сервисов синхронизации: ISR имеет жесткие ограничения, DSR имеет ыыыыыыы(627 знак., 26.11.2013 19:13, )
- а если к этому добавить что может быть целая каша из всего этого, то случай может оказаться совсем не простейшим... - aoreh(26.11.2013 18:07)
- Как-то вы упрощаете...Или нет? Не представил короче... - Apтём(26.11.2013 17:51)
- От залочки оно не поможет. - fk0(26.11.2013 16:38)
- обрисуйте мне схему залочки, плиз. может мы о разном? - ыыыыыыы(26.11.2013 17:27, )
- если речь об инверсии, то, как пример... aoreh(549 знак., 26.11.2013 17:38)
- Это не залочка. Залочка (взаимоблокировка, deadlock) от приоритетов вообще не зависит, это когда A ждёт B, а B ждёт A. Можно ещё ввести в дело C, D... но сути уже не меняет. Возникает обычно при программировании из головы, без этапа fk0(70 знак., 26.11.2013 17:59, ссылка)
- ну так посмотрите, что означает термин, три названия которого тут приведены: для этого примера это значит, что задача 1 получает приоритет равный задаче 3 пока не отдаст семафор - ыыыыыыы(26.11.2013 17:47, )
- А вот как вы выразились "залочка" - это когда задача 1 захватила ресурс, в этот меомент вытесняется задачей 2, которая хватает другой ресурс и входит в ожидание ресурса блокированного 1-й, в этот момент управление возвращается 1-й задаче и она aoreh(143 знак., 26.11.2013 17:56)
- еще на 0 делить можно, ну или с железкой писать в управляющие регистры случайные числа (хотя ММE от этого помагает) - есть таймауты, если думать лень/ну или слишком сложно и нужно патчить а не думать, ну а вообще есть обычно некоторый датафлоу из ыыыыыыы(79 знак., 26.11.2013 18:07, )
- На ноль делить НУЖНО, если числа не целочисленные. А если у вас не делится на ноль -- нужно сжечь компилятор и его авторов. fk0(320 знак., 26.11.2013 18:22)
- уважаемый, вы суть проблемы понимаете или нет? если вы разрабатываете свой новый девайс с 2-3-я задачами, то все отлично, если вам необходимо, н-р, поддерживать чей-то код с 25-30 потоками, который +- отлажен и много лет работает, то как минимум aoreh(339 знак., 26.11.2013 18:13)
- Нет, термин значит, что задача с высоким приоритетом (3) ждет завершения задачи с более низким (2), хотя она даже и не блокирует ресурс нужный 3 - налицо поднятие приоритета задачи 2 выше задачи 3. Инверсия - общеупотребительный термин - aoreh(26.11.2013 17:53)
- инверсия приоритетов это - Mahagam(26.11.2013 16:28)
- Для этого ОС не нужна. Понимаю, закат солнца вручную... Против FreeRTOS у меня сильно предубеждение, после того как прочитал, что TLS у них нет и библиотека C там, практически -- минное поле с граблями. Как с такими особенностями её (FreeRTOS) fk0(2024 знак., 26.11.2013 15:49, youtube)
- FreeFros стек контроллирует, но такой контроль в любую ось можно добавить самому. - Apтём(26.11.2013 15:25)
- Нет никого желающего поковыряться в чужой прошивке? Сразу говорю - не моё. Лагунов(719 знак., 25.11.2013 17:36, ARM, полностью)
- а что проще всего подключить к STM32F103 для чтения/записи содержимого? Или только фирменные JTAG-устройства? - Лагунов(21.11.2013 17:29, ARM, полностью)
- а вот взять и откуда скачать прямо сейчас что-то из программных средств для STM32F103? Пока не до реальной отладки, а так с эмулятором, с дизассемлером. Потрогать чтоб. - Лагунов(23.11.2013 09:49, ARM, полностью)
- Особенности Data Breakpoint в Cortex-M4 vmp(467 знак., 22.11.2013 21:35, ARM)
- Вышел MDK Version 5 - VVB(21.11.2013 07:15, ARM, ссылка, полностью)
- Всем привет. Хм? В STM32F303 в DAСe во втором канале не работает связка дма и второй канал. До тех пор пока не проинициализировать канал 1. Это фишка такая или я не дочитал чего-то? Вроде в регистре настройка для каждого канала отдельная. - M@RS(19.11.2013 18:38, ARM, полностью)