Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Захватывающая аркада-лабиринт по мотивам культовой игры восьмидесятых. Управляйте желтым человечком, ешьте кексы и постарайтесь не попадаться на глаза призракам.

Пикман

Аркады, На ловкость, 2D

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
Utilizator9
Utilizator9
18 часов назад

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти)⁠⁠

Сегодня мы разберем два священных мифа игровой индустрии (и немного будем ныть). Миф первый: компьютерные игры используют мощь твоего компа. Миф второй: консоли – это просто альтернатива. Для ЛЛ: первый – почти всегда ложь, а второй – причина, почему твой любимый жанр превратился в говно Press "X" to win.

Потому что тема у нас серьезная: а так ли компьютерные игры – это вообще про компьютеры? И почему эти ваши PlayStation и Xbox медленно, но верно превращают любимое хобби в… ну, вы поняли.

Твой Дорогой Калькулятор – Просто Рисовалка

Ты гордо собрал монстра с RGB-подсветкой, способного рассчитать траекторию полета чайки в ураган? Отлично! А теперь скажи, на что эта мощь тратится в 99% игр? Правильно: на картинку. Шейдеры, текстуры, полигоны, спецэффекты – вот где жрет ресурсы твой "компьютерный" титан. А сама игра? Логика? События?

Давайте начистоту. Когда мы говорим "компьютерная игра", что мы подразумеваем? Графонище? Захватывающий сюжет? Возможность поругаться с кем-то в онлайн-чате? А как насчет… компьютера?

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

X-COM: UFO Defense

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

UFO: Extraterrestrials

Подумайте сами: большинство современных игр – это, по сути, очень сложные скриптовые сцены. Разработчики заранее просчитывают все возможные варианты развития событий и прописывают реакции на наши действия. Мы не управляем миром игры, мы просто следуем заранее определенному маршруту, который нам любезно предоставили.

  • Враги: Идут по строго заданным путям. Появились в точке А, потому что ты наступил на коврик-триггер. Упали замертво, потому что их "здоровье" – просто цифра, которую твоя пуля обнулила. Никакой реальной симуляции их поведения "на лету". Это не компьютер думает, это он играет запись.

  • Физика: Часто – фарс. Ящик весит тонну? Да пофиг! Он приклеен к полу, пока скрипт не скажет "упади красиво при выстреле из гранатомета". Разрушения? Ха! Заранее нарисованные дыры в стенах, которые появляются по волшебству скрипта. Где настоящая, просчитываемая в реальном времени разрушаемость, где твои терафлопсы тогда?

  • Мир: Кажется живым? Обычно это куклы, ходящие по кругу, пока ты не подойдешь близко. Тогда они начинают разыгрывать свою микро-пьеску ("Ах, погода!" -> "Да, дождь!"). И все.

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

Half-life 2

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

Реально "компьютерные" игры – это те редкие экземпляры, которые используют вычислительные мощности для создания непредсказуемых событий. Вспомните S.T.A.L.K.E.R. с его A-Life системой (пусть в итоге и порезанной): мутанты охотятся, бандиты грабят корованы, аномалии меняют свое расположение – все это происходит независимо от нашего участия. Или, например, Silent Storm с ее полным разрушаемостью окружения. Там каждый выстрел мог изменить ландшафт и тактику боя. Вот это я понимаю – игра! Dwarf Fortress / RimWorld: Здесь симуляция – король. Каждый юнит имеет кучу параметров, потребностей, отношений. Мир живет по своим законам. Твой комп пыхтит, обрабатывая эту песочницу. Это настоящая "компьютерность".

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

S.T.A.L.K.E.R.

А что мы видим сейчас? В основном, заранее прописанные квесты, коридорные шутеры и RPG, где все сводится к прокачке характеристик и выбору правильного диалога. Где свобода действий? Где непредсказуемость? Где, в конце концов, компьютер?! И это при достаточно развитых LLM (есть несколько мелких проектов, но крупные пока не спешат внедрять), те же варианты диалогов больше не проблема, генерируй хоть сколько! Большинство "компьютерных" игр используют твой ПК как дорогую приставку для рендеринга. Настоящая симуляция, динамический мир, сложные системы ИИ – это редкость. Твои ядра простаивают, ожидая, когда скрипт даст команду показать следующую красивую, но предопределенную кат-сцену. Печалька.

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

