Jump to content

    

esaulenka

Свой
  • Content Count

    1356
  • Joined

  • Last visited

Everything posted by esaulenka


  1. То, что Ваш подход - влезать в незнакомую тему с банальными советами, Вам уже не раз говорили. Прочитайте даташит, сделайте библиотечку, проверьте всё на живом железе, расскажите подробности - Вам спасибо скажут. Но вот что-то подсказывает, что ни дисплей этот, ни документацию на него Вы в глаза не видели. Вместо этого пятая страница переливаний из пустого в порожнее.
  2. Блин, ну вбейте уже в гугл "ILI9341 init" и насладитесь десятком вариаций кода, который скармливает этому дисплею портянки каких-то байтиков (без комментариев, что именно эти байтики значат. очень удобно). Там подобных writedata ещё несколько штук должно быть. Очередная тема ни о чём. "Хочу оптимайзить код мач беттер зен компайлер, но не хочу и не буду ридить мануал". Прям вот классика, уже не первая тема тут такая.
  3. Евгений, предлагаю отделить мух от котлет: схемотехника отдельно, софт - отдельно. Например, задачу "сделать нанопотребляющий вход для подсчёта импульсов" я не осилю (текущее решение с включением-отключением подтяжки, если честно, выглядит костылём), а софт под какой-нибудь STM32L010 (выбрано в терре по принципу "самый дешёвый из L-серии) сделать вполне смогу. Ежели что, мой телеграм совпадает с здешним ником.
  4. Кстати, у этой команды синтаксис memcpy. Т.е. cmd dst, src, size, а не cmd ram, flash, size. Возможно, она даже корректно скопирует флеш в рам :-)
  5. Для упрощения диагностики предлагаю проверять содержимое памяти после каждого шага отладчиком. Ну и лог. анализатор на линиях rx-tx тоже может помочь. На первый взгляд, должно работать. Но я занимался чем-то похожим (свой загрузчик, совместимый по командам с FlashMagic) очень давно... Что странно. Документ обещает "COMPARE_ERROR | (Followed by the offset of first mismatch)", т.е. нолик куда-то потерялся... Ну и про то, что адреса должны быть в десятичной системе, вы же в курсе?
  6. А какое у Вас понимание? В данном случае, const - это метод, который не меняет экземпляр класса (т.е. только читает его переменные), static - метод, который вообще не требует наличия экземпляра (т.е. в принципе не может ничего поменять). Следовательно, static метод по определению const.
  7. Мне кажется, тут третий вариант - команда есть, документации нет. Во всяком случае, гугель говорит, что на AT&V SIM800C значением этой +FSEXT отвечает.
  8. Я б, кстати, тоже с удовольствием послушал знающего человека, как тамошние наркоманские банки памяти по-человечески в IDA разбирать.
  9. http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_serialwin.htm Производитель нам сообщает, что эта функция предназначена исключительно для симулятора - отладки без использования реального железа. Т.е. достаточно бесполезная штука, и к вашему случаю мало относящаяся.
  10. Вы до конца-то дочитали? Окончательный вариант выглядит достаточно здраво, на мой дилетантский вкус.
  11. Насколько понимаю, это перепродавцы китайских товаров. Инженерам за подобные "характеристики" было б стыдно... официальный сайт (?) страничка из каталога (?) зато недорого, этого не отнять :-)
  12. Чувак, ты неконструктивен. Здесь всё-таки технический форум, а не 100500-е обсуждение "какой начальник дурак", "какой куб-хал кривой" и проч., проч., проч.
  13. Сергей, если что, можете допиливать этот проект. Там уже на базе 105-го, и работают оба канала. Протокол, правда, с оригинальным lawicel чуток несовместим (из-за двухканальности, собственно). Железо делать я поленился, использовал наработки некоей питерской конторы.
  14. Ага, спасибо, такой способ я освоил (собственно, его в этом топике и обсуждали). Спасибо большое, надо будет покурить. Сходу непонятно. Сразу не обозначил, извините. Мне для внутреннего хранилища настроек надо было, так что без разницы. Но что-то я посмотрел-посмотрел на это всё, и выкинул поле checksum из заголовка.
  15. Чуток не в тему. Господа, а есть ли способ посчитать CRC8 за несколько ксоров-сдвигов по аналогии с "Оптимизированный расчёт CRC-16 CCITT на языке Си, полином 0x8408 " из викибукс ?
  16. Я собрал, сейчас разгребу, какие библиотеки нужны, и выложу
  17. Не очень, да. По-хорошему, её надо портировать на пятый Qt, где универсальный QSerialPort наконец-то завезли. Но это просто костыль к кнопке "получить список портов", собственно работа с портом лучше написана.
  18. win32 { SOURCES += SerialPortWin.cpp HEADERS += SerialPortWin.h } unix { SOURCES += serialport.cpp HEADERS += serialport.h } Полноценно проверять лень, но mingw из комплекта последних кутей даже не сильно warning'ов насыпал. Запускаться запускается, порт открывает, как графики рисует - не знаю. Сергей, спасибо. Полезная программулина, может пригодиться.
  19. Ага. И мышкой же указывать, в какие именно моменты он должен это делать. Я видел такие штуки, очень прикольно. Для дошкольников. А те, кому работать надо, по-старинке пишут закат солнца вручную. Без мышки.
  20. Да ладно вам... Ну нельзя сделать такую защиту, чтоб человек, у которого есть полный доступ к процессору и капелька мозгов, не мог сломать. Сеггеры это хорошо понимают и особо не заморачивались. В общем, надоели мне местные теоретики - писатели эмуляторов непонятно чего. Взял с сайта ST бинарник с примером для F103, затолкал в гидру, чуток помедитировал... 080433dc 37 48 ldr r0,[FP_CTRL ] = e0002000 080433de 01 68 ldr r1,[r0,#0x0 ]=>DAT_e0002000 080433e0 49 08 lsr r1,r1,#0x1 080433e2 49 00 lsl r1,r1,#0x1 080433e4 01 60 str r1,[r0,#0x0 ]=>DAT_e0002000 080433e6 01 21 mov r1,#0x1 080433e8 35 48 ldr r0,[->Peripherals::CRC ] = 40023000 080433ea 81 60 str r1,[r0,#offset CRC.CRC.CR ] = null 080433ec 35 49 ldr r1,[DWORD_080434c4 ] = F407A5C2h 080433ee 01 60 str r1,[r0,#0x0 ]=>Peripherals::CRC = 080433f0 00 68 ldr r0,[r0,#0x0 ]=>Peripherals::CRC = 080433f2 35 49 ldr r1,[DWORD_080434c8 ] = B5E8B5CDh 080433f4 88 42 cmp r0,r1 080433f6 00 d0 beq LAB_080433fa LAB_080433f8 XREF[1]: 080433f8 (j) 080433f8 fe e7 b LAB_080433f8 Собственно, всё. С вероятностью 99% это единственное обращение к модулю во всей программе.
  21. Нет, этот кто-то писал, что "проблема решена". Нехорошо переходить на личности, но подозреваю, что решена она отказом либо от миландровского проца, либо от емвин, либо вообще от выполнения проекта. Решать задачу можно несколькими способами: - заплатить сеггеру денег (несколько килоевро, насколько я знаю) - попытаться взломать (скорее всего, это несложно) - поискать более халявные варианты. Есть куча GUI библиотек, бесплатное использование которых либо не ограничено совсем, либо ограничено только юридически.
  22. Он вроде как аналог Cortex-M1. Неофициально. А официально - некий абстрактный RISC-процессор.
  23. Не может там быть "нечитаемого". Буферизация там всё-таки есть.
  24. Я о времени первоначальной загрузки прошивки. У сеггера она практически равна скорости загрузки во флеш. Безусловно. Наличие отладичка - большое подспорье во всяких "загадочных" ситуациях. Особенно много загадочных ситуаций, когда не хватает опыта предугадать все возможные грабли. В общем, да, всячески рекомендую отладчик добыть. Сделать хотя б из blue pill - дёшево и сердито. Все отличия от "настоящего STLink" - отсутствие корпуса и отсутствие защит. Сделать то же самое, после "зависания" посмотреть, где крутится программа. Много думать (или спрашивать сюда).
  25. Во-первых, скорость работы у сеггеровских отладчиков повыше. Секунда-другая разницы, но всё равно приятно. А во-вторых, RTT - прямо таки гениальная штука. К сожалению, в OpenOCD поддерживается только с бубном (есть pull request, не влитый в основную ветку. Как его собрать под винду, я разобраться не смог). Соответственно, ST-Link тут проигрывает.