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

esaulenka

Свой
  • Постов

    1 454
  • Зарегистрирован

  • Посещение

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

    2

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


  1. Показания расходятся. Такое подозрение, что дисплей не отпускает шину. Было б неплохо узнать, что именно за дисплей. Например, у ILI9481 есть chip select, и когда к нему нет обращений, этот чипселект должен быть в единице. Неправда. Он думает ровно то, что настроено в соответствующем банке памяти.
  2. Сходу не вспомню, как сделать максимально устойчивую конфигурацию. Сам пользовался FSMC лет пять назад, приходилось разрисовывать всё на бумажке, чтобы состыковать даташит от ST с даташитом производителя RAM. С тех пор забылось всё... Дурацкий вопрос, кстати: вы проверяли (методом записи и последующего чтения) как именно данные портятся? Всегда одинаково?
  3. Должно работать. Вероятно, у вас какие-то проблемы с целостностью сигналов. Показывайте разводку, может, тут чего насоветуют. Возможно, получится победить увеличением таймингов для памяти. Костыль, конечно, но уж как есть...
  4. К слову, именно такой синглтон, со статик объектом внутри функции, чуток избыточен. Там компилятор вставляет флажок, и при каждом обращении проверяет, нужно ли вызывать конструктор объекта. Если объявлять глобальную переменную, то она инициализируется в стартапе, и этой проверки не будет.
  5. Если аппарат один, поставить распбери. Если аппаратов много, договориться о поставках такого же STAR'а, но с ком-портом. Ну и договориться о предоставлении документации на их протокол. Потратил 30 секунд, гугл ничего подходящего не выдал... Скорее всего, там стандартный epson, но для презентеров-ретракторов-штрихкодов каждый производитель придумывает свои собственные расширения. UPD. вот, нашёл что-то: http://www.starmicronics.com/support/Mannualfolder/linemode_cm_en.pdf UPD2. https://community.st.com/s/question/0D50X00009XkaNSSAZ/usb-printer-class дорога полна приключений, но чего-то сверхординарного тут нет.
  6. Кажется, недолго ждать осталось: https://github.com/NationalSecurityAgency/ghidra/issues/24
  7. Тут, я, кажется, соврал. В эклипсе я делал другой проект, хоть и довольно похожий. Починил методом отключения __WFI() в простое. Сейчас debug-сборка просто греет воздух и корректно печатает отладочные сообщения. Осталось разобраться, почему тот старый проект (с эклипсом) работает в т.ч. и с засыпанием ядра. В обоих случаях используется самый простой sleep mode, вся периферия продолжает работать. Процессор один и тот же STM32F105, без каких-то продвинутых энергосбережений...
  8. Ну это же интернет, ничего не пропадает бесследно! http://web.archive.org/web/20101110023925/http://samsung.promwad.com/wiki/boards/smdk6410/linux_installation
  9. Вообще, задачка интересная, если задаться целью размять мозги и хорошенько разобраться с работой контроллера памяти. Сделать такой виртуальный банк, чтобы при чтении из него одновременно выполнялось чтение из SRAM и активизировалась запись в дисплей. Потребуется сколько-то мелкой логики, и, вероятно, какая-то матерь, чтобы реализовать необходимые задержки. Работу с памятью и дисплеем по-отдельности (в обычном режиме) также необходимо поддерживать. В память необходимо писать, а в дисплее, как минимум, устанавливать конфигурацию. При отсутствии цели развлечься поддерживаю стандартное решение с DMA. Соединил по инструкции, и готово.
  10. Здравствуйте. Имеется связка QtCreator + arm-none-eabi-gcc. Для отладки использую сеггеровский gdb сервер и gdb из комплекта компилятора. Отладчиков проверял два: discovery, перешитый штатным образом в J-Link и старенький MT-Link. Собственно, проблема в том, что почему-то не работает сеггеровский терминал RTT. Сообщения высыпаются в консоль, только если приостановить отлаживаемую программу. Каких-либо настроек RTT со стороны хоста вроде б не предусмотрено. Куда рыть, не очень понятно... попробовать разные версии, что-ли... Но если поменять только QtCreator на Eclipse, оставив всё остальное, работать начинает нормально.
  11. Откуда это, не знаю, но есть https://www.h-schmidt.net/FloatConverter/IEEE754.html Даблы не умеет, но для флоатов периодически пригождается...
  12. Вы решили отреверсить всё, что под руку попадается? :-) Возможно, по табличке или какой-то хитрой формуле этот "параметр" сразу пересчитывается в какое-то значение, которое и используется в дальнейшей работе. Нужно больше экспериментов!
  13. В appnote (Application Note for FT5x16 CTPM) есть некие регистры ID_G_MAX_X/ID_G_MAX_Y. Не оно?
  14. Видать, заржавела шашка. Гугель подсказывает, что у этой тиньки помимо обычных фьюзов есть Fuse Extended Byte. Как его скормить в STK, разбираться Вам :-)
  15. Да. А можно отказаться, ничего особо полезного для статического анализа (разглядыванием исходников, без запуска в железе) оно не даёт. А вообще настоятельно советую Ghidra. Знать ассемблер всё равно потребуется, но в сильно меньших объемах. Ну и https://github.com/leveldown-security/SVD-Loader-Ghidra до комплекта.
  16. > HAL_I2C_Slave_Receive Пожалуйста, читайте сообщения, на которые отвечаете. Авось, и смысл в ваших ответах появится... Очень часто из заголовка пакета можно понять, какой он длины. И очень часто писатели халов про это забывают... (ну оно и понятно - сразу низкоуровневый драйвер надо как-то "сцеплять" с протоколом).
  17. Это прямая цитата из статьи изиэлектроникса, которую написал @neiver. Вполне грамотный дядька, я б ему тоже поверил. Зря... Его там ниже поправили, но в самой статье ничего не поменялось.
  18. Объясните, пожалуйста. Посмотрел код - вроде б всё правильно работает (избыточно, ну да ладно...). Я, правда, так никуда этот подход и не применял...
  19. С такой-то матерью удалось добиться от GCC (оптимизация -Os + LTO) вычислений адреса бит-банга для глобальной переменной (точнее, для элемента класса, экземпляр класса - единственный и глобальный) в момент компиляции. Атомарнее, если какой-то другой поток может менять другие биты в этой же переменной.
  20. Судя по картинкам, исполняется код из RAM, а брекпоинты вы ставите во флеше. Либо что-то с ногами BOOT, либо что-то хитрое со скриптом линкера.
  21. timer task

    Здравствуйте. Скажите, ни у кого не возникало задачи сделать софт-таймеры? Уже не первый раз делаю что-то подобное в очередном проекте, хочется сделать унифицировано. Я это вижу по аналогии с FreeRTOS: отдельная задача, которая хранит в себе массив из n-цати структур. Структура состоит из таймера и коллбэка - по истечению таймера (один раз или периодически) вызывается коллбэк. Заполнение этого списка, перенастройка таймеров и т.д. - динамически, из остальных задач. По сравнению с FreeRTOS надо подумать и применить шаблонную магию, чтобы коллбэком мог быть метод произвольного класса. PS в mbed используют другой вариант API. Выглядит симпатичнее, но не совсем понятно, как оно внутри устроено: https://github.com/ARMmbed/mbed-os/blob/c12b433026beae5b3b769c27941bc6d7fe5d4b27/rtos/RtosTimer.h#L58
  22. Если бы у рыб была шерсть, то там обязательно были бы блохи. Не сомневайтесь :-) код из сообщения "Вот теперь больше на правду похоже. Переписал немного" выдаёт следующее: GetCrc16Table = D641 GetCrc16Cycle = 4B37 GetCrc16Simple = 4B37 https://godbolt.org/z/urjyup
  23. Скажите, а код в пдф-ке выдаёт три одинаковых результата? Я не умею в уме "переворачивать" полином, но какое-то подозрение, что код-таки разный. Спасибо за идею. Надо б допилить до макроса автовычисления констант, и можно смело применять там, где цикл по битам делать долго, а места под таблицу - жалко.
  24. Конкретно про этот случай мне Рабинович напел, но у арма на сайте написано, что они совместили замечательный компилятор шланг и их супер-оптимизированные библиотеки. Так что, может быть, не сильно-то он и отличается. Но, повторюсь, сам я не проверял - ни платную версию, ни бесплатную (я даже не знаю, умеют ли prebuilt версии с https://clang.llvm.org/ собирать под мелко-армы).
  25. Я понимаю, что мы в России живём, и знание лицензионных тонкостей тут э-э... не востребовано, но, всё-таки, бесплатный и свободный - вещи разные. Например, микрочип вполне легально берёт деньги за свой XC32, который, по сути, GCC (но при этом не сильно препятствует желающим собрать свой собственный XC32 забесплатно). И, разумеется, компилятор с нуля сейчас никто не пишет. Даже АРМ. Это clang. Допиленный-улучшенный-сертифицированный, но...
×
×
  • Создать...