Archive for the ‘ARM’ Category

Set up lighttpd server with fastcgi support on Orange Pi

02.02.2017 Leave a comment
  1. Install lighttpd and fastcgi: sudo apt-get install lighttpd libfcgi-dev libfcgi0ldbl
  2. Now you have lighttd installed and running. You can test it by opening http://orange_ip_address
  3. In the home directory create folder cgi_test: mkdir ~/cgi_test && cd ~/cgi_test
  4. It’s time to create your first CGI prnt.c” with the  following code: Read more…
Categories: 1, ARM, orange pi, Software

Orange Pi Zero remote debugging with Eclipse CDT on Mac OS X

14.01.2017 Leave a comment
  1. Download ARM toolchain from this blog —
  2. Create your C++ project, do not forget to select 'Cross GCC' and specify cross compiler path and prefix.01.png
  3. Build project to verify that it is buildable.
  4. Read more…

Categories: ARM, Mac OS X, orange pi, Software, zero

Unbricking Xiaomi Yi action camera

25.04.2015 3 comments
Yi Action Camera

Yi Action Camera

Two days ago I received my Xiaomi Yi Action Camera bought on eBay. Official app told me that there were the new firmware for my cam. After update my camera become dead.

Read more…

How to use sprintf function in stm32f4xx firmware

02.12.2013 1 comment

Sometimes you need to implement pretty output to USART. This task can be solved in two ways:

  • Write your own converters from int or double to char*
  • Use sprintf and printf

Second way is better. I will use sprintf(str, ...) and write simple loop that will send str byte-by-byte to USART.

I use mac os x + eclipse + arm-none-eabi + openocd + stm32f4discovery.
Let’s start implementing this.
Read more…

arm-none-eabi-gdb – Segmentation fault: 11 – b 2

07.11.2013 Leave a comment

UPD 14.10.13: This is a bug of GDB. It is already known and fixed.

Terry Guo: The gdb in this release has some problem to decode DWARF debug information generated by -g3 option. For the time being, please recompile your project with -g or -g2 to work around this issue.


I am trying to program stm32f303vct6 core on stm32f3discovery board via Eclipse+arm-none-eabi-gdb+openOCD. Source for this stm32 can be built with no errors. I use GNU Tools for ARM Embedded Processors. Also it can be uploaded to MCU. But there are some troubles with debugging: gdb can’t read symbols from the firmware. This means that there will be no breakpoints in code. It is awful.

No symbol file

No symbol file

Read more…

Работа с UART в контроллерах MC1322x от Freescale для настройки WizFi220

27.07.2012 Leave a comment

Всем привет! Сегодня я расскажу о программировании этого контроллера, который практически не распространён в рунете. А зря. Штука удобная. Основной его плюс в том, что он имеет встроенный модуль ZigBee, из всей внешней обвязки требующий подключения всего двух элементов – конденсатора и антенны.

Суть задачи была в том, чтобы заставить работать связку “MK – WizFi220”. О WizFi220 я уже писал ранее. Но тогда не было программирования. А вот теперь – будет.

Read more…


31.12.2011 Leave a comment
6. Сброс и тактирование
Данный раздел применим ко всем устройствам STM32F100xx, если не указано обратное.
6.1 Сброс
Существует три типа сброса:систеный сброс, сброс по питанию и сброс резервного домена.
6.1.1 Системный сброс
Системный сброс возвращает все регистры к их первоначальному значению, но не затрагивая флаги сброса в регистре настройки тактирования CSR и регистры резервного домена.
Системный сброс может происходить вследствие пяти событий.
  1. Низкий уровень на пине NRST (внешний сброс ).

  2. Событие сброса от оконного сторожевого таймера (WWDG reset).

  3. Сброс от независимого сторожевого таймера (IWDG reset)

  4. Программный сброс (SW reset)

  5. Сброс при пониженном энергопотреблении.

Источник сброса можно определить в регистре RCC_CSR (RCC Control/Status Register) с помощью функции

FlagStatus RCC_GetFlagStatus ( uint8_t RCC_FLAG );

Read more…
Categories: ARM