реклама на сайте
подробности

 
 
> Логирование данных во внешнюю память.
Jenya7
сообщение Feb 4 2015, 09:25
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



мне нужно логировать данные во внешнюю память.
каждая запись это структура. думал сделать circular buffer чтоб можно было читать/писать из разных потоков. вопрос есть ли какая нибудь готовая библиотека чтоб не городить свои велосипеды?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WitFed
сообщение Feb 4 2015, 16:26
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



Я бы порекомендовал от вечных шлюх последнего времени (многопроцессорности) удалиться, тогда реализация мьютекса будет одной командой -- запрещение/разрешение прерываний, которая обычно выносится в интринсики производителем. Вряд ли при запрещённом прерывании сможет случиться нечто, которое переключит задачи и внесёт сумятицу в процесс инкремента указателя, в котором обычно "собака роется".
Упоминание "SPIEEPROM" у ТС говорит о достаточной медлительности самой операции записи, так что разбить исходную структуру на байты или хотя бы short-ы будет нестрашно. Хотя в идеале -- захочется несколько типов данных пихать рано или поздно, тогда в "систему" "прирастёт" длина "пакета", его "тип", время его "случения", где-то рядом с кольцевым буфером надо будет хранить его текущие позиции "начала" и "конца"... Короче, получится настоящая трассировка всего, чего "приспичит" отладить "вживую", а потом "выгрузиться" в удобной форме... Эта тема очень объёмная в идеале, даже если не трогать "настоящих шлюх", а для них легче тогда устроить отдельные ЦБ для каждого ядра, потом сливать...
Лучше бы "EEPROM" делать в конце всего исполнения -- когда "усё пропало", а до того складироваться в ОЗУ -- оно обычно быстрее. Ну и если опереции "EEPROM" нереентерабельные -- их тоже придётся под мьютекс затягивать.
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Feb 4 2015, 16:37
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502




Цитата(Jenya7 @ Feb 4 2015, 16:26) *
да вот думаю как увязать все вместе.


А, кстати, есть еще один тонкий момент... что такое structure members padding знаете ?
При записи своих структур в eeprom может доставить немало веселых моментов sm.gif

Сообщение отредактировал CrimsonPig - Feb 4 2015, 16:38
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   Логирование данных во внешнюю память.   Feb 4 2015, 09:25
- - toweroff   Цитата(Jenya7 @ Feb 4 2015, 12:25) мне ну...   Feb 4 2015, 13:32
|- - Jenya7   Цитата(toweroff @ Feb 4 2015, 19:32) что-...   Feb 4 2015, 14:14
|- - CrimsonPig   Цитата(toweroff @ Feb 4 2015, 13:32) что-...   Feb 4 2015, 14:20
|- - Kabdim   Цитата(CrimsonPig @ Feb 4 2015, 17:20) Ес...   Feb 4 2015, 15:18
|- - Jenya7   Цитата(Kabdim @ Feb 4 2015, 21:18) А заче...   Feb 4 2015, 15:30
|- - Kabdim   Цитата(Jenya7 @ Feb 4 2015, 18:30) мда......   Feb 5 2015, 10:53
- - Jenya7   упрощенно, в первом приближении написал так. как ...   Feb 4 2015, 15:15
|- - CrimsonPig   Цитата(Jenya7 @ Feb 4 2015, 15:15) не гор...   Feb 4 2015, 15:43
|- - Jenya7   Цитата(CrimsonPig @ Feb 4 2015, 21:43) То...   Feb 4 2015, 15:47
|- - CrimsonPig   Цитата(Jenya7 @ Feb 4 2015, 15:47) ок. а ...   Feb 4 2015, 15:57
|- - Jenya7   Цитата(CrimsonPig @ Feb 4 2015, 21:57) - ...   Feb 4 2015, 16:07
|- - CrimsonPig   Цитата(Jenya7 @ Feb 4 2015, 16:07) вот я ...   Feb 4 2015, 16:15
|- - Jenya7   Цитата(CrimsonPig @ Feb 4 2015, 22:15) А ...   Feb 4 2015, 16:26
- - Jenya7   Цитата(CrimsonPig @ Feb 4 2015, 22:37) А,...   Feb 4 2015, 16:45


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016