[Из песочницы] Мигаем светодиодом в STM32 на ассемблере

Некотрое время назад захотелось мне освоить ассемблер и после прочтения соответствующей литературы пришло время практики. Собственно о ней и пойдет дальше речь. Первое время я практиковался на Arduino Uno (Atmega328p), теперь решил двигаться дальше и взялся за STM32. В руки ко мне попала STM32F103C8 собственно на ней и будут проходить дальнейшие эксперименты.

Инструменты


Я использовал следующие инструменты:

  • Notepad++ — для написания кода
  • GNU Assembler — компилятор
  • STM32 ST-LINK Utility + ST-LINK V2 — для прошивки кода на микроконтроллер и отладки

Начало


Основная цель программирования на ассемблере для меня — это обучение. Так как никогда не знаешь где наткнешься на очередную интересную проблему, то было решено писать все с нуля. Первостепенной задачей было понять как работает вектор прерываний. В отличие от Atmega в STM32 вектор прерываний не содержит инструкций перехода:

jmp main


В нем прописываются конкретные адреса и во время прерывания процессор сам подставляет прописанный в векторе адрес в PC регистр. Вот пример моего вектора прерываний:

.org 0x00000000					
SP: .word STACKINIT				
RESET: .word main
NMI_HANDLER: .word nmi_fault
HARD_FAULT: .word hard_fault
MEMORY_FAULT: .word memory_fault
BUS_FAULT: .word bus_fault
USAGE_FAULT: .word usage_fault
.org 0x000000B0
TIMER2_INTERRUPT: .word timer2_interupt + 1


Хочу обратить внимание читателя, что первой строкой идет не reset вектор, а значения которым будет инициализироваться стэк. Сразу следом за ним идет reset вектор после которого следуют 5 обязательных векторов прерываний (NMI_HANDLER – USAGE_FAULT).
Читать дальше →
[Из песочницы] Мигаем светодиодом в STM32 на ассемблере
Source: geektimes

Новые инструменты Safari для отладки WebRTC

image


Совсем недавно Apple анонсировала поддержку WebRTC в Safari. Слухи ходили несколько лет, и теперь мы знаем: осенью WebRTC будет доступна для всех основных браузерах: Chrome, Firefox, Safari и Edge. С подводными камнями и несовместимостями. Технология очень крутая и позволяет передавать peer-to-peer между браузерами голос, видео, экран или произвольные данные. Ее использует «Skype for Web», «Hangouts» и другие известные коммуникаторы. А в новой версии Safari кроме самой WebRTC добавилось много плюшек для пользующихся ей разработчиков, о которых я расскажу под катом.
Читать дальше →
Новые инструменты Safari для отладки WebRTC
Source: habrahabr

Цитата #446257

xxx: У кого какие фантазии и мечты были в детстве?
ууу: Я представлял себе, как учительница математики за очередную «двойку» прямо при всем классе перекидывает меня через колено и долго-долго шлепает такой длинной деревянной линейкой. Даже специально иногда старался провиниться, а когда папа воспитывал, представлял на его месте Лидию Евгеньевну.
zzz: А я мечтал, как Танька из соседней квартиры выйдет на балкон развешивать белье (разумеется, голая) и случайно захлопнет за собой дверь, а я ее спасу за небольшое вознаграждение натурой.
ааа: у меня была воображаемая подружка, которая мне всегда расписывала вслух, как выглядят под одеждой окружающие. она именно словами говорила, а я представлял.
xxx: Эх вы… Я вот мечтал, как в наш почтовый ящик придет уведомление о посылке на мое имя. Я побегу на почту, а мне там вручат огромный ящик с конструктором…
Цитата #446257
Source: bash

Пост №3204330

Автор: crooked legs

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3204330″ }, «headline»: «арт :: Каляки-Маляки (каляки-маляки) :: нарисовал сам :: разное :: красивые картинки», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BD%D0%B0%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BB-%D1%81%D0%B0%D0%BC-%D0%9A%D0%B0%D0%BB%D1%8F%D0%BA%D0%B8-%D0%9C%D0%B0%D0%BB%D1%8F%D0%BA%D0%B8-%D1%80%D0%B0%D0%B7%D0%BD%D0%BE%D0%B5-%D0%B0%D1%80%D1%82-4005019.jpeg», «height»: 4000, «width»: 4000 }, «datePublished»: «2017-08-14T11:09:29+03:00», «dateModified»: «2017-08-14T11:09:29+03:00», «author»: { «@type»: «Person», «name»: «crooked legs» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3204330
Source: Joyreactor

Пост №3204326

Автор: commissarmanul

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3204326″ }, «headline»: «ш Г ч » •» К V Vi • ■*»||ц ‘ *4 л . ; ■*••• Мм-мц. •« «*v ***** « ••’-•«•«i, а • ,• / art (арт) :: Dieselpunk :: Eddie Mendoza :: красивые картинки», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Eddie-Mendoza-%D0%BA%D1%80%D0%B0%D1%81%D0%B8%D0%B2%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-art-Dieselpunk-4004957.jpeg», «height»: 1024, «width»: 1920 }, «datePublished»: «2017-08-14T11:03:36+03:00», «dateModified»: «2017-08-14T11:03:36+03:00», «author»: { «@type»: «Person», «name»: «commissarmanul» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «• • II • • 9 4 • • » I •И* 1 |S N A 1 • ,1 A % 1 1 i ^ ! _~*i ■» » F * p s » lÏÏFFlB *’ w •• ib) :v a| ** tui >aui • *• j » r» gj [THE HO’JH b ■ »OURS 1 1 OF LO.^ p 1 ™» }
Комментировать 
Пост №3204326
Source: Joyreactor

Популярный бенчмарк подтвердил характеристики ASUS ZenFone 4

Несколько дней назад на портале ASUS eShop были опубликованы характеристики нового смартфона ASUS ZenFone 4 с двойной камерой. Позднее все упоминания об устройстве с сайта были удалены, однако подробности […]
Популярный бенчмарк подтвердил характеристики ASUS ZenFone 4
Source: 4pda

[Из песочницы] Chromebook для удаленной работы. Настраиваем VPN и RDP

image


Привет! Удаленную работу часто можно описать как два технических требования от исполнителя: первое, доступ в интернет, и второе, ноутбук. А если у вас есть удаленный сервер, на котором вы работаете, то все, что вам нужно: тонкий клиент для доступа к нему. В этой статье я расскажу, как я выбирал и настраивал тонкий клиент для удаленной работы, и почему хромбук отлично справляется с этой задачей.
Читать дальше →
[Из песочницы] Chromebook для удаленной работы. Настраиваем VPN и RDP
Source: habrahabr

[Перевод] Погружение в F#. Пособие для C#-разработчиков

Этот пост будет не о том, как «перевести» код с C# на F#: различные парадигмы делают каждый из этих языков лучшим для своего круга задач. Однако вы сможете оценить все достоинства функционального программирования быстрее, если не будете думать о переводе кода из одной парадигмы в другую. Настало время любопытных, пытливых и готовых изучать совершенно новые вещи. Давайте начнем!

Читать дальше →
[Перевод] Погружение в F#. Пособие для C#-разработчиков
Source: habrahabr

Цитата #446256

old_nick: Олеся мне чертовски нравилась, потому что была чертовски похожа на Кипелова, а я тогда с ума сходил от «Арии»
Цитата #446256
Source: bash