• ↓
  • ↑
  • ⇑
 
12:19 

Кто-то любит пирожки, а кто-то - нет.
Сегодня на платформе слышал обсуждение чего-то у девочек-мальчиков абитуриентского возраста:
...
— А я смотрю многосерийный фильм. Ну, сериал. То есть мультик. Почти что аниме.
— «Наруто»?
— Мне нравится ^^
...

Эх...

@темы: мии

14:56 

STM32F4. Режимы работы.

Кто-то любит пирожки, а кто-то - нет.
Как вам должно быть уже известно, Cortex-M4 имеет два режима работы, в отличие от старых версий архитектуры, где оных режимов штук семь:
Thread Mode, то есть режим для обычного кода. Уровень привелегий может быть урезан для исключения доступа к особо важным регистрам.
Handler Mode, который включается в прерываниях и исключениях. Этот режим привелегированный по умолчанию. То есть имеет доступ ко всему, чему угодно.

читать дальше

Проект.

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

15:31 

XB24-WFSIT (WFPIT) firmware update

Кто-то любит пирожки, а кто-то - нет.
В используемых модулях Wi-Fi было ПО версии 101E, которое не давало возможности (ввиду какой-то внутренней ошибки) определить разрыв сондинения с точкой доступа. Модуль просто переставал принимать и передавать данные, даже не зная об этом.

Я спрашивал в техподдержке, что делать, несколько дней назад, но пока отвечал только робот со статусами вопроса. Изучение сайта показало, что для этих модулей есть новая версия ПО 102D, где уже это исправлено. Кроме того, добавлена поддержка шифрования WEP. Так что пока у них я не вижу особо критичных недостатков.

Единственное, что не нравится - программа X-CTU, вроде, которая эти модули позволяет настраивать и обновлять ПО.
Только обновлятор до чего капризный и мнительный - аж жуть. Стоит модулю чуть-чуть задуматься с ответом, так он закатыват истерики: "Ты не хочешь со мной общаться! Я обиделся и иди нафиг". То есть два модуля удалось обновить хорошо псли с пятнадцатой попытки. Потому протокол снял логическим анализатором (благо он прост) и испытываю желание запихать в отдельный микроконтроллер, чтоб автономно без всяких капризов их обновлять.

@темы: мии, xbee, электроника

00:08 

Десятики

Кто-то любит пирожки, а кто-то - нет.
Общий итог: собственно, итог

Ждём: Полярный, Ростов-на-Дону, Туапсе, Великие Луки, Великий Новгород, Дмитров, 200-летие победы России в Отечественной войне 1812 года.

Кстати, никто не в курсе, где можно сделать латунное покрытие металлического изделия?Оо

Log. Last 11.06.2012
запись создана: 21.12.2011 в 15:33

@темы: просто ня, монетики

17:34 

STM32F4. Критические секции.

Кто-то любит пирожки, а кто-то - нет.
ОС работает. Создание и завершение процессов в любой момент возможно.

читать дальше

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

17:51 

STM32F4. Динамические процессы.

Кто-то любит пирожки, а кто-то - нет.
ОС уже имеет миниальную поддержку событий и задержек. То есть, с задержками уже всё хорошо, а вот с событиями не очень.

читать дальше

<< Предыдущее Следующее >>

@темы: программизмы, stm32f4discovery, stm32, arm, электроника

16:07 

STM32F4. Задержки и события в ОС.

Кто-то любит пирожки, а кто-то - нет.
Пока ОС предоставляет только услугу переключения процессов. Однако в любой человеческой ОС нужны две важных вещи: программная задержка и ожидание события. Пока не истекло время или не наступило ожидаемое событие, процесс не получает управления. Таким образом можно ожидать, например, прихода символа по UART сколь угодно долго, никак не напрягая ядро.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, stm32, stm32f4discovery, ассемблер, программизмы, электроника

15:23 

STM32F4. Базовая ОС.

Кто-то любит пирожки, а кто-то - нет.
Ладно. Наплюём пока на акселерометр (он нам понадобится потом). Сейчас главная задача — сделать примитивную вытесняющую ОС. Памяти дофига, можно не жадничать.
ОС я ни разу не писал, но надо ж с чего-то начинать. А для изучения асма и контроллера это самое то. Пока читать литературу не буду, попробую сообразить сам.

читать дальше

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

14:50 

STM32F4. Системный таймер.

Кто-то любит пирожки, а кто-то - нет.
Ну вот, теперь умеем программные прерывания. Но даже для простенькой вытесняющей ОС этого недостаточно.
Нужен ещё хотя бы один таймер.

Для начала можно рассмотреть SysTickTimer. Это такой специальный 24-битный таймер, который есть во всех ARMах и который умеет циклически считать с определённого заданного значения до нуля на частоте порядка тактовой. Ну и, конечно, имеет своё прерывание.
Основная его задача обычно — инициировать переключение процессов в ОС, ну и отсчитывать временные интервалы для разных событий внутри неё.

