Author: h_enes_simsek
Date: December 21, 2022
STMicroelectronics has a simple bootloader tutorial in the link. This article summarizes the tutorial with additional pieces of advice. I’m using Nucleo-F429ZI dev board but other boards are similar for the bootloader. According to the design, there are two STM32 projects, one for the bootloader and one for the application that will be jumped from … Read More
Author: h_enes_simsek
Date: October 26, 2022
Categories:
c,
freertos,
stm32Many guides explain how to use FreeRTOS in STM32 projects without using the CMSIS wrapper library, but I still want to write one more. At first Adding FreeRTOS lib to the project Project explorer will look like in STM32Cube Configuring STM32Cube Settings
Author: h_enes_simsek
Date: October 5, 2022
While enjoying the entries from The International Obfuscated C Code Contest, I’ve decided to examine one of them, Dave Burton’s the best one-liner from the 27th IOCCC Winner. The program bin.c The program takes a decimal value from 0 to 255 (for little endian systems) or 0 to 511 (for big endian systems) and prints … Read More
Author: h_enes_simsek
Date: August 3, 2022
Cihazları birbirine bağlamak için kabloları kullanıyoruz. Ancak haberleşme protokolümüze bağlı olarak cihazlar arasında yaptığımız bağlantı şekli de önem kazanıyor. Özellikle full duplex haberleşmenin mümkün olduğu sistemlerde giden ve gelen kanallar birbirinden ayrı olduğu için bağlantılarının doğru yapılası gerekiyor. Aşağıda örnek iki resim yer alıyor. Patch kablolarda kablonun her iki ucundaki pinler aynen birbirine bağlanırken, crossover … Read More
Author: h_enes_simsek
Date: August 2, 2022
Başlık kendini net bir şekilde ifade ediyor. EEPROM ve Flash arasında ne fark var? Özellikle Flash’ların EEPROM emulation yazılımları ile kontrol edildiğini görmek, ister istemez insanı araştırmaya yöneltiyor. Fakat madem böyle bir işe girişiyoruz biraz daha kapsamlı olarak en eskiden başlayalım. Uçucu olmayan belleklerin kısa tarihi (Non-volative memories) EEPROM ya da uzun adıyla Electrically Erasable … Read More
Author: h_enes_simsek
Date: June 14, 2022
C programlama dilinde değişkenlerin ömrünü ve görünürlüğünü düzenleyen dört adet storage class specifier (typedef’i saymazsak) vardır. Auto Öncelikle altını çizmek gerekir C++11’den itibaren auto keywordü C ve C++ için aynı anlama gelmiyor. Bu yazı C’ye odaklandığı için burdan devam edelim. Bunun yanında C’de auto keywordu aslında gereksizdir. Çünkü kullanılmasına izin verilen yerlerde zaten default olarak … Read More
Author: h_enes_simsek
Date: June 10, 2022
Serial Peripheral Interface veya kısa adıyla SPI, özellikle gömülü sistemlerde kullanılan senkron ve full-duplex bir seri haberleşme protokolüdür. Senkron, haberleşmede bir clock’un kullanıldığını ifade eder. Asenkron bağlantılarda bir clock yoktur. Full-duplex, half-duplex’in aksine haberleşmenin aynı anda her iki yönlü de olabileceğini ifade eder. Seri haberleşmede, bir byte veriyi oluşturan bitler bir kanal üzerinden art arda gönderilir. … Read More
Author: h_enes_simsek
Date: June 3, 2022
Git, her commit sonrası repodaki belgeleri bir hash fonksiyonundan geçirerek (SHA-1) 20 byte bir değer üretir. Genellikle hex olarak 40 digit halinde gösterilir. Böylece her commit bir hash değeri ile ilişkilendirilebilir ve hash değeri kullanılarak hangi committen bahsedildiği anlaşılmış olur. Commit sonrası git log komutu ile geçmiş commitlerin yorumları, tarihleri ve hash değerleri gösterilebilir. Örnek … Read More
Author: h_enes_simsek
Date: June 3, 2022
Önceki kısımlarda bir local ve remote repo oluşturmuştuk. Şimdi local repomuzda yapacağımız değişiklikleri remote repoya gönderelim. Ancek öncesinde aşağıdaki görsele göz atmak oldukça faydalı olur. Local Değişikleri Remote Repo’ya Gönderme localrepo/program.txt dosyasına print(“bug fix”) metnini ekleyelim. ve “bugfix” yorumu ile commitleyelim. Şu an localrepo’muzda değişiklik yaptık ancak origin’in bizden haberi yok. Yaptığımız değişiklikleri remote repo’ya … Read More
Author: h_enes_simsek
Date: June 3, 2022
Yeni Bir Repo Gerçekten remote server kullanmak yerine şimdilik remote server’ı taklit etmek için bilgisayarımızda yeni bir repo oluşturabiliriz. Yazının önceki bölümünde myrepo isminde bir klasör oluşturmuştuk. Aynı düzeyde localrepo isminde bir klasör daha oluşturalım ve parent klasörde aşağıdaki komutu çalıştırarak repoyu kopyalayım. Klasör yapımız resimdeki gibi olmalı. Böylece aynı bilgisayarda olsak dahi remote ve … Read More