Merhaba arkadaşlar Arduinoda bulunan atmega328 gibi 8-bit denetleyicilerden farklı yapıya sahip olan 32-bit denetleyicilere giriş yapacağız.
İlk olarak değinmemiz gereken 32-bit’in 8-bit’den farkı nedir? 8-bit denetleyicide bir defada 8-bitlik veri işlenebilir. Dolayısıyla 32-bitde de verinin tek seferde 32-bitlik kısmı işlenebilir. Akla, “o zaman 32-bitler 8-bitlerden 4 kat daha hızlıdır” gibi bir ifade gelebilir ancak bu kesinlikle yanlıştır. Denetleyici hızı, osilatör frekansına, komut işleme hızına ve bir çok faktore göre değişmektedir. Böyle bir orandan kesin olarak bahsedemeyiz.
32-bit entegrelere başlangıç için tavsiye edebileceğim basit ve ucuz STM32F103C8T6 geliştirme kartıdır.
Aliexpress üzerinden 3-4$ veya Türkiye’den 20-30TL aralığında bir ücrete alınabilir.
Kartın özelliklerinden bahsedecek olursak;
- ARM Cortex M3 32-bit RISC işlemci
- 72Mhz çalışma hızı
- 64K Byte Flash / 20KByte SRAM
- Arayüz Kaynakları: 2x SPI, 3x USART, 2x I2C, 1x CAN, 37x I/O pin(3.3V),
- Analog-digital çevirim: 2x ADC (12-bit / 16-kanal)
- 3 genel timer ve 1 gelişmiş timer
- 1 adet Reset button
- 1 adet PC13 pinine bağlı led
- 1 adet güç gösterge ledi
- 32kHz saat üreteci
- Boot modu için Boot0 ve Boot1 pinleri
- Programlama ve JTAG için SWD pinleri
- USB iletişim ve besleme için Mikro USB konnektör
Kartı programlamak için 2 yol bulunmaktadır.
1- ST-Link ile programlama
2- USB-TTL çevirici ile programlama
ARM işlemcileri programlamak için bir çok alternatif programlama arayüzü bulunmaktadır: KEIL, IAR, mikroC, Coocox. Hepsi C dilini temel almaktadır, teker teker deneyip size uygun olanı kullanabilirsiniz.
programlamayı arduino gibi üzerindeki usbden yapamıyoruz değil mi?ayrıca stlink mi almamız lazım?
F103 için yazılmış usb bootloader bulabilirsen, usb üzerinden program yüklemek mümkün olur.