читать дальше

Кому не интересны возможности ядра по поддержке ОС и ассемблер, может перейти сразу на работу с периферией: Базовый таймер. Правда, там идёт уже в основном Си. Но переписать логику на ассемблер уже должно быть несложно и самостоятельно.

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, электроника, arm

15:43 

Тадайма

Кто-то любит пирожки, а кто-то - нет.
А я приехал уже в Питер обратно =)

Повезло с датой билета — уже на следующий день, как мы проехали, размыло ЖД под Сегежей Оо И поезда фиг знает сколько стояли.

@темы: мии

20:38 

STM32F4. Программное прерывание.

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

Кстати, я узнал, что в новых архитектурах ARM есть смециальная последовательность команд для загрузки 32-битного числа в регистр.
MOVW Rn,<младшие 2 байта>
MOVT Rn,<старшие 2 байта>

Но в ассемблере есть честный макрос: MOV32.
То есть все предыдущие инструкции LDR Rn, =<32-битное число> можно спокойно поменять на MOV32 Rn, <32-битное число>, что я и сделал. Правда, эти правки я не стал выкладывать в виде отдельных файлов, ибо не суть.

читать дальше

<< Предыдущее Следующее >>

@темы: электроника, stm32f4discovery, программизмы, ассемблер, stm32, arm

20:09 

STM32F4. Низопоказометр.

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

Для этого надо бы использовать память, наконец-таки. Объявим секцию переменных:


Название можно любое в пределах допустимого ассемблером. Оно создаёт секцию в объектном файле, но на результат не влияет. Все секции, объявленные с атрибутом READWRITE получают адреса начиная с 0x20000000 (выставляется в настройках проекта).

читать дальше

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

15:59 

Хочу найти на лесной дороге пачку по 500 рублей

Кто-то любит пирожки, а кто-то - нет.
Из детского сочинения. Такое укурное Оо

А через час поезд...

@темы: мии

06:41 

STM32F4. Акселерометр.

Кто-то любит пирожки, а кто-то - нет.
Хм. Пример проекта на ассемблере побольше. Добавились модули SPI и поверх него протокол работы с акселерометром LIS302DL. И краткий файл регистров периферии STM32F4xx (немного RCC, GPIO, SPI).
Светодиоды индицируют ускорения на отдельных осях, плюс один — нажатие кнопки.

читать дальше

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

00:22 

STM32F4. Модули на Си.

Кто-то любит пирожки, а кто-то - нет.
Бегающие светодиодики в разные стороны — это круто. Но когда весь код состоит только из ассемблера — это не очень. Поддерживать его становится сложно, да и все дела.

Для примера можно один из модулей предыдущего проекта написать не на ассемблере, а на Си и всё при этом будет работать. (см. ниже button.c).
Только не забывайте, что стандартная библиотека в этом проекте не инициализирована (мы перехватили её функцию инициализации), а значит, память не очищена, глобальные переменные не инициализированы и функции, работающие с кучей, будут работать некорректно.

читать дальше

<< Предыдущее Следующее >>

@темы: электроника, программизмы, ассемблер, stm32f4discovery, stm32, arm

23:46 

STM32F4. Модули и кнопка.

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

Потому надо каждый проект разбивать на функционально обособленные модули. И не важно будет, на чём оные модули будут написаны =)
Но пока нас интересуют только ассемблерные.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, stm32, stm32f4discovery, ассемблер, программизмы, электроника

21:17 

STM32F4. Подпрограммы.

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

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

читать дальше

Пример программы: main.s.

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

19:50 

STM32F4. Светодиоды на ассемблере.

Кто-то любит пирожки, а кто-то - нет.
Пустой код, конечно, хорошо, но он ничего полезного не делает.

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

читать дальше...

Пример кода, моргающего светодиодами: main.s.

<< Предыдущее Следующее >>

@темы: программизмы, ассемблер, stm32f4discovery, stm32, arm, электроника

18:44 

STM32F4. Первый проект на ассемблере.

Кто-то любит пирожки, а кто-то - нет.
Что необходимо для проекта на ассемблере?
В первую очередь — создать проект обычным образом, как и для Си-проекта. Выбрать контроллер, создать папку, назвать проект, согласиться с добавлением загрузочного кода (startup_xxx.s).

читать дальше...

<< Предыдущее Следующее >>

@темы: электроника, программизмы, ассемблер, stm32f4discovery, stm32, arm

19:46 

Кто-то любит пирожки, а кто-то - нет.
Второй солнечный день подряд. Я точно в Чупе?Оо

На огороде гороха просто дофига. И, как назло, весь тонкий ещё — не вырос >< Хоть бы до вторника успел хотя бы немного...

@темы: мии

Няшки-вкусняшки любят карандашики.

главная