На самом деле операция деления в архитектуре ARM отсутствует. По этой причине везде, где в программе используется деление или остаток от деления компилятор неявно подставляет вызов функции эмулятора деления. Эмуляция деления - это кусок кода, который содержит циклы и и выполняется никак не меньше сотни-двух тактов. Так что, от деления хочется вовсе избавляться, когда есть возможность, и уж точно не заниматься делением при обработке данных. Замена деления...
Нашей операционной системе понадобился календарь. До сего момента у нас был штамп времени -- число секуд с момента включения, а тут вдруг понадобилось хронологический порядок человеку демонстрировать в понятных для человека условных единицах...
Файловая система опирается на понятие "блочного устройства". Не важно какой природы носитель, круглый или квадратный, жесткий или твердый, крутится или нет, -- все они для файловой системы равны. Драйвер должен уметь сохранить и прочитать один блок с носителя. Блок по стандарту равен 512 байт. Современные микросхемы NAND Flash в одном корпусе, в одной микросхеме, содержат до 4-х кристаллов памяти с независимым управлением, у каждого кристалла свой буфер обмена. В такой конфигурации можно начинать запись на второй кристалл не дожидаясь завершения процедуры записи или стирания на первом кристалле.
Файловую систему отлаживать в аппаратуре сложно, поскольку от неё будет зависеть жизнеспособность устройства. Так что, пришлось нашим написать полнофункциональный эмулятор файловой системы. Эмулятор - это приложение для Пк под управлением Windows или Linux. Приложение построено как архиватор, оно создает архив, образ диска, в формате нашей файловой системы. Затем архив можно распаковать, поизучать его содержимое и внутреннюю структуру. В конце концов смоделировать множество тестовых ситуаций и поизучать её поведение под отладчиком.
Файловая система -- это вам не просто так. Система FAT саморегуляцией не обладает, а как следствие накапливаются фрагментированные файлы. Множество фрагментов замедляет работу файловой системы. В нашей системе мы уделяли отдельное внимание вопросам саморегуляции на разных уровнях.
Решения... Рассказать в двух словах не получается.
Ссылка: http://www.matroska.org/technical/specs/index.html
По работе пришлось учиться разбирать файлы набирающего популярность формата Matroska (*.MKV). В него мы будем записывать HDTV-видео и субтитры. Здесь я буду конспектировать то, что я узнал.
Основа формата MKV - низкоуровневый формат EBML, так называемый Extensible Binary Markup Language, или двоичный XML.
Единственный постоянный читатель этого блога запросил новую рубрику.
Встречайте - рубрика Ламерство! Будут простенькие и короткие статьи для совсем новичков.
Первая статья о том, как новичку написать и скомпилировать простую программу "Hello, World!" в Linux. Она будет выводить приветствие и завершаться.
Продолжение. Начало тут.
Итак, диалог с модемом у нас есть, на любое наше "AT\r\n" он отвечает "OK\r\n". Разбор алгоритма разбора приходящих ответов я описывать не буду, там ничего интересного, одна рутина. А вот с отсылкой разберёмся.
Большинство мобильных телефонов - модемы.
Все модемы поддерживают изобретённый в 60-х годах набор команд Hayes.
Модемы, умеющие слать SMS, поддерживают расширенный набор команд, предназначенный для посылки SMS.
Как бы модем ни был присоединён к компьютеру (USB, Bluetooth, etc.), он всегда виден в системе как ещё один последовательный порт.
Чтобы узнать, что модем жив, надо подключиться к порту, сообщить "AT" и нажать Enter. Модем должен ответить "OK" и тоже нажать Enter.
Если просто "AT" писать лень, то можно написать "dfgfghsldfgkhskjdfAT". Модем увидит в конце нужную последовательность и снова ответит "OK".
Попробуем подключиться:
Ссылка: http://cncsoft.spb.ru/articles/scada/main
По долгу службы приходится рыться в потоке сознания начальства и выуживать оттуда логические цепочки. Наша новая тема - автоматизация всего и вся, именуемая буржуйским словом SCADA. Ссылка помаленьку обрастает выуженными цепочками, преобразованными в небольшие, сумбурно написанные статейки. Что они из себя представляют, ТЗ, рекламу наших возможностей или план работы, никому в лаборатории неизвестно, но концепция сама по себе интересна.