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

esaulenka

Свой
  • Постов

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

  • Посещение

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

    2

Сообщения, опубликованные esaulenka


  1. 16 minutes ago, k155la3 said:

    Мне подсказали, что c_str() это из std::string::c_str.  Там перегрузка есть.

    В данном случае c_str() это из гугловского flatbuffer::String::c_str.

     

    И любая перегрузка operator= - это для синтаксиса наподобие

    ла_ла_ла.c_str() = "ла-ла-ла", которого нет ни в стандартной библиотеке, ни (насколько мне известно) в велосипедах "по образу и подобию".

     

     

    Ну а автору я б посоветовал читать книжки (уже пора) и изучить слово GDB.

  2. Вы первоисточник читали? http://www.keil.com/dd/docs/datashts/infineon/c167cr_um.pdf раздел bootstrap loader.

    Или только чиптюнеров всяких?

     

    Я вот только сходу не понял: общение по uart надо начинать сразу же после отпускания ресета, или не раньше, чем сколько-то там микросекунд после отпускания.

     

     

    Но не проще будет найти где-нибудь программатор для параллельных ROM и паяльник?

  3. 2 minutes ago, mihlit1 said:

     Запись в память по времени где то 1,5 мсек, есс-но ничего не видно, если пошагово - никаких артефактов.

    Нет, я к тому, что по какой-то причине у дисплея CS всегда активен, он не только будет выставлять данные по RD, как мы наблюдаем, но и сохранять (куда-то) данные, записываемые в ОЗУ.

  4. 3 hours ago, mihlit1 said:

    Я уже писАл ранее, что дисплей работает

    Это всё здорово, но палочки-кружочки могут рисоваться в т.ч. и при всегда активном CSX (во всяком случае, в описании 9341 есть такая сноска).

    У вас там при записи в RAM никакие артефакты на дисплее не лезут?

  5. 1 hour ago, alexPec said:

    Тут подробнее. Оно то сидит себе тихо, а сообщение, которое оно должно принять, так и будет передающим контроллером долбиться постоянно и блокировать другие сообщения в передающем контроллере?

    Чуток не так. ACK - это не подтверждение приёма тем узлом, которому сообщение предназначено. ACK одновременно выставляют все узлы, которые приняли это сообщение.

    Соответственно, если на шине больше одного корректно работающего узла, все сообщения получат свои ack'и. Но, с другой стороны, если вам нужно знать, что сообщение принял именно ваш приёмник, а не какой-то другой, придётся делать какой-то протокол поверх этого.

  6. 12 hours ago, alexPec said:

    CAN контроллер из примера ксайлинкса

    Сразу предупрежу, что слово "ксайлинкс" я не знаю, зато имею кой-какой опыт общения с CAN в МК.

    12 hours ago, alexPec said:

    контроллер постоянно повторяет его (видимо не видит подтверждения)

    Да, именно так.

    12 hours ago, alexPec said:

    FIFO забивается, а контроллер так и пытается отправить, как я понял, первое сообщение.

    Да, так всё и работает. Параллельно должны расти счётчики ошибок, и устройство затыкается. Есть, правда, вариант, что после таймаута оно подключается обратно. Реализован ли механизм в вашем примере, я не знаю (см. начало сообщения).

     

    12 hours ago, alexPec said:

    одно из устройств (не подает признаков жизни, питание на нем пропало и т.д.), то

    ... то оно сидит себе тихо, и никак не мешает обмену всех остальных устройств.

    Единственная серьезная пакость - это рассогласование скоростей. Вот там действительно на шине что-то непотребное творится...

  7. 21 hours ago, mihlit1 said:

    void SRAM_Config(void)

    Очень неохота перечитывать мануал на FSMC, а по памяти в этой портянке я ничего не скажу.

     

    Параллельный интерфейс у 9481 и 9486 одинаковый, насколько я вижу в даташите.

    Вы вот лучше скажите: CS на вашем дисплее есть? Он корректно дёргается?

    Если оторвать RD от дисплея (раз уж всё равно проводами всё) память перестаёт портиться?

  8. 15 minutes ago, mihlit1 said:

    вместо  0xF800 вижу 0xF83А

     

    16 minutes ago, mihlit1 said:

    вместо 00 всегда 3F

    Показания расходятся.

     

     

    Такое подозрение, что дисплей не отпускает шину. Было б неплохо узнать, что именно за дисплей.

    Например, у ILI9481 есть chip select, и когда к нему нет обращений, этот чипселект должен быть в единице.

     

    1 hour ago, mantech said:

    он "думает", что дисплей тоже 16и битный, правда?

    Неправда. Он думает ровно то, что настроено в соответствующем банке памяти.

  9. Сходу не вспомню, как сделать максимально устойчивую конфигурацию. Сам пользовался FSMC лет пять назад, приходилось разрисовывать всё на бумажке, чтобы состыковать даташит от ST с даташитом производителя RAM. С тех пор забылось всё...

     

    Дурацкий вопрос, кстати: вы проверяли (методом записи и последующего чтения) как именно данные портятся? Всегда одинаково?

  10. 30 minutes ago, mihlit1 said:

    У меня вопрос может к FSMC нельзя подключать 16-битную память и 8-битный дисплей?

    Должно работать. Вероятно, у вас какие-то проблемы с целостностью сигналов. Показывайте разводку, может, тут чего насоветуют.

    Возможно, получится победить увеличением таймингов для памяти. Костыль, конечно, но уж как есть...

  11. 2 hours ago, haker_fox said:

    Сделайте синглтон.

    К слову, именно такой синглтон, со статик объектом внутри функции, чуток избыточен.

    Там компилятор вставляет флажок, и при каждом обращении проверяет, нужно ли вызывать конструктор объекта.

     

    Если объявлять глобальную переменную, то она инициализируется в стартапе, и этой проверки не будет.

  12. Если аппарат один, поставить распбери.

    Если аппаратов много, договориться о поставках такого же 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

    дорога полна приключений, но чего-то сверхординарного тут нет.

  13. On 3/7/2020 at 12:43 AM, sst78rus said:

    Я только не нашел как перенести "отладочную информацию" из гидры куда-нибдь в отладчик.

    Кажется, недолго ждать осталось: https://github.com/NationalSecurityAgency/ghidra/issues/24

  14. On 3/2/2020 at 12:09 PM, esaulenka said:

    поменять только QtCreator на Eclipse

    Тут, я, кажется, соврал. В эклипсе я делал другой проект, хоть и довольно похожий.

     

    Починил методом отключения __WFI() в простое. Сейчас debug-сборка просто греет воздух и корректно печатает отладочные сообщения.

    Осталось разобраться, почему тот старый проект (с эклипсом) работает в т.ч. и с засыпанием ядра.

    В обоих случаях используется самый простой sleep mode, вся периферия продолжает работать. Процессор один и тот же STM32F105, без каких-то продвинутых энергосбережений...

  15. On 3/3/2020 at 7:32 PM, mantech said:

    Интересно, как вы себе представляете работу одной шины сразу с двумя разными устройствами??

    Вообще, задачка интересная, если задаться целью размять мозги и хорошенько разобраться с работой контроллера памяти.

    Сделать такой виртуальный банк, чтобы при чтении из него одновременно выполнялось чтение из SRAM и активизировалась запись в дисплей. Потребуется сколько-то мелкой логики, и, вероятно, какая-то матерь, чтобы реализовать необходимые задержки.

    Работу с памятью и дисплеем по-отдельности (в обычном режиме) также необходимо поддерживать. В память необходимо писать, а в дисплее, как минимум, устанавливать конфигурацию.

     

    При отсутствии цели развлечься поддерживаю стандартное решение с DMA. Соединил по инструкции, и готово.

  16. Здравствуйте.

    Имеется связка QtCreator + arm-none-eabi-gcc.

    Для отладки использую сеггеровский gdb сервер и gdb из комплекта компилятора.

    Отладчиков проверял два: discovery, перешитый штатным образом в J-Link и старенький MT-Link.

     

    Собственно, проблема в том, что почему-то не работает сеггеровский терминал RTT. Сообщения высыпаются в консоль, только если приостановить отлаживаемую программу.

    Каких-либо настроек RTT со стороны хоста вроде б не предусмотрено.


    Куда рыть, не очень понятно... попробовать разные версии, что-ли... Но если поменять только QtCreator на Eclipse, оставив всё остальное, работать начинает нормально.

  17. 1 hour ago, TOG said:

    Я изменяю значения параметра 0, 1, 2, 3, 4 и смотрю, что записалось в EEPROM.

    Вы решили отреверсить всё, что под руку попадается? :-)

     

    Возможно, по табличке или какой-то хитрой формуле этот "параметр" сразу пересчитывается в какое-то значение, которое и используется в дальнейшей работе.

    Нужно больше экспериментов!

  18. 11 hours ago, murmur said:

    Ибо в даташите я не нашла, чтобы разрешение можно было настраивать при инициализации

    В appnote (Application Note for FT5x16 CTPM) есть некие регистры ID_G_MAX_X/ID_G_MAX_Y. Не оно?

  19. 53 minutes ago, TOG said:

    для IDA Pro в качестве точки входа нужно указать адрес из вектора сброса

    Да. А можно отказаться, ничего особо полезного для статического анализа (разглядыванием исходников, без запуска в железе) оно не даёт.

     

    А вообще настоятельно советую Ghidra. Знать ассемблер всё равно потребуется, но в сильно меньших объемах. Ну и https://github.com/leveldown-security/SVD-Loader-Ghidra до комплекта.

  20. 1 hour ago, haker_fox said:

    (у вас же мастер???

    HAL_I2C_Slave_Receive

    Пожалуйста, читайте сообщения, на которые отвечаете. Авось, и смысл в ваших ответах появится...

     

    26 minutes ago, Сергей Борщ said:

    А по какому признаку вы любыми другими замечательными функциями поняли бы, что вам перестали посылать байты?

    Очень часто из заголовка пакета можно понять, какой он длины. И очень часто писатели халов про это забывают... (ну оно и понятно - сразу низкоуровневый драйвер надо как-то "сцеплять" с протоколом).

     

  21. 4 minutes ago, Rst7 said:

    Например непонимание работы exclusive monitor'а ядра тут:

    Это прямая цитата из статьи изиэлектроникса, которую написал @neiver. Вполне грамотный дядька, я б ему тоже поверил.

    Зря... Его там ниже поправили, но в самой статье ничего не поменялось.

×
×
  • Создать...