KolibriOS на производстве

Using Kolibri in embedded systems
  • : Это на хабре я могу только +1, а здесь я могу сколько угодно. Только тсс.
  • Spoiler:
    SoUrcerer wrote: : Это на хабре я могу только +1, а здесь я могу сколько угодно. Только тсс.
    Я говорю про моральную поддержку. Функции админа не будем трогать.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Нужен доступ - пиши драйвер.

    А я минусую.

    Если бы все было так просто и прямолинейно, тогда убогий WinDriver не был бы так популярен - не только в Винде, но даже в Линуксе.

    Напиши драйвер для GMON - тогда можно будет смело убирать 40-е из транка.
    И не забудь про 62-ю дырку. Ее тоже надо затыкать, сразу после разработки драйвера для PCIDEV.

    VitZ
    не слушай их - программёры нифига не смыслят в техническом творчестве.
    купи Fusion-плату, поставь Kolibri-A и общайся с любым железом напрямую, без драйверов и без 40-х функций.
  • art_zh
    1. Полностью с тобой согласен, для GMON нужен драйвер и ф.62 должна быть заткнута.
    2. Колибри хороша тем, что кардинальные изменения достигаются лёгким движением руки.
    Открываем taskman.inc, находим строку

    Code: Select all

    1134:        mov     [ebx+REG_EFLAGS], dword EFL_IOPL1+EFL_IF
    
    меняем EFL_IOPL1 на EFL_IOPL3 и наслаждаемся беспроблемным доступом ко всем портам и даже cli hlt :)
    Last edited by Serge on Tue Jun 18, 2013 9:16 am, edited 1 time in total.
  • На качественно организованном производстве
    переходник RS232/RS485 встречается не реже,
    чем персональный компьютер.
    Операционные системы приходят и уходят, а последовательный
    порт почему-то остаётся.
    Следующей идеей у меня было -
    подцепить какой-нть RS-485 девайс
    (в том же ключе, как на LPTе - светодиоды).
    Last edited by VitZ on Sun Jul 28, 2013 4:39 pm, edited 3 times in total.
  • Устройство двоичного вывода (0 - 24 В) i7042
    попытаемся подключить к $3F0 - адресу
    на скорости 115200, с 8мью битами данных,
    без проверки на чётность и с минимальным количеством стоповых битов.
    Last edited by VitZ on Fri Jul 05, 2013 11:41 am, edited 5 times in total.
  • VitZ wrote:Устройство двоичного вывода (0 - 24 В)
    не забудь про гальваническую развязку - у COM-порта (-12В ... +12В)
  • У меня на ноуте до 5В, так что это еще стоит вольтметром проверить.
  • Устройство i7042 подключаем к компу через переходник i7520;
    если (как у меня получалось раньше - из DOS'а) удастся послать
    в пром-линию через com-порт строку '$01M',
    то устройство (в данном случае i7042)
    пришлёт своё имя (i7042 в данном случае
    должно иметь в пром-линии адрес 01 и
    настройку на скорость 115200) ...
    Last edited by VitZ on Sun Nov 02, 2014 2:23 pm, edited 5 times in total.
  • ... в конце каждой строки
    общения между устройствами
    (комп <-> i7042)
    ставится символ (байт) 13.
  • В примере с LPT-светодиодами
    две процедуры (p3 и p4) можно
    свернуть в одну (по записываемому байту):

    procedure zapis_v_port(b:byte);
    begin asm
    mov eax,43
    mov bl,b
    mov ecx,888
    int $40
    end; end;

    Скорее всего и номер (адрес)
    порта тоже можно вынести -
    как параметр.
    Last edited by VitZ on Sun Jun 02, 2013 7:25 am, edited 1 time in total.
  • Конечно, можно.
  • У меня получилось:

    procedure zapis_v_port(pb1, pb2, b: byte);
    begin asm
    mov eax, 43
    mov bl,b
    mov ch, pb1
    mov cl, pb2
    int $40;
    end; end;
    ...
    if key=7 then zapis_v_port($3, $78, 255);
    if key=8 then zapis_v_port($3, $78, 0);

    , а как в ассемблере записать в регистр (ecx) для номера
    порта сразу 2а байта=word (888>255)
    (может какие-то квадратные скобочки рядом с ecx использовать
    или адрес этой переменной и указать количество её байт) ?
  • VitZ
    Размерность регистра и операнда должны совпадать для команды mov.
    Если хочешь записать именно word в ecx можешь воспользоваться к примеру командой movzx.
    Не пиши никогда идентификаторы, комментарии и т.д. транслитом, используй английский язык.
    Это вроде как Pascal с BASM'ом?
    Вместо кучи однотипных if лучше использовать конструкцию case of.
  • Who is online

    Users browsing this forum: No registered users and 5 guests