HardFault handler on supervisor call (SVC) when starting FreeRTOS kernel (CM-4)

During the initialization of FreeRTOS kernel, kernel calls the first task with function: At the third instruction, counting from the bottom, svc is being called. It is a supervisor call, which calls an SVCall exception. If after that instruction HardFault happens it might be caused by non zero value of BASEPRI register. Base Priority Mask …

Continue reading

Yet another BME280 single readout

I needed a simple readout of temperature in my garage, so I bought BME280 and connect it to RPi. My language of choice is python, as I wanted to connect this with domoticz server. Link to GitHub: master/BME280_simple.py

Python made – RIGOL DP832 GUI – Ethernet

As I had some free time, and we had recently got Programmable Power Supply RIGOL DP832, I have made python based GUI, to communicate with RIGOL. It is based on: PyVisa version: 1.8 PyQt version: 5.8.1 Qt version: 5.8.0 Matplotlib version: 2.0.0 and uses Ethernet to communicate with RIGOL. pip install -U pyvisa pip install …

Continue reading

Beaglebone PCF8574A simple driver

PCF8574A is 8-bit expander with I2C bus. Driver will check presence of dev in device-tree, and will count from 0x00 to 0xff. Device tree modifications(vs orginal TI device-trr for beaglebone) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 i2c1_pins: pinmux_i2c1_pins { pinctrl-single,pins = < …

Continue reading

Library for ATmega8A in C++

Have been trying to write a library for ATmega8A in c++. The results are on GitHub: GITHub libatm8a

AVR TOOLCHAIN based on: gcc 6.20, libc 2.0.0 & binutils 2.27

With the help from Zak’s Electronics Blog ~* and AVR LIBC user’s manual I have compilied avr toolchain, for my personal use, with the newest edition of (as of today) gcc, libc and binutils. I have also changed avr-size a little by patching missing avr microcontrolers, which atmel adds to its toolchain.     If …

Continue reading