Silent shtorm

Консоли – Троянский конь в крепости ПК-гейминга (или Почему интерфейс стал говном, а геймплей – Press "X" to win)

Консоли. Да, эти блестящие коробочки под телевизор. Они не просто альтернативная платформа. Они – диктатор, подминающий под себя дизайн игр. И ПК-геймеры получают последствия в полной жоп... мере. Почему?

Да потому что консольный рынок ориентирован на максимально широкую аудиторию. А это значит – упрощение всего и вся. Управление должно быть интуитивно понятным даже для бабушки, интерфейс – огромным и с минимумом элементов, а геймплей – простым как три копейки.

В итоге мы получаем игры, которые больше похожи на интерактивные киношки с элементами QTE (Quick Time Events). Нажал кнопку вовремя – герой увернулся от пули. Не успел? Ну, перезагрузи и попробуй еще раз. Где тут мастерство? Где тактика? Где вообще хоть какой-то вызов?

  • Сложные меню? Нафиг! Делаем большие плитки, по которым удобно кататься геймпадом. Результат на ПК: интерфейс, будто сделан для слабовидящих тапком по телеку. Управление десятком способностей? Сводится к комбинациям "Зажать LT + Нажать X" или бесконечному перелистыванию "колеса способностей" (которое на клаве реализовано через жопу).

  • Пример: Любой порт RPG с консоли. Вместо удобного меню с хоткеями – слоу-мо колесо, через которое надо продираться в разгаре боя. Или Skyrim/Fallout 4 с их "любимым" списком на весь экран вместо компактного ПК-инвентаря. Ад!

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

Pathfinder Wrath of the Righteous

Сравним:

  • Управление: Вспомните Diablo II на ПК – мышь, клавиатура, десятки горячих клавиш, тонкая настройка билда под каждый стиль игры. А теперь сравните с той же игрой на консоли – аналоговый стик, пара кнопок, упрощенный интерфейс и никакого ощущения контроля над происходящим. И чувствуешь себя калекой, которому выдали пульт от телевизора вместо клавы.

  • Интерфейс: ПК-игры позволяют нам настроить интерфейс под себя: размер шрифтов, расположение элементов, отображение информации. Консольные игры предлагают один стандартный вариант – бери что дают.

  • Геймплей: На ПК мы можем использовать моды, которые добавляют новые механики, изменяют баланс и вообще превращают игру в нечто совершенно новое. На консолях? Ну, если повезет, то получите пару DLC с новыми квестами и оружием.

  • Казуализация Геймплея: Консоль – в гостиной. Игрок – на диване. Цель – максимально широкая аудитория. Рецепт? Упрощать, сокращать, вести за ручку. Отсюда:

    • QTE: "Нажми Х, чтобы не быть лузером!" Вместо сложного боя – тупая последовательность кнопок. Синематик экшн вместо экшна. На ПК это выглядит как оскорбление интеллекта и возможностей мышки.

    • "Одна кнопка решает все": Помните сложные комбо в старых файтингах или экшенах? Теперь часто – "нажми Y для крутого убийства/контрудара". Автоматический прыжок на уступ. Автоприцеливание. Геймплейная глубина улетает в трубу ради "доступности".

    • Гайдини по самое не хочу: "Иди сюда, Вася! Нажми эту кнопку! Смотри, враг слаб!" Игры боятся оставить игрока наедине с миром, боясь, что он "потеряется" перед телевизором. На ПК это раздражает, как навязчивый продавец в магазине.

    • Фокус на Зрелище: Кино – это то, что хорошо продается на больших ТВ-экранах. Отсюда упор на дорогие кат-сцены, линейные сценарии и вау-эффекты в ущерб глубокому, системному геймплею, который требует мышки, клавы и мозга. Твой ПК может симулировать сложный мир, а игра заставляет тебя смотреть 10-минутный ролик. Ирония?

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

