Jump to content

    

MementoMori

Свой
  • Content Count

    736
  • Joined

  • Last visited

Community Reputation

0 Обычный

About MementoMori

  • Rank
    Знающий

Recent Profile Visitors

1368 profile views
  1. STM32CubeIDE

    А потому что когда по дефолту стоял GDB, у меня тоже не запустилось. Я полез в тырнет, наткнулся на тему, созданную таким же страдальцем, как и я. В этой теме страдальца ткнули носом в мануал, где написано, что с серии F4 и выше GDB пока не поддерживается.
  2. STM32CubeIDE

    Решил и я попробовать эту IDE. Сгенерировал проект, он компилится без ошибок. При попытке залить код и запустить выдается следующее Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter speed: 8000 kHz adapter_nsrst_delay: 100 Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : clock speed 8000 kHz Info : STLINK V2J36S7 (API v2) VID:PID 0483:3748 Info : using stlink api v2 Info : Target voltage: 3.234506 Info : SRST line released Info : STM32H743BGTx.cpu: hardware has 8 breakpoints, 4 watchpoints Info : Listening on port 3333 for gdb connections Info : accepting 'gdb' connection on tcp/3333 Info : Device: STM32H74x/75x Info : flash size probed value 2048 Info : STM32H flash has dual banks. Bank (0) size is 1024kb, base address is 0x8000000 undefined debug reason 7 - target needs reset Assertion failed! Program: C:\ST\STM32CubeIDE_1.2.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.openocd.win32_1.3.0.202002181050\tools\bin\openocd.exe File: src/jtag/drivers/stlink_usb.c, Line 1169 Expression: handle != NULL This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. Я понимаю, продукт сырой, но все же..... в чем может быть причина? С железом и программатором все отлично, тот же проект, сгенерированный в кубе, если его генерировать не под STM32 IDE, а под Keil, нормально заливается и запускается
  3. TouchGFX и 32 битная SDRAM

    А у меня вот все же артефакты остались. Нет, те железные проблемы, полосы, при рисовании квадратиков через ДМА - исчезли полностью. А вот TOuchGFX все равно с артефактами - мусор и точки. Это если генерировать средствами куба и дизайнера. Вот товарищ roostopt как-то умудрился ручками запустить без артефактов. Пытаюсь повторить его подвиг. Или дождаться когда ST допилят свои библиотеки под H7
  4. TouchGFX и 32 битная SDRAM

    Ну что я хочу сказать.... Поставил я на плату STM32H743 https://cloud.mail.ru/public/4xPy/35mhDrsq7 Проблема просто исчезла. Правда, как и говорил кто-то, просто так перепрыгнуть с F7 на H7 не получится, есть нюансы. Но все же полагаю о F7 нужно забыть как о страшном сне. Кстати, какая-то странность со SDRAM появилась. Вот такой код for (y = 0; y < 5700; y++) { *(__IO uint32_t*)(SDRAM_BANK_ADDR + y*3) = 0x0000FF; } вываливает в HardFault. То есть, если пытаться писать по 3 байта. Меняю y*3 на y*4 - все нормально, правда цвет пишется неправильно. В F7 такого не было, код взят оттуда, из функции,рисующей прямоугольник в RGB888. Ну да бог с ним, через DMA2D все рисуется как надо.
  5. Обратитесь ко мне, с удовольствием сделаю проектик для Вас. Вы только скажите что за камень.
  6. TouchGFX работает ни с внешней памятью, ни с внутренней, ни с потусторонней. Он работает с двумя буферами располагающимися по некоему адресу. Из единого адресного пространства. А дальше все зависит от вас, как вы эту память организуете. И от ее объема.
  7. Трассировка преобразователя у меня такая
  8. Все-таки до конца проблемы с дисплеем не решены. Когда он у меня худо бедно заработал, я забил на частоту пиксельклока. Но теперь все же хочу получить законно (по даташиту) причитающиеся мне мегагерцы. А по факту не получается завести дисплей более чем на 30 МГц. Итак, напомню - контроллер STM32F746. Дисплей https://www.buydisplay.com/download/manual/ER-TFT070-6_Datasheet.pdf Контроллер дисплея https://www.buydisplay.com/download/ic/EK79001.pdf Согласно даташиту дисплей может работать с пиксельклоком до до 65 МГц У меня же после 30 МГЦ черный экран, с артефактами и прочим. Иногда есть неяркие мутные вспышки, во время которых на линиях питания VGL и VGH есть плавные просадки напряжения примерно 0.5 вольт (не ниже нижнего предела питания по даташиту). Для того, чтобы полностью исключить LTDC я принудительно настроил загнал ножки интерфейса как GPIO_Output и настроил на красный цвет. То есть в отправляемой информации на дисплей я уверен. Остается только клок. К сожалению, у меня нет возможности проверить осциллографом клок, мой не берет такие частоты. Но, как мне кажется, если бы дело было в клоке то я на экране ничего не увидел бы - каждый загоняемы в него пиксель - красный - ну подумаешь, пропущено пару клоков и что? Насчтет просадок напряжения -мне кажется что они являются не причиной, а следствием. В противном случае, если бы они зависели от контролера питания, поведение дисплея не зависело бы от частоты клока. Более того - просадки и вспышки - нечастое явление, в остальные 90% времени на линиях питания нет никаких просадок, но экран черный. Куда копать? Вот видео https://cloud.mail.ru/public/42Ba/DpBw5umNp
  9. TouchGFX и 32 битная SDRAM

    А какое у вас разрешение экрана было? У меня вот к примеру, как я уже писал, артефакты имеют место быть в 32 битном режиме, но если включаешь в 16 битный, то при перерисовке наблюдается то, что вы описали. И при включении обратно в 32 битный режим проблемы сильно уменьшаются, но не уходят. У меняя 1024х600, 24 битный цвет. Китайцы красавцы https://aliexpress.ru/item/33051221436.html?spm=a2g0o.productlist.0.0.1a3e5932oT6UPm&algo_pvid=94ab9a70-858b-4e0d-923d-d8dfaba0fb21&algo_expid=94ab9a70-858b-4e0d-923d-d8dfaba0fb21-2&btsid=0b8b034a15831703604504622ea072&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_ в модулях на основе imx6ul умудрились 24 битный цвет до 16 битного обрезать. Вот интересные модули https://aliexpress.ru/item/10000085794212.html?spm=a2g0o.productlist.0.0.1a3e5932oT6UPm&algo_pvid=94ab9a70-858b-4e0d-923d-d8dfaba0fb21&algo_expid=94ab9a70-858b-4e0d-923d-d8dfaba0fb21-7&btsid=0b8b034a15831703604504622ea072&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
  10. Есть Banana Pi. Похожа на Raspberry, но в отличие от нее работает с Android
  11. TouchGFX и 32 битная SDRAM

    Если они исчезают при отключении ChromART или при переводе графики в режим RGB565 - то это то же самое, что у меня. Если найдете решение, сообщите? Обещаю то же со своей стороны. Вы явно что-то не так настраиваете. Пока я разбирался, у меня тоже так было, но потом почему-то проекты стали работать. Хотя поначалу я тоже плевался и пытался генерировать отдельно, скрещивая ужа с ежом. Более того - установите самую последнюю версию куба и самую последнюю дизайнера. Они там внесли много изменений. И TOuchGFX настроить проще, если что не так, система внятно сообщает о том, что за ошибка.
  12. Не осилил тему... Так какой лучше купить?
  13. TouchGFX и 32 битная SDRAM

    Сделал еще один финт ушами - решил проверить, а нет ли конфликта между LTDC и DMA2D за память. Натравил LTDC на RAM по адресу 0x20010000, а сам в это время попытался порисовать прямоугольник в SDRAM - байты все так же бьются....
  14. TouchGFX и 32 битная SDRAM

    Сузил размеры буфера и окна вывода до 50х50 пикселей. Разместил его в RAM - по адресу 0x20010000. Средствами HAL, как полагается - pLayerCfg.FBStartAdress = 0x20010000; Прямоугольники выводятся без артефактов. Никакого выравнивания не делал. На всякий случай проверил новый буфер со SDRAM - те же самые артефакты. Резюме такое - сама SDRAM работает нормально (о чем говорят правильные прямоугольники при работе ручками). DMA сама по себе тоже работоспособна - работает же она с RAM. А вот DMA+SDRAM - беда... Тактирование SDRAM снизил - HCLK/3 - не помогло, AHB Prescaler поставил 2 - не помогло. Не в скорости значит дело. Попробовал ограничить пропускную способность DMA согласно даташиту Сделал вот так DMA2D->AMTCR |=0x01; DMA2D->AMTCR |=0xFF00; Не помогло. Я правильно поработал с регистрами? В отладчике видно, что в них записалось то, что нужно.