Страница 88 из 117 ПерваяПервая ... 3878868788899098 ... ПоследняяПоследняя
Показано с 871 по 880 из 1349

Тема: Hardella IDE

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Вот тут вопрос целесообразности.
    С одной стороны, встроить можно. С другой вопрос того, насколько часто оно нужно. Как-никак, встраивание это время на разработку.
    Прямо нужен инструмент?
    Если вопрос в обсчёте нескольких вариантов -- могу запустить.
    Такая утилита была бы очень полезна. Желательно бы было выводить:
    1) время и число импульсов (n) при разгоне;
    2) время и число импульсов при работы с постоянной скоростью;
    3) время и число импульсов при торможении;
    4) общее время и число импульсов.

    Также хорошо бы было видеть графики f=F(t) и n=F(t).

    Делать или нет решать вам. По хорошему фирме "ОВЕН" давно пора обратить внимание на Hardela и оплатить ваш труд. Инструментарий весьма добротный, ничего лучшего пока нет.
    Последний раз редактировалось IVM; 01.12.2017 в 13:23.

  2. #2

    По умолчанию

    ФБ Steper для PRU, который меняет параметры движения на ходу бы очень интересен.
    Последний раз редактировалось IVM; 02.12.2017 в 17:37.

  3. #3

    По умолчанию

    Еще один вопрос. Как узнать сколько памяти занимает программа для PRU ? Размер памяти - 1 кБ, так ?

  4. #4

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Еще один вопрос. Как узнать сколько памяти занимает программа для PRU ? Размер памяти - 1 кБ, так ?
    Максимальный размер программы -- 1024 PRU команды (4096 байт). Суммарно может быть 2 программы одновременно (одна для PRU0, вторая для PRU1)
    Размер занимаемой памяти видно в коде генерируемой ..._PruXInit программы.

    Например:
    Код:
    ...
    PROGRAM BlinkningLeds_Pru1Init
    (* Generated by Hardella IDE 1.8.0: https://hardella.com *)
    VAR_INPUT
      enable : BOOL := TRUE; (* PRU is reset on the R_TRIG(enable) *)
    END_VAR
    VAR_OUTPUT
      running : BOOL := FALSE; (* TRUE when PRU is running *)
    END_VAR
    VAR
      initDone : BOOL := FALSE;
      enTrg : R_TRIG;
      xx, yy : POINTER TO DWORD;
      x, i : DWORD;
      pruCode : ARRAY[1..38] OF DWORD :=
          16#51000102, 16#15012121, 16#01002141, 16#15012161, 16#24f08082, 16#2402fac2, 16#91000303, 16#51000306, 16#51020301, 16#51030302
        , 16#91040301, 16#24000003, 16#81000303, 16#24780ce3, 16#f1002383, 16#013ce3e3, 16#66e2e3f6, 16#00e2e0e0, 16#24780ce3, 16#f1002384
        , 16#010ae4e4, 16#48e4e203, 16#240000e5, 16#21001ee1, 16#04e4e2e5, 16#c900e502, 16#1501e5e5, 16#5100e503, 16#0502e5e5, 16#6f00e5ff
        , 16#e1002385, 16#11ffde82, 16#090841c2, 16#12c28282, 16#090961c2, 16#12c28282, 16#010082de, 16#210000e1;
    END_VAR
    ...
    Это означает (см объявление переменной pruCode), что программа BlinkningLeds занимает 38 из 1024 команд в PRU1.
    Последний раз редактировалось Владимир Ситников; 04.12.2017 в 13:19.

  5. #5

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Максимальный размер программы -- 1024 PRU команды (4096 байт). Суммарно может быть 2 программы одновременно (одна для PRU0, вторая для PRU1)
    Размер занимаемой памяти видно в коде генерируемой ..._PruXInit программы.

    Например:
    Код:
    ...
    PROGRAM BlinkningLeds_Pru1Init
    (* Generated by Hardella IDE 1.8.0: https://hardella.com *)
    VAR_INPUT
      enable : BOOL := TRUE; (* PRU is reset on the R_TRIG(enable) *)
    END_VAR
    VAR_OUTPUT
      running : BOOL := FALSE; (* TRUE when PRU is running *)
    END_VAR
    VAR
      initDone : BOOL := FALSE;
      enTrg : R_TRIG;
      xx, yy : POINTER TO DWORD;
      x, i : DWORD;
      pruCode : ARRAY[1..38] OF DWORD :=
          16#51000102, 16#15012121, 16#01002141, 16#15012161, 16#24f08082, 16#2402fac2, 16#91000303, 16#51000306, 16#51020301, 16#51030302
        , 16#91040301, 16#24000003, 16#81000303, 16#24780ce3, 16#f1002383, 16#013ce3e3, 16#66e2e3f6, 16#00e2e0e0, 16#24780ce3, 16#f1002384
        , 16#010ae4e4, 16#48e4e203, 16#240000e5, 16#21001ee1, 16#04e4e2e5, 16#c900e502, 16#1501e5e5, 16#5100e503, 16#0502e5e5, 16#6f00e5ff
        , 16#e1002385, 16#11ffde82, 16#090841c2, 16#12c28282, 16#090961c2, 16#12c28282, 16#010082de, 16#210000e1;
    END_VAR
    ...
    Это означает (см объявление переменной pruCode), что программа BlinkningLeds занимает 38 из 1024 команд в PRU1.
    Владимир, у меня PRU1 управляет драйвером ШД. Код занимает 490 слов. Хочу управлять через PRU1 еще одним драйвером ШД. Правильно я понимаю, что памяти для этого хватит (490 + 490 = 980) ?

  6. #6

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Владимир, у меня PRU1 управляет драйвером ШД. Код занимает 490 слов. Хочу управлять через PRU1 еще одним драйвером ШД. Правильно я понимаю, что памяти для этого хватит (490 + 490 = 980) ?
    Пробуйте. Да, может получиться.

    И, да, если расскажете о задаче, может навести меня на какую-нибудь мысль.

    Я всё подумываю добавить "изменение скорости на ходу" и т.п., но никак не приходит в голову как оно концептуально должно работать.
    Как какая-то очередь команд что-ли?
    Грубо говоря:
    host -> pru: "едем 2 метра". "Ок, поехали"
    host -> pru: "кстати, потом ещё метр". "Ясно, не забуду"
    host -> pru: "а потом останавливаемся по DI1". "Ясно, не забуду"
    host -> pru: "Эй, тормози прямо щас, там палец прижало!". pru: "Хорошо, стоим"

    Так что-ли?

  7. #7

    По умолчанию

    Значит общая память 1024 команды для двух PRU. А деление памяти между PRU произвольное? Например 30% для PRU1 и 70% для PRU2.

  8. #8

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Значит общая память 1024 команды для двух PRU. А деление памяти между двумя PRU произвольное? Например 30% для PRU1 и 70% для PRU2.
    Нет. У каждого PRU ядра своя память.
    PRU0 -- 1024 команды
    PRU1 -- 1024 команды

  9. #9

    По умолчанию

    Все команды для PRU четырехбайтные ?

  10. #10

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Все команды для PRU четырехбайтные ?
    Да, все занимают по 4 байта.

Страница 88 из 117 ПерваяПервая ... 3878868788899098 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •