Pull to refresh
0
0

Инженер-электронщик

Send message

Руководство новичка по эксплуатации компоновщика

Reading time32 min
Views204K
David Drysdale, Beginner's guide to linkers (http://www.lurklurk.org/linkers/linkers.html).

Цель данной статьи — помочь C и C++ программистам понять сущность того, чем занимается компоновщик. За последние несколько лет я объяснил это большому количеству коллег и наконец решил, что настало время перенести этот материал на бумагу, чтоб он стал более доступным (и чтоб мне не пришлось объяснять его снова). [Обновление в марте 2009: добавлена дополнительная информация об особенностях компоновки в Windows, а также более подробно расписано правило одного определения (one-definition rule).

Типичным примером того, почему ко мне обращались за помощью, служит следующая ошибка компоновки:
g++ -o test1 test1a.o test1b.o
test1a.o(.text+0x18): In function `main':
: undefined reference to `findmax(int, int)'
collect2: ld returned 1 exit status

Если Ваша реакция — 'наверняка забыл extern «C»', то Вы скорее всего знаете всё, что приведено в этой статье.
Читать дальше →
Total votes 194: ↑193 and ↓1+192
Comments38

Embedded Linux в двух словах. Первое

Reading time9 min
Views55K

В этой небольшой серии статей я попытаюсь пролить свет на тему построения Embedded Linux устройств, начиная от сборки загрузчика и до написания драйвера под отдельно разработанный внешний модуль с автоматизацией всех промежуточных процессов.

Платформой послужит плата BeagleBone Black с процессором производства Техасских Инструментов AM3358 и ядром Arm Cortex-A8, и, чтобы не плодить мигающие светодиодами мануалы, основной задачей устройства будет отправка смайлов в топовый чат, широко известного в узких кругах, сайта,  в соответствии с командами от смайл-пульта. Впрочем, без мигания светодиодами тоже не обошлось.

Читать далее
Total votes 47: ↑45 and ↓2+43
Comments15

Разгоняем оптрон до сотни

Reading time2 min
Views35K

Если поискать в интернете схемы подключения оптронов, то можно обнаружить, что в подавляющем большинстве случаев предлагается просто добавить резистор. Это самая простая схема, она же и самая медленная. Когда скорость реакции не устраивает, предлагается ставить более быстрый оптрон, но быстрые оптроны - это дорого.

Читать далее
Total votes 101: ↑98 and ↓3+95
Comments53

Голосовой ассистент Виталий (школьный проект)

Reading time4 min
Views4.7K

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

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

Почта автора для советов и комментариев: glebilic@gmail.com

Смотреть проект
Total votes 16: ↑13 and ↓3+10
Comments13

О работе ПК ч.3: От включения до полной загрузки Windows 10

Reading time20 min
Views101K
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы


Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments57

Разработка электроники: от идеи до устройства

Reading time12 min
Views72K


Сейчас намного проще найти финансирование для своего проекта, проводятся стартап-аллеи, краудфандинговые платформы пестрят новинками. Ардуино приблизило мечтателей к заветной славе. IoT технологии взяли свое и IT фирмы поняли, что не кодом единым можно жить. Не редкое явление, когда hardware проектом руководят люди, которые несколько далеки от электроники. И еще чаще они думают, что жизненный цикл software-проекта аналогичен жизненному циклу hardware-проекта. Увы, это не так.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments39

Можно ли заработать больше, работая инженером, в другой стране?

Reading time6 min
Views43K

Содержание:


Как можно сейчас сравнивать страны по стоимости жизни?
Про паритет покупательной способности
Почему BIM (инженеры и координаторы)
Вывод 1. Разное брутто — равное нетто
Вывод 2. Чем меньше брутто, тем больше m²
Откуда брались данные
Методология расчета показателей ППС

Довольно часто в разговоре с людьми из других стран мы начинаем сравнивать уровни заработной платы. Хотя валовой доход может существенно отличаться, покупательная способность, скорее всего, останется примерно на одном уровне, что особенно очевидно на рынке недвижимости.
Действительно ли трава «зеленее» — на той, другой стороне?
Читать дальше →
Total votes 81: ↑64 and ↓17+47
Comments484

Реализация PPPOS на stm32f4-discovery

Reading time14 min
Views14K
Однажды передо мной возникла задача обеспечить выход в сеть Интернет на STM32 имея для этого только COM порт. Для решения этой задачи мне понадобился PPP, или, еcли быть точным, PPPoS (англ. Point-to-Point Protocol over Serial — один из способов реализации PPP, используется при подключении через COM-порт).

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

Статья описывает создание проекта для System Workbench for STM32 с нуля. Показывает пример работы с UART. Есть примеры кода для реализации PPP. Ну и конечно, пример отправки сообщения на соседний компьютер.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments9

Создание «искусственной жизни» на компьютере

Reading time10 min
Views109K
Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.

Как это выглядит?

картинка кликабельна

На компьютере создаётся виртуальная среда со своими правилами и выпускается первая простейшая живность. Буду называть их ботами. Боты могут погибнуть или выжить и дать потомство. Потомок может слегка отличаться от предка.

Ну а дальше за работу принимается эволюция и естественный отбор.

А мне остаётся только наблюдать за развитием мира.

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

Поведением ботов управляет код, записанный в них.

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

Внутреннее устройство кода — это самое интересное в проекте.

Код должен быть простым и выдерживать различные модификации (случайное изменение любого элемента в коде) над собой без синтаксических ошибок.
Читать дальше →
Total votes 214: ↑210 and ↓4+206
Comments393

Как не стать Python-разработчиком

Reading time2 min
Views104K
Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.
Читать дальше →
Total votes 39: ↑29 and ↓10+19
Comments42

Information

Rating
Does not participate
Date of birth
Registered
Activity