Jump to content

    

si21

Свой
  • Content Count

    53
  • Joined

  • Last visited

Community Reputation

0 Обычный

About si21

  • Rank
    Участник

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

876 profile views
  1. А самому внимательно посмотреть лень? - ФС активно используется уже 3 года без нареканий в 4-х видах изделий, релизы конца 2006 г. вполне работоспособны и надежны (у меня работает под АРМом). - Там не мусор лежит, а полный комплект нормальных исходников с тестовыми примерами, в т.ч. и в режиме эмуляции флеша, с небольшими изменениями за 1-3 часа запускается под MSVS - для отладки/изучения. - Примеры написания драйверов есть, тем более если без ОС или под ОС типа uCOS достаточно написать пару примитивных аппаратно-зависимых подпрограмм записи сектора/чтения сектора/стирание блока флеш-памяти и вперед :).
  2. Посмотрите в сторону YAFFS2 (http://www.yaffs.net/), как раз разрабатывалась для NAND с учетом использования ресурса, если только удовлетворит требованиям по RAM. Там так же есть вариант интерфейса Direct позволяющий использовать эту ФС без ОС.
  3. Блин, невезуха, а я собрался в новой разработке использовать PXA27x :(
  4. Евгений, в отношении uCOS полностью с Вами согласен. Компактная, достаточно легко портируемая, шустрая при межзадачном переключении, с минимальными накладными расходами в прерываниях и т.п. 16-18 параллельных задач с поддержкой LCD-графики (своя полнооконная система со всеми наваротами) и бешеной нагрузкой в режиме прерываний (более 20 разнотипных каналов ввода-вывода: SPI/RS232/LPT/ETHERNET/Порты на ПЛИС, большая часть из них достаточно тупые и слабо буферизированы) с таймером 1 миллисекунда (OS_TICKS_PER_SEC = 1000) на 90 мГц ARM CPU отрабатываются со свистом (кратковременная пиковая загрузка до 90% - средняя 30-40%, средняя частота межзадачного переключения мониторится в диапазоне 1200-700). >>>> ***************** YAFFS (Сейчас, конечно, имеет смысл юзать YAFFS2) si21 (Электроникс) успешно использует ее для простых ARM устройств. >>>> Простыми я бы назвал условная, т.к. работает полноценная СУБД с индексными файлами (всего ~ 40-60 файлов минимум) + непрерывное (поточное) пополенение журналов и различных логов, позволяет легко как отдельные каталоги подключить отдельные чипы флеш и части одного флеш-чипа ....Много можно писать, но получится что хвалюсь :)
  5. На вскидку: CIRRUS Logic - EP9312/EP9315, Intel - PXA26x/PXA27x
  6. Может не совсем в тему, но я лично уже давно отказался от __interrupt и т.п. Небольшой эпилог/пролог на ассемблере при входе/выходе в прерывание и нет проблем. Например, для irq (ARM720): IRQHandler: ; Fix the return address sub lr,lr,#4 stmfd sp!,{r0-r3,r12,lr} bl IRQ_ISR_Handler -> моя п/п-обработчик, написанная как обычная (рядовая) ф-ция ; выход из пр-ия ldmfd sp!,{r0-r3,r12,pc}^
  7. Возможно, будет интересно - полазил по папкам инсталлированного subj и нашел ответ на вопрос - вывод в IDE размера кода/данных файлов отрицательными числами. В документе subj\RVDS\Product\2.2\169\readme.html, раздел "CodeWarrior for RVDS Release Notes (Windows only)" указано: "By default code and data sizes are not shown beside the source files in the project window to speed up build times (they appear as -1). To re-enable this feature, go to the RealView Target panel and select Show Object Sizes." Т.е., по умолчанию это сделано специально с целью увеличения скорости компиляции, и если эти данные требуются - залазим в закладку проекта RealView Target и устанавливаем "птичку" на опцию "Show object sizes"- после перекомпиляции файлов все нормально показывается.
  8. Для своего чернового варианта делал аналогично - на базе Waterloo TCP (правда, полность не завершил). Многозадачность обеспечил за счет семафоров на доступ и связных списков под буфера посылок
  9. Может для Вас Америку я не открою , но сам бы поступил так - проштудировал описания/исходники открытых текстов существующих RTOS - часто т.о. находишь "изюминки", которые не упоминаются. Сам, когда начинал программировать (а это уже более 25 лет), т.о. получил хорошую школу.
  10. Процессор по нынешним понятиям - середнячек :) и загружен при работе до 70% (больше не даю, т.к. должен обязательно быть запас на обработку пиковых ситуаций), а в отношении более мощных - Вы правы, ведь сейчас это уже стоит "копейки" и новые МК по энергетике хороши. P.S. Просто я достаточно долго выбирал ФС, прошел и jffs, и jffs2 (были и другие в течение 5 лет) - в результате с точки зрения ресурсов/надежности/удобства - для меня это лучший выбор
  11. Да нет, как раз Linux и не пользую - слишком много гробится времени в переключателе задач/обработке пр-ий и относительно много RAM жрет. Здесь меня пока выручает uCOS (минимальные накладные расходы и время отклика). В YAFFS1/2 как раз и нет "наворотов полноценной файловой системы" - т.к. собственно сам интерфейс файловой системы (для direct-mode) реализован буквально в одном примитивном файле с набором вызовов к ядру ФС, но тем не менее, реализовано все, что требуется - например, я работаю с полнофункциональной СУБД собственной разработки ("минималистская" реализация) и не испытываю никаких ограничений. Но, естественно, это мой опыт и мое мнение :)
  12. ИМНО, не стоит закладываться на Samsung - я к ним тоже раньше присматривался (МК вроде не плохие), но они как-то не стабильны в плане гарантированности того, что чип можно будет купить через год - часто у них он очень быстро снимается с производства (в течении года).
  13. Не хочу начинать бессмысленный спор, но интересно, чем же микроконтроллер отличается от процессора в вашем представлении? По большому счету, только набором развитой периферии! Современные МК переплевывают CPU 7-5-летней давности. Кроме того, ОС НЕ СНИЖАЕТ НАДЕЖНОСТИ ИСХОДНОЙ ПРОГРАММЫ/КОДА, все зависит от умений/опыта/рук/настроения/состояния - выберите нужное - программирующего :)
  14. С YAFFS2 (direct-mode, ARM CPU 90 Mhz) работаю и сейчас (раньше использовал портированную jffs - это небо и земля) и не совсем с Вами согласен. 1. Расход памяти (RAM) - зависит от конфигурирования (исходных параметров). 2. Gabrage collection - медленноват для NOR-flash, для NAND - очистка сектора (страницы) достаточно быстра (~ 2 ms) и тормозов практически нет 3. перемещение - в этом же суть ФС для флеш-памяти! Благодаря этому, сохраняется ресурс секторов на запись - нет их быстрого "убивания" (идет равномерное использование)! 4. Для обеспечения быстродействия - разумный компромис между RAM и Flash диском (используя все ту же YAFFS2). 5. Приблизительно - у меня в embedde-system - 3 раздела/диска (1 RAM, и 2 - на разных чипах - flash) темп поступления инфо - не менее 500-800 байт в 20-100 мс, все прекрасно (размер конечного файла - не менее 6-8 МБ + 30-40 статичных БД/ИФ файлов, из к-рых читается инфа) 6. Небольшую чистку исх. файлов YAFFS2 можно сделать - с точки зрения оптимизации. Нормальный расход флеш (мой опыт): максим. использование объема - не более 60-70% (т.е., если, например, файлы совокупно будут использовать до 1 МБ, желательна флеш объемом не менее 1.6 МБ) P.S. 1. Для NAND - приведено время очистки блока, а не страницы. Например, если размер страницы 2К, то размер блока м.б. 128К - т.е. 64 страницы, и время очистки блока - порядка 2 миллисекунд 2. YAFFS работает с NAND со страницами в 512 байт (+ 16), YAFFS2 - с NAND со страницами в 2К