Tag Archives: Linux

Использование отладчика GDB

В вебинарах «Linux разработка на языке си. Изучаем основное API.» Было кратко упомянуто о gdb-отладчике. Но за 40 минут осветить хотя бы основные моменты использования отладчика не представляется возможным. Поэтому было принято решение записать открытое видео по отладчику gdb. Полезна будет всем кто начинает разбираться в программировании встроенных систем на Linux.

Видеолекция включает в себя использование популярного отладчика *nix системах и разбираются основные темы:

1. Пример отладки простейшей программы.

  • Основные команды.
  • Точки останова (по переменным, по строкам).
  • Переменные, массивы.

2. Дизассемблирование. (в т.ч. и других архитектур).
3. Многопоточная отладка.
4. Отладка дочерних программ.
5. Подключение к работающему процессу.
6. Удалённая отладка. (в т.ч. и других архитектур)
7. Отладка с дампом ядра.

Программы, использованные в видео обитают тут:
Github

Полезные ссылки:
Кратко о GDB
Пост на хабре
И еще один сайт

Если есть интерес освоить программирование в *nix системах или даже написание модулей ядра (драйверов), то вы можете следить за предстоящими событиями в блоге Сереги, либо написать ему по почте dlinyj(с)gmail.com и вы получите уведомление обо всех планируемых вебинарах. Также он продает записи прошлых вебинаров. А это многие часы видео плото набитых инфой пр программированию в linux.

Read More »

AVR toolchain своими руками

DI HALT:
В догонку к прошлому посту про AVR Studio в Linux досылаю и про сборку avr-libc там же. Вынесено из комментов к предыдущему посту. Спасибо Dark SavanT

Если есть возможность поставить готовый тулчейн из пакета, лучше воспользоваться ей.
преимущество самосборного в том, что все что надо, лежит там где сказано и не засоряет /usr/*. Но тут мы теряем автоматические обновления из пакетов. Короче, думайте сами, решайте сами.

Поехали!
В минимальной комплектации нам понадобятся:

  • binutils — это ассемблер, линкер, objdump и еще куча необходимых для сборки бинарника вещей
  • gcc — собственно сам компилятор.
  • avr-libc — стандартная библиотека С для AVR архитектуры.
  • avrdude — программа для прошивки. Хальт про нее не раз писал.

для того, чтобы это все безобразие собралось, нужен установленный в системе gcc, bash, awk, binutils, libc, может что-то еще забыл.
(далее…)

Read More »

AVR Studio в Linux.

Печально, но факт, что Atmel штампует свое замечательное IDE только для семейства OS Windows. Поэтому пользователям Linux приходится по-всякому извращаться, чтобы заполучить себе на машину этот удобнейший инструмент разработчика. Существует два очевидных решения этой задачи. Первый — запускать студию в Windows, которая крутится на виртуальной машине (отдельную машину с Win не рассматриваем). Второй — запускать программу посредством Wine.

Первый способ хорош 100%-й совместимостью и полным отсутствием софтверных граблей. Железные же практически полностью висят на разработчиках виртуальных машин и обычно стремятся к нулю. Однако, виртуальная машина отжирает у хост-машины ценные системные ресурсы. Кроме того, стоит учесть, что налог на Windows не зависит от того насколько виртуальна машина, на которой бегает эта операционная система. Ну и окно-в-окне, особенно при неудачно реализованном механизме переключения между системами, удовольствия не доставляет. Если вас эти ограничения не смущают, это вполне себе вариант. В Википедии есть прекрасная сводная таблица виртуальных машин, которая может вам пригодиться.

Способ запуска программ (любых) посредством Wine — вполне себе самодостаточен. Стоит помнить, что проект постоянно развивается. Сегодняшний Wine не чета тому, который мне довелось пощупать при первом знакомстве. Сайт проекта: http://www.winehq.org/. Этот вариант распишу подробно.
(далее…)

Read More »