Jump to content

    

haker_fox

Свой
  • Content Count

    3860
  • Joined

  • Last visited

Everything posted by haker_fox


  1. Аааа... ну это мы знаем) Я думал. возможно существует объективное мнение какого-нибудь автора)
  2. Какое утверждение, такой и вопрос. Операционная система, по-сути, ничем не ограничивает ваше ПО. Это обычная программа (библиотека), которая вам позволяет запустить несколько потоков одновременно и предоставляет средства для общения между ними и управления самой ОС. Какие же ограничения она накладывает? Но даже если вам чего-то и не хватает, это можно добавить самостоятельно. Конечно, на магию куба здесь уже рассчитывать не стоит.
  3. Именно это я и уточнял у уважаемого @Yuri7751. Порекомендуете какую-либо компетентную литературку, тк сказать, по обзору и сравнению различных симуляторов? Если таковая есть в природе.
  4. Так, а причём здесь FreeRTOS?
  5. Так.. это... как бэ разве куб отменяет смотреть доку?)))
  6. Я бы сказал: "Всегда можно посмотреть документацию и сделать как надо". Кто знает, что там в чужих исходниках. Ну я имел личный опыт((( Пришлось править чужие исходники.
  7. Понимаю, что звучит банально... но. Напишите свои функции. В этих готовых либах есть баги. Свои баги вы хотя бы проще найдёте и исправите. А чужой код... тут на форуме много раз уже куб ругали. Да. где-то не объективно. Но может быть стоит прислушаться?
  8. Плохо понял, что у вас получилось. Я делаю так: по приёму от uart (либо по заполнению аппаратного fifo, либо по таймауту) забираю n байт, кладу их в ольцевой буфер. О затирании буфера не забочусь. В потоке, которому нужны данные, жду когда в буфере появится k байт. Буфер самодельный. Есть возможность установить k байт триггер на приём)
  9. А сам обработчик продолжает вызываться, или нет? Тогда на распечатку содержимое регистров NVIC и UART. Нельзя же просто так взять и отключить прерывание. Должно быть логическое объяснение.
  10. FreeRTOS и спецы ST

    Простите? Получаем же указатель, и дальше всё как обычно... Да и в Си/Си++ проблемы адресации по-моему закрыты для программиста. Угу.
  11. FreeRTOS и спецы ST

    Понятно, что здесь ситуация сугубо субъективная. В одном проекте память так распределена, в другом - этак. Мы тоже свой прибор довели до ума) Но я сделал вывод, что в принципе, это динамическое выделение не везде и нужно.
  12. И как же Корея производит что-то?)))) Вас понял, спасибо, что поделились своим опытом)
  13. О как! ОФФ, конечно: но это же 2D. А как же современные САПРы: SolidWorks, Autodesk Inventor, Unigraphics и т.п., которые позволяют идти от трёхмерной модели к чертежам, если они, конечно, требуются? Кстати, а какой симулятор более правдив в этом случае?
  14. ИМХО, если позволяет время, то лучше схемы проверять в нескольких симуляторах. Особенно перед макетированием запустить в разных симуляторах прогон по методу Монте-Карло. И поглядеть, насколько схема чувствительна к разбросам компонентов, температур, питающих напряжений. Иногда это дешевле, чем отлаживаться на макете. Какие они... молодцы! Следят за чистотой продуктов)
  15. @Yuri7751, полностью солидарен по поводу удобства интерфейса! Но народ молвит, что LTSpice обладает "тру спайс решателем", что облегчает подключение к нему моделей компонентов. Да и здесь на форуме стали слишком часто проскакивать скриншоты и модели из LTSpice...
  16. Но во истину благородный и благодатный шаг они совершили, выложив все версии даром! И жаль, что зарываются. Очень прекрасный для своей инши продукт: лёгкий, не требующий инсталляции, с насыщенной библиотекой и различными видами анализа.
  17. Добрый день, коллеги, дамы и господа, создатели прекрасной электроники)))) Два года выпускали прибор и никаких проблем не было. Не меняли схемотехнику и ПО. Неожиданно на некоторых приборах, собранных, скажем там после мая сего года, появились полосы на дисплее. После предварительных исследований сделали вывод, что полосы возникают во время работы с SDRAM 64 Мб. В SDRAM находятся два видеобуфера, массивы для расчётов, heap. Конечно, мы пробовали играть с приоритетами CPU, LCD Controller на шине AHB. Мы оценивали пропускную способность шины по известному документу NXP. Выполняли разные эксперименты по замене местами в SDRAM областей буферов и кучи. На 10 раз перепроверили настройки EMC и LCD Controller. Результатов практически нет. Полосы "меняют свою интенсивность", т.е. их чуть больше или меньше становится. Интересный нюанс: если МК запаять вручную микроволной, то полос нет. Но термопрофиль на печке не менялся... Запрос в техподдержке NXP ничео не дал. В общем не удаётся найти решение. Может быть кто-то владеет информацией: ну, например, изменился техпроцесс изготовления микроконтроллеров? Конечно, мог и измениться техпроцесс изготовления SDRAM и дисплея. Все игры с ПО, на мой взгляд, бессмысленны, ибо раньше проблемы не было. Вот что можно посоветовать в таком случае?
  18. У IAR профессиональный только компилятор, возможно отладчик и анализатор кода. Может быть что-то ещё. Но никак ни его IDE. То, что они её прикладывают к своему компилятору, совершенно не пригодно для профессиональной работы с кодом (редактирование, я имею в виду, и навигацию, и рефакторинг и т.п.). VxWorks, это же вроде ОС??! Странно, что он даже и не собирается этого делать. Простите, вы читать умеете? Я вам уже ответил на этот вопрос ранее, вот цитата меня же самого Прежде, чем бросаться грозными словами на непонятном языке, прочитайте текст внимательнее. В нём ни разу не говорится, что статическая переменная обязательно становится глобальной. Да, мы опытнее вас в вопросе, который вы задали. Что вас задевает и обижает - не понятно. Вы упорно не желаете понять, что вам отвечают. А по десятому кругу задаёте один и тот же вопрос. И как на это реагировать нам, "великим умникам"?
  19. Глобальная переменная - это не статическая переменная. Глобальная переменная может быть статической. Вы же говорите о локальных статических переменных. Вы точно понимаете различие между этими типами данных? Если да, то непонятен смысл вашего вопроса. Однопоточное приложение и статические переменные связаны ортогонально. И в однопоточке тоже могут быть недопустимы такие переменные. Это решается аккуратным написанием кода и профессиональной IDE. Вы же используете конкретные типы данных в угоду читаемости. Это ошибочный путь.
  20. На основании чего? И чем это будет отличаться от нестатических переменных? То же самое без static. Статические переменные создаются раз и навсегда в ОЗУ. Место там резервируется под них во время процесса линковки. Соответственно эта переменная существует там всегда, пока есть питание. Прочитайте, что такое статические переменные, и где их следует действительно использовать. Один из вариантов - использовать их в обработчиках прерываний, когда нужно сохранить предыдущие результаты. Пример: sometype_t xTimerHandler() { static auto counter = 0; counter++; // при каждом вызове обработчика содержимое переменной counter будет увеличиваться на 1 auto not_counter = 0; not_counter++; // а вот эта переменная КАЖДЫЙ РАЗ БУДЕТ ОБНУЛЯТЬСЯ при входе в обработчик, затем увеличиваться на 1 } Вызов функции из разных задач, или даже вызов функции самой себя (рекурсия). В случае со статическими переменными это невозможно. Есть. Но статические переменные - это не глобальные переменные. Их область видимости (статических) ограничена ближайшей парой скобок {}.
  21. Так этим же занимается EMC. Как я понимаю, наша программа абсолютно не должна заботиться о регенерации.
  22. Коллеги, мне разрешили выложить видео с рьябью) cut.mkv Ага, видеодвижка на форуме нет( Вот ссылка на ютубе
  23. FreeRTOS и спецы ST

    Правда память и не вернётся в систему. Честно говоря, до недавнего времени я был ярым приверженцем динамической памяти в приборах. До тех пор, пока мы не собрали первый прибор, который должен работать в режиме 365 дней... Вот тут, когда стала проявляться фрагментация памяти, и прибор стал периодически перезагружаться (срабатывала ловушка), я подумал, что можно обойтись и статической памятью. Да и менеджеры кучи не всегда шустрые. Со вруменем (как я понимаю, когда память фрагментируется) время их работы увеличивается.
  24. Добрый день, коллеги! Может кто-нибудь подсказать рабочий вариант как запрограммировать LPC4337 через USB0 DFU под linux? Как-то забодать dfu-util не получается. Сыплет различные ошибки, либо не программирует кристалл. Информация по этой утилите раскидана по всей сети, и как иногда это случается по эту ОСЬ, не получается просто взять и запустить. Возможно, у кого-то есть рабочее решение? Будуд очень благодарен!!! З.Ы. В Windows программирование проходит без проблем)