STM8S başlangıç

Başlatan catalyst, 03 Mart 2018, 23:52:05

catalyst

Merhabalar. Elimde STM8S eval board bulunmakta. Hangi derleyiciyi kullanarak başlamam daha kolay olur ve hangisi daha kullanışlıdır. Çok yeniyim. Yardımcı olabilir misiniz?

a.zorba

iar ile standart kütüphanesi ile başlaman en kolay olur.
standart kütüphanes : http://www.st.com/en/embedded-software/stsw-stm8069.html
iar :   https://www.iar.com/iar-embedded-workbench/partners/stmicroelectronics/
sana kalan stm kütüphanesini iar a import edmen . Konusu forum da vardı .
Bilenler bilir . Biz maraşlilar için şehir olarak şubat ay' i bayram ,kurtuluş ,yaz in gelmesiydi. Şimdi karalar in yas in ayı oldu.

catalyst

Hocam peki IAR yerine Cosmic C kullansak daha mı zor olur? Bazı yerlerde kodlar GPIO_... şeklinde devam etmekte bazılarında PA_ODR ... şeklinde gidiyor. Ben GPIO kütüphanesini kullanarak programlamak istiyorum çünkü daha basit anlıyorum kodları inceleyerek. Yardımcı olabilir misiniz ?

Okan AKÇA

forumda stm8 yazı dizisi mevcut

devrecii

Arkadaşlar öğrenecekseniz assembly öğrenin C da yazarsanız bu muazzam çiplere haksızlık etmiş olursunuz.

stm8 in şahane  asm opcodeleri vardır.  Zaten kendi derleyicisi de var.

Ben stm8 öğrendim öğreneli stm32 leri mecbur olmadıkça kullanmıyorum.

Ayrıca stm8 16bit registerleri vardır 8bit işlemci değildir.

apsis

Alıntı YapAyrıca stm8 16bit registerleri vardır 8bit işlemci değildir.
http://www.st.com/en/microcontrollers/stm8s103f3.html
Adamlar 8 bit yazmış ama :)
"Makineye Beyin" MEKATRONİK

quarko

STM8 8bit bir mikrodenetleyicidir. Bir mikrodenetleyicinin kaç bit olduğu DATA BUS hattının kaç bit olduğu ile ilgilidir.
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

catalyst


Hangi derleyiciyi, nasıl kullanabilirim bana yardımcı olabilir misiniz? Veya konu linki varsa onu buraya koyabilir misiniz konu linki de bulamadım.

devrecii

Hayır arkadaşlar arada derede kalmış bir mcu.

And, or, xor haricinde bütün opcodeler 16 bit yapılabiliyor, 2 tane 16 bit registeri mevcut  compare, toplama çıkarma adresleme bu registerlerle yapılabiliyor, hafıza adreslemesi  zaten 16bit.




Okan AKÇA

Yukarıdaki mesajda yazdik ama yinede birdaha paylaşalım linki

https://www.picproje.org/index.php?topic=43359.0


MC_Skywalker

Arada kalmış bir MCU değildir. 8 bir bir MCU dur.

PIC MCu larda 12bit 14bit op kode olması onun 8bit MCU olduğu gerçeğini değiştirmez hatta cpu örneği verecek olursak Z80 CPU da da 16bir registerler var ve 16bit işlem yapılmasına hatta adres veriyolu 16bit olması onun 16bit yada orada olduğunu göstermez kelime yanı DATA bus genişliği kaç bit olduğunu gösteri.

Ayrıca STM8 serisi ARM çekirdeği deği STM in kendi çekirdeğidir. ARM hiçbir zaman 8bit çekirdek tasarlamamıştır.

MrDarK

#11
Elektronikte herşey NET'dir arkadaşlar. Arada derede kalan birşey olmaz. Bunu hepimiz biliyoruz. O yüzden bu tarz teknik olmayan yorumlara sadece saygı duyalım :) Kişinin kendi görüşüdür. Dünyanın düz olduğunu düşünen insanlarda hala var biliyoruz.

8Bitlik bu MCU için Cosmic ve ST Devoloper'da tercih edilebilir. Cosmic son hamlesinde derleyiciyi komple free hale getirdi. IAR tavsiyem olur ama cosmic de free olması açısından tercih edilebilir. 10 cent'lere STM8S003 ürünleri olduğunu biliyoruz. STM8 serilerinin programlaması, kütüphaneleri ve içerdiği donanımların fazlalığı uygulama yazmayı kolaylaştırıyor. ARM'den önceki geçiş açısından epey faydalı olmuştu bana.
Picproje Eğitim Gönüllüleri ~ MrDarK

devrecii

Tamam 8 bit olsun ,peki 16bit komutları, registerleri, yok mu sayacağız.

Tutulmayan St7 lerden farkı 16bit komut seti eklenmesidir bu nedenle stm8 ler
tuttu, Pic de de yok 16bit işlem hakkı, şimdi bunlar eşittir diyebilirmiyiz?

Sanki data bus adsress bus dışarıda. Adam bütün komutları 16bit yapsa clocku
artırıp 16bit diye satsa, anlayacaksınız sanki 8 bit olduğunu.

16bit komutlar çok değerlidir. C veya yüksek seviye dillerde program yazarken
farketmemiş olabilirsiniz (tabi kodunuz yavaş çalışınca anlarsınız)
ama asm de bu çok değerli bi özelliktir.

Stm32 lerde asm ile kod yazmanın hiçbir anlamı yoktur, ama st8 lerde düşük
hız ve düşük hafıza nedeni ile asm de kod yazmak iyi şecenek olacaktır.Neyse ne yapıyorsanı yapın.


Zoroaster

TI'in 16 bitlik DSC cipleri 16x16 carpma islemi sonucunda 32 bit deger uretir ve bunu 32 bitlik ozel bir registerde tutar.
DSC 16 bit olmasina ragmen ACC 32 bittir. Toplama, cikarma ve carpma islemlerinde avantaj saglar. Ayni cip lojik islemlerde 16 bit ile sinirli oldugundan cipimize 32 bit diyemeyiz.

Gene TI'in bazi 16 bit DSP ciplerinde cip 16 bit olmasina ragmen akumulatorun  gardiyan gorevi yapan 2 biti daha vardir. Yani ACC register 16 degil 18 bittir.

ASM ASM dir ve her islemcide en hizli kosacak kod parcaciklarinin yaziminin tek ama tek secenegidir. 32 bit STM32 islemcide de oyledir  8 bit islemcilerde de oyledir.
Seytan deliginden kacti.

Zoroaster

#14
Bir cipin saf kan 16 bit olabilmesi icin tek bir komutla 16 bit veriyi ACC icine cekebilmesi lazim.
Eger 16 bit veriyi 2 adet H ve L seklinde 8 bit olarak ACC icine cekerseniz bu cipe saf kan 16 bit diyemeyiz.
Evet 16 bittir ama saf kan 16 bit degildir. Bu haliyle bile 16 bit aritmetik lojik islem yapabilir ama saf kan 16 bit degildir.

32 Bit islemci arayisimda TMS320F28x serisinden begenip kitini de aldigim DSC,  32 bit verileri Accumulatore 16, 16 olmak uzere iki hamlede yukluyordu. Sirf bu yuzden yonumu STM32'ye cevirdim. (Bana gore STM32 de safkan 32 degil)
Seytan deliginden kacti.