Diablo 2

Порты vs. Версии: Идеальный порт с консоли на ПК – редкость. Часто это:

  • Говнооптимизация: Игра тормозит на топовом железе, потому что движок заточен под фиксированные консольные спецификации.

  • Управление – ад: Кнопки мыши названы как консольные (Нажми 'Square'!), нет нормальной поддержки мыши в меню, чувствительность кривая.

  • Отсутствие настроек: Где продвинутые графические опции? Где настройка FOV? Где бинды? "А зачем? На консоли же нет!"

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

NWN 2

Есть ли свет в конце тоннеля?

Да! Пока живы нишевые студии, создающие сложные симуляторы, глубокие стратегии и хардкорные RPG специально для ПК (привет, Larian Studios!). Пока есть моды, которые могут оживить или исправить кривой порт. Пока есть игры вроде Factorio, где мощь компа используется по назначению – для симуляции сложных систем.

Но нужно быть честным. Индустрия движется туда, где деньги – к массовости. А массовость сейчас – это консоли и их диктат. Так что, дорогой ПК-мастеррейсер, цени те игры, которые заставляют твои видеокарты и процессоры думать, а не только рисовать. И помни: настоящая "компьютерная" игра – это та, где скрипт не правит балом, а твой железный друг может развернуться на полную катушку. А если игра просит нажать одну кнопку для победы... ну, может, это и не совсем игра? Может, это просто очень дорогое кино? Подумай над этим, пока твой комп рендерит очередную 4К-лужу. Удачи в Зоне!

P.S.

Конечно, я не говорю, что консольные игры – это плохо. За сиськой багбира лучше поиграть в мортальник, а не во всякие эти ваши балдурс гейты. Консольные игры просто другие, для другой ЦА. Бесит что большинство игроделов пытается усидеть на двух стульях и делают кривые, всратые как по геймплею так и по UI-дизайну поделки, но зато можно продавать их на всех площадках...

P.P.S. Забыл еще плеснуть ушат говна на убожество с таймингами (всякие заскриптованные соулс-лайки) какоеж это дно, поставил себе разрекламированный Elden Ring, какяж это шляпа, да еще и с повесточкой. Хорошо что можно сделать возврат. Но про это в другой раз.

Железячный детектив: Почему ваш "компьютерный" гейминг – фейк, а консоли виноваты во всем (ну почти) Компьютер, Консольщики, Компьютерные игры, Пк vs консоли, RPG, Искусственный интеллект, Ретро-игры, Gamedev, Длиннопост

Космические Рейнджеры 2

Показать полностью 9
[моё] Компьютер Консольщики Компьютерные игры Пк vs консоли RPG Искусственный интеллект Ретро-игры Gamedev Длиннопост
37
102
AlexKud
AlexKud
Переводы разных веб-комиксов
Лига Геймеров
1 месяц назад

Консольные войны⁠⁠

Консольные войны Перевел сам, Комиксы, Юмор, Геймеры, Консоли, Консольщики

Автор Gunnrhildr

Показать полностью 1
[моё] Перевел сам Комиксы Юмор Геймеры Консоли Консольщики
19
1249
n.ghost
n.ghost
1 месяц назад
Комиксы
Серия Litterbox Comics

Новое поколение⁠⁠

Новое поколение Litterbox Comics, Юмор, Комиксы, Перевел сам, Перевод, Родители и дети, Консоли, Консольщики, Разница поколений, Новое поколение, Старшее поколение, Психанул

Оригинал: https://www.litterboxcomics.com/next-gen/

Показать полностью 1
[моё] Litterbox Comics Юмор Комиксы Перевел сам Перевод Родители и дети Консоли Консольщики Разница поколений Новое поколение Старшее поколение Психанул
86
46
bgafk
bgafk
5 месяцев назад
Юмор для всех и каждого

Загадка детства⁠⁠

