asteotefaniy 0 17 мая, 2014 Опубликовано 17 мая, 2014 (изменено) · Жалоба Jekin, Спасибо! Почитаю про RL-FlashFS. Ранее с ней не сталкивался. Изменено 17 мая, 2014 пользователем Asteo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба ...Поэтому автономных асинхронных друг к другу логгеров должно быть много. ... цена таких логгеров? Просто типа закачать потом в эксель и красиво выдать кривую? Потому как для анализа глазками шарахаться между файлами по временным срезам - вряд-ли удобное решение...Если из множество кэшей писателей захотите свести к одному выводу в файл - то там ышо круче рассинхронизация начнёт наблюдаться... На любителя или медлунных систем типа хэйлохты мир - имхо... ======== сам обычно использую асинхронный, быстрый интерфейс к формированию единого потока данных, далее можно более медленно запись в файл. Если есть типизация данных, то вот в данном случае логи разные: - запись контрольных точек и "голубых экранов" - логгирование инфы состояния: датчики-флаги-бизнес логика - запись данных критичных к выполнению: изменение стэков, захват буфферов и памяти и т.д.. рулится всё это из интерфейса и с самой флэшки, типа ай-най файлика... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asteotefaniy 0 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба Вот здесь http://www.keil.com/support/man/docs/rlarm..._usingmcard.htm есть алгоритм настройки RL-FlashFS , но с использованием Configuration Wizard Каким образом ее правильно настраивать и подключать к проекту без использования каких-либо "визардов"? Или может вынести обсуждение в отдельную тему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jekin 0 17 мая, 2014 Опубликовано 17 мая, 2014 (изменено) · Жалоба Каким образом ее правильно настраивать и подключать к проекту без использования каких-либо "визардов"? Или может вынести обсуждение в отдельную тему? Настройка заключается в редактировании файла File_Config.c Это делать можно и в ручную, но лучше использовать визард, чтобы корректно настройку произвести. Там снизу Вы можете видеть две закладочки: "text editor" и "configuration wizard" А Вы какую версию Keil MDK используете? Просто в новой версии (5.x) принцип подключения библиотек немного поменялся. Изменено 17 мая, 2014 пользователем Jekin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asteotefaniy 0 17 мая, 2014 Опубликовано 17 мая, 2014 (изменено) · Жалоба Раньше использовал 4.73, сейчас перешел на 5.10.xx Изменено 17 мая, 2014 пользователем Asteo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jekin 0 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба В новой версии Middleware подключается через "Manage Run-Time Environment": http://www.keil.com/support/man/docs/uv4/u..._rtemanager.htm Там же можно выбрать и другие необходимые драйвера. Кстати, вот пример для демо-платы MCBSTM32E - использование FlashFS, с картой SD в том числе. Boards.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asteotefaniy 0 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба Создал тему про Keil RL File System отдельно , дабы не было "Всего и сразу". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asteotefaniy 0 19 мая, 2014 Опубликовано 19 мая, 2014 · Жалоба сам обычно использую асинхронный, быстрый интерфейс к формированию единого потока данных, далее можно более медленно запись в файл. можете более подробно объяснить основные принципы "формирования единого потока данных" , собственно то, над чем я "туплю" :) про "ini" файлик тоже объясните, если не сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 19 мая, 2014 Опубликовано 19 мая, 2014 · Жалоба AlexandrY, на счет гибкости системы я с Вами согласен. Но функционал обрисова в первом посте топика. Что касается жесткого реального времени для АЦП. Как правило, в GPS трекерах это не требуется. И дискретизации данных в 1 секунду вполне достаточно. Функционал это что должен дивайс делать, а не какая периферия у микроконтроллера. Т.е. какие датчики в каких задачах управления задействованы. Например акселерометр для идентификации вибраций, или для инерциальной навигации. Или датчики тока-напряжения для управления рулями или двигателями. Или датчики для управления зарядником. Или микрофоны для записи звуков и т.д. Вот такое описание функционала и даст только представление о критичности задач и соответственно о свойствах логеров. Кстати все что перечислил требует жесткого реального времени. Например в моем дивайсе активируются сразу больше десятка независимых логов: -системный (следит за порядком включения-выключения задач и другими общими событиями) -лог протокола PPP -лог событий для отправляемых на сервер -лог GSM протокола -лог GPS протокола -лог GPRS сессий -лог зарядника -лог поступающих сообщений по SMS -лог TCP/IP протокола -лог HTTP протокола и облачных сервисов -логи сырых данных всех UART-ов Все логи идут в свои файлы с метками времени с точностью до 1 мкс. А вот для быстрой периферии типа АЦП или I/O сопроцессора реализуются еще синхронные логи. Синхронные логи могут быть очень большими, до гигабайт. Никакой Excel и даже Matlab их загрузить не может. Пишутся специальные утилиты обработчики таких файлов. Синхронные логи специфичны для каждого применения поэтому конфигурируются, но ini файлы для этого слишком примитивны. Конфигурирование выполняется JSON файлами. Конфигурируется частота дискретизации, какие сигналы будут записываться, тип данных, параметры фильтрации, конвертирующие функции. Для синхронных логов нужна большая динамическая память для буферизации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 19 мая, 2014 Опубликовано 19 мая, 2014 · Жалоба ...основные принципы "формирования единого потока данных"...про "ini" файлик тоже.. если речь идёт про ось(FreeRTOS), то можно завести очередь, в которую будут пихать инфу все кому не лень (ну например с указанием критичности, модуля, файлика, дата создания файла, строчка в файле, сама формируемая строка, параметры, имя потока и т.д.). завести поток который будет читать из этой очереди дополнять такой инфой как время создания сообщения, формировать строчку вывода в общем буфере. по наполнению буффера - скидывать его в файлик (ежели том смонтирован, типа флэш вставлена). и обозвать это к примеру поинт лог... можно на эту-же нитку повесить сбор инфы и формирование других логов - ну например сбор посекундной информации с датчиков. или там критические данные (остаточный размер стэков, развёрнутая инфа о точке произошедшего эксепшена и т.д.)... если сделать синхронный доступ к файловой системе в данном потоке, то можно будет завести и асинхронную работу с данной файловой системой. ну например создавать-читать-писать файлы, каталоги и иже... в момент подъёма софта, после подготовки флэши к работе, вы можете считать(или сформировать если нет) ini файл вашего устройства. тем самым упрощается первый старт девайса. т.е. достаточно вставить в большого брата флэш, прописать ini файл (ну или запустить с пустой - девайс сам его создаст по умолчанию) - параметры сети, необходимость писать логи, имя вэб сервера, IP адрес, необходимость запуска WiFi и т.д. и т.п. (формат ini файла прост: секция, имя поля=данные). вставляее в свой девайс, он считывает первоначальные установки, по дате-времени файла принимает решение - это новые установки или он уже их считывал. считывает если нужно, сохраняет в свою внутреннюю флэш(к примеру). всё. девайс готов к работе. актуально при запуске девайса при отсутствии органов ввода-вывода инфы. например общающегося через WiFi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asteotefaniy 0 14 июля, 2014 Опубликовано 14 июля, 2014 · Жалоба Доброго времени суток! В свободное время продолжаю работу над проектом. По советам выше формирую единый поток данных, далее с помощью задачи принимающей очередь смотрю что за инфа и пишу в тот или иной файл. Дошел до организации архитектуры приема-передачи. Вопрос: каким образом организовывается передача данных в логгерах/трекерах с использованием RTOS??? расскажите в общих чертах про логику работы задачи(задач), отвечающей за передачу. Что она(они) должна уметь, что учитывать и тд. Или ткните пальцем, где все это дело можно почитать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 17 июля, 2014 Опубликовано 17 июля, 2014 · Жалоба В состав Keil MDK Pro входит многопоточная файловая система Keil FlashFS. RAM диск в Keil FlashFS также поддерживается Ух ты, и я не знал! Jekin огромное спасибо ! Пока не знал о FlashFS, успешно прикрутил к FreeRTOS файловую систему FatFS , два независимых потока для работы с двумя SD картами. Правда с извращениями, в момент создания файла может работать только один поток. Судя по описанию, FlashFS на много мощнее. Такие вещи как функция дефрагментации диска мне с FlashFS и не снилась. Кто использовал, скажите, эта FlashFS хорошая, безглючная и легко и с ней всё легко работать ? Или есть подводные камни ? О FatFS я могу сказать только хорошее : всё просто, глюков не видил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grv 0 4 октября, 2015 Опубликовано 4 октября, 2015 · Жалоба Коллеги, поскажите. Есть вполне увесистый проект на stm32f207 + FREERTOS + Keil к которому нужно прикрутить SD-карту для чтения файлов конфигураций/ записи логов, т.е. особых требований к производительности нет. Единственное логи должны писаться с нескольких задач. Вопросы: 1.какую FS выбрать ? -FatFS (есть опыт работы в суперлупе) - Keil RL-FlashFS - Super Lean FAT File System (есть на сайте FREERTOS) - другое 2.соит ли заморачиваться с подключением по SDIO, либо оставить все на SPI ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 19 апреля, 2019 Опубликовано 19 апреля, 2019 · Жалоба Здравствуйте. Подскажите, что почитать по теме. Пока прошёлся по докам FreeRTOS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 20 апреля, 2019 Опубликовано 20 апреля, 2019 · Жалоба В 19.04.2019 в 12:25, doom13 сказал: Здравствуйте. Подскажите, что почитать по теме. Пока прошёлся по докам FreeRTOS. Почитать что? По какой теме? По использованию RTOS для МК? Начните с основ любой RTOS - организация многозадачности, средства синхронизации потоков и т.д. Это стандартный набор для построения любой RTOS. Ну а так, навскидку: А. Курниц. FreeRTOS - операционная система для микроконтроллеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться