jeelabs.org
// just flashed a blue pill with a blue pill, #feelsgoodman
// just flashed a blue pill with a blue pill, #feelsgoodman
nuttx.org норм?
Прошить main.bin, проверить и сбросить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "program main.bin verify reset"
Остановить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset halt" -c "exit"
Запустить (сбросить) МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset run" -c "exit"
З.Ы.: Если не добавить -c "init" будет ругаться на неизвестную команду "reset".
З.Ы.Ы.: Если не добавить -c "exit" то останется в ожидании коннекта GDB.
З.Ы.Ы.Ы.: GDB нужно коннектить на порт 3333.
geektimes.ru буду потихоньку осваивать в свободное время
Пришел такой девайс если прошивать флешу под дебаггером, всё норм прошивается
если без дебаггера, то во время прошивки срабатывает системный таймер и всё идёт пиздой
хотя по идее BASEPRI выставлен в ноль и дебаггер это подтверждает
Однако, собака такая, неправильно — добавляет в сборку один лишний файл и не добавляет один нужный. Причём это не исправляется просто так, в итоге самое быстрое решение — после генерации перенести содержимое нужного файла в ненужный, благо название не роялит.
Хотел в STM зарепортить это, зашёл в онлайн саппорт, а оно мне такое:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
1.bp.blogspot.com
Интересно, зачем такой изврат с нижним блоком срама?
Интересно, зачем такой изврат с нижним блоком срама?
sparkfun.com
ой красота. Не дорого, stm32 (которую я люблю за CubeMX, а также мы их используем на работе), вайфайчик. Ихние облака мне допустим не нужны, хотя почему бы собственно и нет.
ой красота. Не дорого, stm32 (которую я люблю за CubeMX, а также мы их используем на работе), вайфайчик. Ихние облака мне допустим не нужны, хотя почему бы собственно и нет.
ch> mem
core free memory : 9576 bytes
heap fragments : 1
heap free total : 512 bytes
habrahabr.ru #HabraCitizen
и FreeRTOS. 1.Развлечение с потоками — With the STM32F301, ST makes ARM Cortex-M4 devices available for less than a dollar.
youtube.com Прикрутил lcd дисплей. Подробности потом.
Камеру сконфигурил как QVGA (320х240), концигурится она через I2C протокол, который оказывается очень глючно работает на STM32F1xx серии. С этим протоколом я провозился 2 викенда, стабильно работать так и не удалось заставить. Короче забил на аппаратную реализацию I2C и написал свою программную, написал за пару часов. Вот и спрашивается, нафига парился. Далее была проблема достать данные из камеры, т.к. пиксели бегут очень быстро. На выходе у нас 8битная шина, камера выдаёт сигнал в формате RGB 565, т.е. по 2 байта на пиксель. Тактирую её на 32 МГц. Получить сигнал удалось стабильно после детального изучения ассемблера arm cortex m3 и подсчёта сколько тактов занимает каждая скомпилированная ассемблеровская инструкция. При уменьшении выходной тактовой частоты в 16 раз — изображение удалось получать стабильно! Вин!
Результат можно посмотреть тут: youtu.be
Далее в планах подключение радио модуля и тестирование уже прототипа.
#define PHY_ADDRESS 0 //3
#define PHY_MICR 0x1B / MII Interrupt Control Register /
#define PHY_MICR_INT_EN ((uint16_t)(1<<13)) / PHY Enable interrupts /
#define PHY_MICR_INT_OE ((uint16_t)(0)) / PHY Enable output interrupt events /
#define PHY_MISR 0x1B / MII Interrupt Status and Misc. Control Register /
#define PHY_MISR_LINK_INT_EN ((uint16_t)((1<<8)|(1<<10))) / Enable Interrupt on change of link status /
#define PHY_LINK_STATUS ((uint16_t)(1<<0)) / PHY link status interrupt mask /
#define PHY_SR ((uint16_t)0x1e)
#define PHY_SPEED_STATUS ((uint16_t)0x0001)
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004)
github.com Кто-нибудь пробовал? Я помню @dmz про другой проект писал, а этого раньше не видел.
ГЦЦ САМ НЕ ПЕРЕСОБЕРЕТСЯ
ПЕРЕСОБЕРИ ЕГО, ПЕРЕСОБЕРИ ЕГО ЕЩЕ РАЗ
ЗАЧЕМ МНЕ НУЖЕН KEIL, У МЕНЯ НЕТ ВРЕМЕНИ, ЧТОБЫ ЕБАТЬСЯ С НИМ
ЛУЧШЕ ЕЩЕ РАЗ ПЕРЕСОБРАТЬ ЛИНАРО-ГЦЦ
Я ДЕЛАЮ ГИТ КЛОН 3 РАЗА В ДЕНЬ
КАЖДЫЙ КЛОН ЗАНИМАЕТ 20 МИНУТ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ЗАПУСКАЮ ST-LINK
А ПОСЛЕ ЭТОГО ПЕРЕКОМПИЛИРУЮ ГЦЦ
ТУПЫЕ ПРОГРАММИСТЫ ОДЕРЖИМЫ ПРОГРАММИРОВАНИЕМ ПОД АРМ
А Я СВОБОДНЫЙ ОТ ЗАДРОТСТВА ЧЕЛОВЕК
GIT CLONE OPENOCD LINARO GCC
ST-LINK UDEV USB ARM-NONE-EABI
ЛУЧШЕ Я ЕЩЕ РАЗ ПЕРЕКОМПИЛИРУЮ ГЦЦ
И УСТАНОВЛЮ СВЕЖИЙ ПАТЧЕННЫЙ OPENOCD
Я НЕ ПЕРЕКОМПИЛИРОВАЛ ГЦЦ НЕДЕЛЮ
ПОЙДУ ПЕРЕСОБЕРУ
В ГЦЦ ВСЕ ПРОСТО И ПОНЯТНО
gtype-desc.c:8834:18: error ЭТО ЖЕ ОЧЕВИДНО КАК ЭТО РЕШИТЬ
ПРИШЛО ВРЕМЯ ПЕРЕКОМПИЛИРОВАТЬ ГЦЦ
КОКОКОКОКОКОКОКОКО
ARM-NONE-EABI GCC GDB TARGET REMOTE
КОКОКОКОКОКОКОКОКО
Kernel: 2.5.1unstable
Compiler: GCC 4.6.2 20120613 (release) [ARM/embedded-4_6-branch revision 188521]
Architecture: ARMv7-M
Core Variant: Cortex-M3
Port Info: Advanced kernel mode
Platform: STM32F10x Performance Line eXtra Density
Board: SE LiveView MN800
Build time: Dec 2 2012 — 20:41:31
ch> mem
core free memory : 7328 bytes
heap fragments : 0
heap free total : 0 bytes
ch>
080003cc g F .text 00000002 handler_default
Еще есть таблица прерываний — секция объектника .interrupt_vector, которая соответственно пихается потом линкером куда надо.
Я беры этот символ и пихаю его в таблицу прерываний, пофиг как — хоть сишным массивом с аттрибутом section, хоть через .word в ассемблерном стартапе, пофиг. Делаю objdump и обнаруживаю, что в бинарник попал адрес на байт больше — 0x080003cd (cd 03 00 08, если учесть эндианнесс). Оно работает, конечно — арм, доступ к памяти выровненный на четыре байта, все дела, но WTF?
[
Black Magic Probe is a sophisticated JTAG and SWD adapter supporting
flashing and debugging some Cortex-M3 microcontrollers, in particular
the STM32 family. blacksphere.co.nz
It integrates a GDB server and exposes it over a standard ACM
channel. Just plug it in and connect with gdb, no extra software or
drivers needed.
If you want to try it for cheap, you can reflash any ST-Link with a
version from github.com built with "make
PROBE_HOST=stlink" by using another SWD-capable programmer (desolder
the "DEFAULT" bridges, solder "PRG-32", use CN3 for flashing).
But if you want to get the full functionality (including
DFU-upgradeable probe firmware, an additional auxilary UART, full JTAG
support and experimental SWO), read on about more hardware hacking in
the follow-up post.