Загадка детства Картинка с текстом, Юмор, Джойстик, Родители и дети, Консольщики, Игры
Показать полностью 1
Картинка с текстом Юмор Джойстик Родители и дети Консольщики Игры
7
97
KOPOBOPOTEHb
KOPOBOPOTEHb
6 месяцев назад
Противозачаточные шутки

Х найдёшь⁠⁠

Х найдёшь Из сети, Юмор, Консольщики, Комиксы
Показать полностью 1
Из сети Юмор Консольщики Комиксы
11
1
Mpak1589
Mpak1589
6 месяцев назад

Прошу помощи консольщиков (PS5)⁠⁠

Посоветуйте проверенного продавца подписок PS Plus.

Игры Playstation Playstation 5 Помощь Консольщики Текст
12
any70any
any70any
6 месяцев назад

Санкции хуянкции⁠⁠

Счастливый человек заказывает себе игровую консоль, белая как невеста, ещё больше радуется windows 11. Так как можно скачивать игры с uTorrent, а не покупать с игровых платформ через левые польские карты.

Санкции хуянкции Компьютерные игры, Консольные игры, Консольщики, Консоли, Портативные консоли, Windows 11, Торрент

Не долго радость длилась. Так как скачиваются игры для ПК, управление только клавиатурой и мышью.
а мог бы супруге айфон купить.

Компьютерные игры Консольные игры Консольщики Консоли Портативные консоли Windows 11 Торрент
12
3
erinaceto
erinaceto
6 месяцев назад
Серия Технические заметки

Stm32 без IDE — памятка 1: собираем проект⁠⁠

За вопрос спасибо студентам группы 031/EE-01.

Буквой в скобках обозначаю (например, так: "(Щ)" ) моменты , на которые позже хочу сослаться.

Исходные данные: есть проект STM32CubeIDE (скажем, пустой, только что сгенерированный), теперь хочется его его скомпилировать и запустить на микроконтроллере.
Материалы: МК на базе stm32F401 (впрочем, конкретная модель не важна *), многострадальный ноутбук с Rosa Fresh 12.5.1, кубик версии 1.12 (люблю я именно эту версию…). Программатор — китайский свисток, которому повезло, что кубик его принимает за своего.
Если у вас windows, я предполагаю, что вы сами установили и настроили make, драйвер st-link и т. п. Также все консольные команды я даю в расчёте на bash, это стоит иметь в виду.

Итак, мы запустили кубоид, создали в нём проект, а теперь хотим закрыть кубоид и далее работать с этим проектом. На самом деле для того, чтобы всё получилось без лишней головной боли, сперва соберите проект в кубе. У вас создастся каталог Debug (ну, я пока предполагаю, что вы ничего не трогали), а в нём — исполняемый файл, и куча промежуточных файлов. Теперь вы можете сделать Project →Clean, при этом удалится большинство промежуточнх файлов, но останутся иструкции для утилиты make, которой мы и воспользуемся.

Для этого нам понадобятся

  • текстовый редактор. Любой;

  • утилита make;

  • компилятор, способный создать исполняемый файл для МК;

  • сервер gdb, способный работать по интерфейсу SWD с МК;

    • при использовании ST-LINK_gdbserver (см. ниже) понадобится консольный stm32programmer;

  • клиент gdb, умеющий в инструкции процессора МК.

С редактором, думаю, более-менее ясно.

