Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Архив в EEPROM,организация,сортировка
Отправлено
IGR_NV 24 июля 2008 г. 12:18
Суть задачи:
Некое функциональное ПО (на микроконтроллере) производит периодический (интервальный) сбор данных и формирует запись
для сохранения в EEPROMе (архиве).
Запись представляет собой фиксированный набор считанных параметров (P1,P2,...Pn).
Сложность заключается в том, что сохранение очередной полной записи должно осуществляться сортировочно по ОДНОМУ из
параметров этой записи (к примеру Р3), и по заданному внешним ПО методом сортировки:
- fifo;
- lifo;
- largest;
- smallest;
- nearest to zero;
- farest from zero;
Перезаписывать весь архив при поступлении новой записи (пересортировка записей) весьма проблематично, архив большой и ограничения по времени.
Суть вопроса.
Пока только видится вариант организации архива методом связанных списков.
Тоесть пересортировку делать только указателей.
Кроме того, при имеющемся уже архиве,в любой момент внешнее ПО может поменять метод сортировки и параметр сортировки на другой.
Тогда надо перелопачить весь архив.
Каким способом сортировки лучше воспользоваться? Учитывая что работаем с EEPROM и ОЗУ мало.
Если кто сталкивался с такой задачей, насколько это сложно?
Буду весьма благодарен за любые подсказки,идеи или примеры по организации такого архива и способам быстрой пересортировки.
Спасибо.
C Ув. Игорь.
Составить ответ | Вернуться на конференцию
Ответы
- Я б не перелопачивал архив по способу сортировки, а имел бы (+) - Quasy (24.07.2008 13:29:38 192.168.0.207,80.243.9.34, 807 байт)
- внешнее ПО пусть и сортирует - оно, как правило, совсем не ограничено ни во времени, ни в памяти - ARV (24.07.2008 13:10:4 172.20.20.19,87.117.3.6, пустое)
- параметры это что, скалярные типы или структуры? какой размер архива? у Pn, n = const ? - ы (24.07.2008 13:08:52 80.92.98.211, пустое)
- Правильно сформулированный вопрос содержит половину правильного ответа :) - RED_DRAGON (24.07.2008 13:07:17 213.140.119.41, пустое)