Перейти к содержанию
    

GenaSPB

Участник
  • Постов

    3 009
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Весь контент GenaSPB


  1. Найдите правильный код для этого слоя... CSC не включать. Попробуйте в минимальном наборе (помните историю с color key & stretch - когда заработало без linux sdk)
  2. Похоже, CSC включается ЗА блендером... А поставить нужный формат одному слою?
  3. описания не нашел - год назад видел.. У него первые 18 совпадают с тем что на 30 пин выходит.
  4. Стандарт на lvds - 2x10 с шагом 2.0 мм вроде нарисовали. А вот dsi каждый дисплей сам по себе. Да и не особо надо мне.
  5. Но действительно они обычно у всех панелей на совпадающие разрешения оказываются одинаковыми. Horizontal back porch, то upper margin.. - тут наверное vertival back porch Делаю очередную плату для разбирательства с lvds выходом (там много чего экспериментального заложил, это в том числе).
  6. 1024 * 768 1024 * 600 А вообще в даташите на дисплей нежиданно...
  7. Посмотрел внимательнее... DACR у вас пишется 0xFFFFFFFF - все domains это Managers - но почему-то у меня выбрано в таблице 15 0 - у Вас код DOMAIN 0 - но возможно это не важно... Кажется для системы где всё можно, выбор не особо важен. Проверил - не влияет.
  8. Я намекаю что интерпретировать те magic numbers в вашем исходнике с целью выяснить правильно ли они сделаны трудно. втоое - вы не делаете различия в том какая память - периферия или ОЗУ - и заполняене все одинаковыми значениями.... В личку писал - мы в одном городе - можно денёк посидеть совместно - я бы попробовал свой загрузчик нна Вашем железе поднять...
  9. Создаете таблицу трансляции - у регионов относящихчся к ОЗУ - ставьте биты "кешируем и wirte-allocation" Посмотрите кусок из моего проекта - с функции SystemInit начиная (зачем для включение кеша потребовался ассемблер?) https://github.com/ua1arn/hftrx/blob/ed59bc3d1485f1e0c5017a64a69b2ce710507044/src/hardware.c#L3687 ttb_1MB_accessbits - тут смотрим к чему относится адрес памяти и выбираем нужные атрибуты страницы. Вопрос - что за процессор, сколько ядер задействовано
  10. Сократить размер пакета возможно? Термин отбеливание это не про randomizer?
  11. Я запускал это не с st-шными vid pid. Так что виндовс обслуживание в себе содержит. Да включите мобильник в режиме file transfer- он так же прикинуться может
  12. Ну не знаю что за костыли... mtp из стека ST вполне винда 10 видит к к диск
  13. MTP на уровне доступа к файлу предоставляет доступ. Кажется, на таком уровне совместный доступ можно обеспечить.
  14. Так кому надо могут дополнить... я на этом эрзаце уже запустил проект. Считаю более удобным чем файл с набором смещений и read32 write32 ситаксис описания полей могу предложить
  15. Вот там лежит исходник генератора - а в подкаталоге aw_f133_t113s3 набор .csv файлов с описанием структуры периферии. Так же там .cmd файлы для запуска и генерации соответствующего набора файлов. Редактировать пока не приходилось... Но если перейду на .svd как базу хранения информации - то как - то придется озаботиться. Ну хоть Eclipse имеет встроенный редактор/просмотрщик - но тормозной даже на этом 0.5 мегабайта (23 тысячи строк) файле ужасно... зы: дополнения/изменения/доработки приветствуются.
  16. Файл svd дополнил номерами прерываний... Зачем - не понятно. Возможно потом перейти на него как на основное место хранения информации о периферии и генерировать CMSIS header уже из него, а не из своей текстовой базы.
  17. Я - нет. Но есть любители... Полагаю на начальных этапах кому-то может помочь. Я лично даже в очень тяжелых случаях пользовался иногда отладкой по косвенным признакам... Для 80386 bare metal - повисло или перезагрузилось... Для Allwinner A64 (запуская остальные ядра) - писал в память лог возможно выполняющегося кода, потом смотрел xfel дамп этой области. А так - печать в порт.
  18. Если у кого есть сабжевый процессор с выведенным jtag - проверьте как отладчик подхватит этот файл описание процессора (svd). Ну и в комплекте текущий cmsis header. svd: aw_t113s3.zip cmsis: t113s3_cmsis.zip ps: кстати, кто интерсуется V3s - надо дозаполнить текстовую базу регистров (копированием таблиц из user manual) и можно будет и под него сделать такие файлы). Всё тут. Под v3s только заготовка.
  19. И все таки. Сколько плоскостей в de оказалось и каких В v3s и t113s3.
  20. Ясность появилась. Сохранение/восстановление перделал как надо (32 без двух целочисленных регистров и 32 double). сохранение/восстановление mstatus, mpc, mcause вокруг вызова обработчика (под запрещенным через mstatus.MIE запросами). void VMEI_Handler(void) { const uint_fast16_t int_id = PLIC->PLIC_MCLAIM_REG; PRINTF("VMEI_Handler enter: int_id=%u\n", int_id); if (int_id != 0) { //const uint32_t prio = PLIC->PLIC_MTH_REG; #if WITHNESTEDINTERRUPTS const uint_fast8_t priority = PLIC->PLIC_MTH_REG; /* текущий уровень приоритета */ PLIC->PLIC_MTH_REG = PLIC->PLIC_PRIO_REGn [int_id]; /* обрабатываемый уровень приоритета */ const uint_xlen_t mepc = csr_read_mepc(); const uint_xlen_t mcause = csr_read_mcause(); const uint_xlen_t mstatus = csr_read_set_bits_mstatus(MSTATUS_MIE_BIT_MASK); /* раразршение прерываний */ ASSERT((mstatus & MSTATUS_MIE_BIT_MASK) == 0); /* прерывания были запрещены при входе в обработчик */ #endif /* WITHNESTEDINTERRUPTS */ __FPU_Enable(); ASSERT(int_id < MAX_IRQ_n); (plic_vectors [int_id])(); #if WITHNESTEDINTERRUPTS csr_write_mstatus(mstatus); csr_write_mcause(mcause); csr_write_mepc(mepc); PLIC->PLIC_MTH_REG = priority; /* восстанавливаем обрабатываемый уровень приоритета */ #endif /* WITHNESTEDINTERRUPTS */ //PLIC->PLIC_MTH_REG = prio; PRINTF("VMEI_Handler exit: int_id=%u\n", int_id); PLIC->PLIC_MCLAIM_REG = int_id; /* EOI */ } } Я правильно понял, что сперва в архитектуре источники запосов проходят через регистр mie - а затем фильтруется mstatus.MIE ? ... осталось разобравтьс с PLIC - выдает прерывания того же приоритета до EOI обрабатываемого. Ожиждаемое поведление - прерывается только более высоким приоритетом
  21. Так я все gp и плавучку сохраняю . В Isa не понял откуда адрес берет.
×
×
  • Создать...