Компилятор и клиент GDB можно достать из уже установленного кубоида (если у вас его в принципе нет, можно ограничиться пакетом STM32CubeCLT (CLT означает command-line tools). Там нам понадобится найти расположение файлов arm-none-eabi-gcc и arm-none-eabi-gdb.

Собственно, arm — это архитектура процессора, для которого мы собираем программу, none-eabi означает отсутствие какой бы то ни было ОС, взяимодействующей с исполняемым файлом (всяческие RTOS в данном случае не в счёт).

Вот по серверу есть варианты. Можно использовать openOCD, st-util либо stlink-gdbserver. Я буду использовать stlink-gdbserver просто потому, что он идёт в поставке с кубиком (на самом деле у него есть ещё два преимущества: он умеет более чем в одно подключение одновременно, а главное — в отладку двухъядерных МК).

Поищем (я предполагаю, что кубик установлен в /opt/st/stm32cubeide_1.12.0, в зависимости от ОС, кончено, нужно использовать подходящие инструменты для поиска):

aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'arm-none-eabi-gdb'  
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.linux64_1.0.200.202301161003/tools/bin/arm-none-eabi-gdb
aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'arm-none-eabi-gcc'  
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.linux64_1.0.200.202301161003/tools/bin/arm-none-eabi-gcc
aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'ST-LINK_gdbserver'  
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.linux64_2.0.500.202301161003/tools/bin/ST-LINK_gdbserver

(Б) На самом деле, конечно, это всё можно найти и глазами, но в любом случае с непривычки будет сильное желание выкинуть эти длинные буквы подальше.Пути до (не включительно) arm-none-eabi-gdb и ST-LINK_gdbserver следует добавить к системной переменной PATH (нет, как это делается, я здесь пояснять не буду, это относится не к нашей теме, а к общей компьютерной грамотности).
(Ъ) А вот путь до arm-none-eabi-gcc нужно добавить в PATH обязательно.

(В) Для использования ST-LINK_gdbserver нам отдельно понадобится путь к программе STM32_Programmer_CLI. Примерно так:

aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'STM32_Programmer_CLI'
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_2.0.600.202301161003/tools/bin/STM32_Programmer_CLI

aleksei@RNWS-008 ~ $ export PATH_TO_PROGRAMMER='/opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_2.1.100.202311100844/tools/bin'

(А) Далее, make можно использовать как системный, так и из поставки кубоида (так же, поищите make). В принципе, нет причин не использовать штатный make — если только у вас не windows. Но тут подскажу мало: вживую видел make в составе платформы msys2, по идее, должно быть достаточно make из кубика. Точно так же, добавьте её в PATH, и будет работать.


Отлично. если вы проделали это — треть работы позади.

Теперь перейдём к сборке проекта. Для этого необходимо зайти в терминале в каталог с проектом, далее в каталог Debug (посмотреть, где он лежит, можно из Cube IDE: щелчок правой кнопкой мыши → Show In → System Explorer

Stm32 без IDE — памятка 1: собираем проект Микроконтроллеры, Stm32, Программирование, Консольщики, Разработка, IT, Длиннопост

ПКМ на каталоге → Show In → System Explorer

Теперь, узнав, где мы сидим (в моём случае это ~/STM32CubeIDE/other/test/Debug), открываем там терминал:
cd ~/STM32CubeIDE/other/test/Debug
и собираем проект (во всяком случае, те, кто не прогуливал лекцию про make):
make all

Для этого у нас должны быть установлены make (см (А) ) и переменная PATH должна указывать на каталог с arm-none-eabi-gcc (см. (Ъ)). Если make пишет что-то вроде /bin/bash: команда не найдена: arm-none-eabi-gcc), то возвращаемся к пункту (Ъ).

Если же эти два требования выполнены, то внезапно собирается. Почему?

Потому что в каталоге Debug кубик создаёт makefile, а также воссоздаёт примерную структуру каталогов проекта. В каждом из подкаталогов лежит фай subdir.mk, описывающий, как собирать данный подкаталог (в самом Debug эти инструкции вынесены в файлы с названиями objects.list, objects.mk, sources.mk). В принципе, мне по нраву такой подход. В сами файлы мы залезем чуть позже. А пока посмотрим, что получилось на выходе:

aleksei@RNWS-008 ~/STM32CubeIDE/other/test/Debug $ make  all  | grep -v arm-none-eabi-gcc
Finished building target: test.elf

arm-none-eabi-size  test.elf  
text  data  bss  dec  hex filename
5788  20  1580  7388  1cdc test.elf
Finished building: default.size.stdout

arm-none-eabi-objdump -h -S test.elf  > "test.list"
Finished building: test.list

(grep -v использовал просто чтобы не выводить полотно текста).

У нас собрался файл Debug/lesson1.elf. Ура. Он модержит в себе инструкции и данные для работы программы; адреса, по которым эти инструкции и данные должны располагаться; отладочную информацию в соответствии с тем профилем сборки, который настроили в кубике — для Debug это практически весь исходный текст программы. Он нам и понадобится далее.

Теперь треть работы позади.

Подключаемся к МК.

Как уже упоминал, работать будем с ST-LINK_gdbserver; при желании можете использовать st-util, она чуть проще в запуске, а результат для нас будет тем же. Или openOCD, если он у вас уже есть.

Предполагаю, что (Б) и (В) мы уже прошли. Тогда запускаем:
ST-LINK_gdbserver -p 4242 -d -t -cp $PATH_TO_PROGRAMMER
Здесь -p 4242 — это указание порта для работы с клиентом gdb; по умолчанию ST-LINK_gdbserver использует 61234, делайте как вам удобно, я обычно пишу его явно, чтобы не забыть.
-d — использовать SWD (подозреваю, что ключ необязателен).
-t — тоже необязательный для нас, разрешает множественные подключения.
-cp $PATH_TO_PROGRAMMER — обязательно нужно указать путь к STM32_Programmer_CLI (см. (В))

Если контроллер подключён, то увидим сообщение типа Waiting for debugger connection
Это означает, что мы смогли подключиться по USB к программатору и через него к целевому контроллеру. Если не смогли — проверяем контакты (в том числе разрешение на доступ к USB, мало ли…)

Далее в отдельном терминале заходим в каталог с файлом elf и запускаем клиент отладчика. Примечание для пользователей windows: здесь следует использовать именно стандартный терминал windows, штуковины типа git bash или терминала msys2 в данном конкретном случае не дадут работать автодополнению клиента gdb.

aleksei@RNWS-008 ~/STM32CubeIDE/other/test/Debug $ arm-none-eabi-gdb

(gdb) target extended-remote :4242
Remote debugging using :4242
warning: No executable has been specified and target does not support
determining executable automatically.  Try using the "file" command.
0x08015760 in ?? ()
(gdb) file test.elf
Reading symbols from test.elf...
(gdb) load

Loading section .isr_vector, size 0x298 lma 0x8000000
Loading section .text, size 0x1bc5a lma 0x8000298
Loading section .init, size 0xc lma 0x801bef4
Loading section .fini, size 0xc lma 0x801bf00
Loading section .rodata, size 0x10444 lma 0x801bf0c
Loading section .eh_frame, size 0x4 lma 0x802c350
Loading section .ARM.exidx, size 0x8 lma 0x802c354
Loading section .data, size 0x9ec lma 0x802c35c
Loading section .init_array, size 0xc lma 0x802cd48
Loading section .fini_array, size 0x4 lma 0x802cd54
Loading section .init_array.00000, size 0x4 lma 0x802cd58
Start address 0x08007a24, load size 183642
Transfer rate: 41 KB/sec, 8347 bytes/write.
(gdb) continue
Continuing.

Собственно, программа запущена. Далее изучайте команды gdb (начните с: breakpoint, info breakpoint, delete, next, step, continue, run, disconnect, target, quit, print, x, frame; несколько особняком — dump, потому что на тему неё я позже ещё напишу пару слов). Имейте в виду, что здесь работает автодополнение команд (клавишей Tab), история (клавиши «Вверх» и «Вниз»), поиск по истории (Ctrl + r), сокращения команд (например, 'c' эквивалентно continue). Также если нажать ВВОД при пустой строке ввода, будет повторена последняя команда (это не очень удобно, но увы, без пересборки gdb этого не исправить; для отдельных команд можно отменить повтор последней команды при помощи «dont-repeat».

В следущей серии помигаем светодиодиком.

Показать полностью 1
[моё] Микроконтроллеры Stm32 Программирование Консольщики Разработка IT Длиннопост
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии