Как стать автором
Обновить

Комментарии 19

При всем уважении к автору, пере-открывшему для себя старые методы, все они страдают неисправимым дефектом — МК должен исполнять программу, и не должен зависать с отключенными прерываниями, переполнять стек, падать в исключения и так далее. Вот почему аппаратная отладка через независимое от ядра МК железо (хотя тут есть еще над чем поработать) победила и в настоящий момент не имеет разумной альтернативы.
Здраствуйте. А что за старые методы, можно поподробнее желательно ссылку? Я вот знаю что на Xtensa lx6 можно делать подобное через uart и там использованна аппаратная поддержка и все. Все остальное относиться к надежности, да на настоящее время проект сыроват, но со временем, за исключением зависания с отключенными прерываниями, я это доработаю.
Практически на любом МК (x8048, x8051, AVR, AVRMEGA(до 16) — это я перечисляю семейства, в которых это делал) реализуется отладка на железном UART, на софтовом UART, на связке LPT — ByteBlaster — 5 ног (одна из них прерывание). Но все это не сравнится с нормальной отладкой через независимый аппаратный узел, поэтому я не очень понимаю, зачем их делать для МК, в котором такой узел есть, только если из академических целей.
В статья рассмотрены не только проводные но и без проводные интерфейсы, отладки через GSM ничто конкуренцию не составит. Допустим у вас модуль передает показания раз в 10 дней, по приходу запроса на сайт ему отправляется ответ с информацией в какое время снова подключиться к серверу удобное для вас. Я так делал только для прошивки 500 модулей, мне это нужно было для распеределения нагрузки на сервер. А насчет AVR, вы тоже эмулятор инструкций писали?
Я как то потерял нить рассуждения — отправить пакет с информацией это отладка? Видимо, Вы под этим термином понимаете несколько иное, чем я, хотя замена инструкции для реализации точка останова, как в Вашем посте — как раз то, что я делал для 8048 и 8051.
Не прошивка 500 модулей через GSM, это я делал до этого, к этому проекту отношения не имеет. Я просто хотел сказать, что это удобно сидя в офисе удаленно прошивать контроллеры. Так, я думаю в будущем удобно будет опять таки сидя в офисе(а не лезя в подвал многоэтажки, ставили передатчики показаний воды) отлаживать вслучае некоректной работы. А вопрос был про поинструкционную отладку.

Отлаживать на продакшене так себе идея

Ну на практике, едишь снимаешь ставишь другой и разбираешься что с этим не так.
Для первой загрузки STM32F303 через USB программатор это шнурок USB. Режим DFU.
Для избавления себя от написания драйвера, я решил использовать стандартный hid драйвер

Про libusb же в курсе, да? Ендпоинты усб-девайсов из юзерспейса.

Да в курсе, к hid ко всему прочему система сама драйверы поставит, плюс ко всему я настроил AVR и STM так чтобы компьютер видел их одинаково, для чтения используется одна и таже библиотека. Меньше библиотек и телодвижений я думаю всегда плюс.

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

Для cortex ARMv8-M Architecture Reference Manual, ну это чтобы писать что то подобное. Для обычного программирования это никчему, можно все найти на сайте производителя для конкретного микроконтроллера. Для avr все намного проще datasheet на конкретный мк, вот все что нужно. Если вы новичек и интересуетесь электроникой, то могу порекомендовать Хоровиц Хилл Искусство Схемотехники, на мой взгляд лучшая книга для понимания принципов работы электрических схем.

Подскажите, пожалуйста, какую литературу и что вообще нужно изучать/знать, чтобы также уметь разрабатывать программы и разбираться в архитектуре ядер Cortex-M3,M4 и разных avr? Понимаю, что вопрос достаточно общий, но я не могу его сформулировать более корректно в силу ограниченности своих знаний, что и хочу исправить! Пожалуйста, посоветуйте самые полезные источники на Ваш взгляд!

Посмотрите Харис и Харис. Там много всего по цифровой схемотехнике

Если хост Windows, то есть WinUSB, чтобы не притворяться HID устройством.

Зачем все это делать, если hid достаточно.
Я портировал данный проект на linux и создал виртульную машину, так что ее можно скачать и без лишних конфигураций попробывать проект в действие. Также он поддерживает теперь stm32f103.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.