Jump to content

    

AVI-crak

Участник
  • Content Count

    234
  • Joined

  • Last visited

Everything posted by AVI-crak


  1. st32f767 QSPI

    S25FL256S qspi ddr 54мгц, наверное самый быстрый чип получается. Это чтобы графику хранить и использовать без предварительного копирования в память. А чтобы просто иметь размер - достаточно микро сд карту на пузико припаять, она выдержит - проверял.
  2. Секундочку, там-же вроде как программный юсб под миди протокол на выхлопе, только непонятно откуда данные появляются. То-есть переписывать вообще всё, имена файлов можно старые оставить, ради прикола.
  3. Всё верно, ARM ядру пофиг откуда читать код и данные, и под каким соусом. А вот системе защиты - нет. Не важно где располагаются ссылки и данные, важно чтобы код был только во флешь. Ну или как минимум - не выполнялся из рам, когда его не просят об этом.
  4. А вот это правильный вопрос. В линкере физическая память может иметь атрибуты: "x" - выполнение кода, "r" - чтение, "w" - запись. Разная память - разные сочетания атрибутов.
  5. Ну дык это основная фишка защиты ARM процессоров, они таким образом программный код от данных отличают.
  6. Обращение по адресу кратному двойке - это всегда чтение данных. Выполнение кода всегда в фоновом режиме прибавляет 1 к адресу. По этому нельзя запрещать чтение всей флешь памяти. Её нужно явно поделить на секции: только для кода, и только для данных. Ну и ещё один прикол, код немного разбухает - потому как данные теперь находятся чуть дальше обычного.
  7. Двухканальные режим qspi в stm32f469

    Везде есть ошибки, даже там где их не видно. В любом случае CMSIS развивается, чего-то там добавляют,чего-то урезают. Кубик завис в версии CMSIS, компания даже не пыталась его изменить под свои мк. https://github.com/ARM-software/CMSIS_5 Насчёт двух флешек - частоту придётся понизить. А для quad-spi прескаллер будет плясать между 2 и 3, там нет промежутка. Гораздо выгоднее использовать быстрый чип в DDR режиме, например S25FL256SAGMFI000.
  8. STM32F722 и Cache Coherency

    // ?????? HF Dream Receiver (?? ??????? ?????) Там наверное что-то важное было... До автоматической смены кодировки.
  9. Кубик обновился, появилась серия STM32MPxxx, с возможностью подключения DDR3 памяти. Вроде как можно победить, наверное.
  10. STM32H750 + Ethernet + веб-загрузчик

    Ну, возможно он не знает про младший бит адреса для данных и команд.
  11. С запуском меньше всего проблем, тем более для таких массовых экранов. В сети можно найти готовые сценарии запуска, функции естественно будут чужими - но вам нужны последовательность команд регистр-данные. Тут желательно на другое обратить внимание - то как он должен обновляться в рабочем режиме, точнее что вы собираетесь на него выводить. От этого зависит предпочтительная ориентация пикселов. Для того чтобы потом не выполнять дополнительный код по размещению точек графики, точнее сократить его до минимума.
  12. Есть ещё вариант с таймером и дма, но в любом случае случайные пикселы заливаются очень туго - смысла нет. Всегда выделяется область видимости экрана, после чего цвет сливается в режиме нон стоп.
  13. 30кадров в сек, на 107 чипе в режиме ногодрыга. Вы завязывайте там со своим халом и адруиной, тут нужны сишные функции на несколько с строчек - с прямым обращениям к регистрам. К тому-же глупо каждый раз отдавать полный адрес пиксела, ili9486/ili9488 и ещё куча подобных - умеют принимать данные в потоке, с автоматическим увеличением адреса пиксела.
  14. Критерии совершенства в CubeMX?

    Кхм, все ide имеют несколько вариантов сборки проекта, в виде готовых кнопок. Собрать готовое, собрать изменённое, пере_собрать проект полностью, и остановить зависший процесс сборки. Разница в скорости сборки просто громадная. Если части проекта уже были собраны и не изменены - то повторная сборка будет моментальной. Это свойство ide - полностью аннигилирует потребность в ручных библиотеках, вообще полностью. Как можно пропустить эти кнопки? они-же на самом виду.
  15. Allwinner V3s Кхм, прикольный камень. Годится для ускорителя графики за копейки. Периферии в нём ну очень мало, и наверное главный затык - дма за пределами видимости кеша ядра, + отсутствие двойной точности. 300 рублей за чип - это намного дешевле stm32hxxx + sdram (1300+800).
  16. MPU->RNR = 0; MPU->RBAR = 0x20000000; MPU->RASR = 0x03090025; /// C=0, B=1, TEX=1, S=0, SRD=0, XN=0, AP=3, size=0x12 (512k) MPU->RNR = 1; MPU->RBAR = 0x08000001; MPU->RASR = 0x03020027; /// C=1, B=0, TEX=0, S=0, SRD=0, XN=0, AP=3, size=0x13 (1M) MPU->RNR = 2; MPU->RBAR = 0x600fff02; MPU->RASR = 0x03040029; /// C=0, B=0, TEX=0, S=1, SRD=0, XN=0, AP=3, size=0x13 (1M) MPU->RNR = 3; MPU->RBAR = 0x90000003; MPU->RASR = 0x0306002d; /// C=1, B=0, TEX=0, S=1, SRD=0, XN=0, AP=3, size=0x16 (8M) MPU->RNR = 4; MPU->RBAR = 0xc0000004; MPU->RASR = 0x03070033; /// C=1, B=1, TEX=0, S=1, SRD=0, XN=0, AP=3, size=0x19 (64M) MPU->RNR = 5; MPU->RBAR = 0x40000005; MPU->RASR = 0x13040039; /// C=0, B=0, TEX=0, S=1, SRD=0, XN=1, AP=3, size=0x16 (0.5G) MPU->RNR = 6; MPU->RBAR = 0xe0000006; MPU->RASR = 0x1300002d; /// C=0, B=0, TEX=0, S=0, SRD=0, XN=1, AP=3, size=0x16 (0.5G) MPU->RNR = 7; MPU->RBAR = 0; MPU->RASR = 0; MPU->CTRL = 7; stm32f7xx
  17. Критерии совершенства в CubeMX?

    Просто несколько эффективных топменеджеров st - купили себе изогнутые доски для серфинга в интернете. На них старая версия кубика выгладила слишком ущербно.
  18. Странный HARDFAULT

    Уровни прерываний, их всего 15 штук - читайте внимательней документацию. SysTick должен иметь максимальный уровень 15, и на этом уровне больше не должно быть прерываний. То-есть его должно вытеснять любое из существующих прерываний. Ну и само прерывание SysTick работает весьма странно для arm. Регистры r0, r1, r2, r3, r12, LR, PC, xPSR сохраняются автоматически при входе в прерывание. Нет смысла сохранять r3, lr. Как оно объявлено-то?
  19. STM32G07x STM32G08x

    Вот когда уволят обкуренного проектировщика, тогда будут новые продукты. А сейчас у них маниакальная зависимость от менеджеров проекта свихнувшихся на совместимости корпусов разных серий. Новое - это когда при разводке ПП не придётся собирать контакты со всех четырёх сторон чипа под память, дисплей, и так далее. Оно должно выглядеть красиво, тогда и работать будет лучше, и стоить дешевле.
  20. Перепроверил. EXTI->PR сбрасывается в ноль после записи единицы. Читать его нужно только в случае множества линий на одно прерывание, а таких всего два EXTI9_5_IRQHandler и EXTI15_10_IRQHandler.
  21. Физически - да, а по смыслу - нет. Чтение их этого регистра не имеет смысла, он всегда успевает сбросится в ноль аппаратно. Но GCC об это не знает.
  22. Совершают точно такие-же ошибки. Модификаторы const и volatile, а так-же их комбинации - не позволяют реализовать условие - "только запись". Наличие такого нового модификатора могло-бы запретить чтение из регистра. Выдав ошибку ещё в процессе набора кода.
  23. Ну это ограничение самого GCC. Пока есть всего два доступных модификатора const и volatile для типов - ситуация не изменится. Тут нужен модификатор "только запись", но его пока не изобрели.
  24. STM32H7 работа с SDRAM. Проблема

    Возможно чипы нужно делать иначе,
  25. STM32H7 работа с SDRAM. Проблема

    Мне тоже понравилось. Они выполнили компоновку всех необходимых элементов c-sip - в одном пластиковом корпусе. Необходимых - это тех что что инженеру придётся использовать в любом случае. Но чёт подери, почему так дорого??? Если делать то-же самое для stm чипов - то цена получится просто космической... Это-ж нужно сначала купить чип памяти, потом стравить пластик, снять с подложки, и разварить на новой. Они-ж не умеют делать чипы памяти самостоятельно...