ARDUINO ile Atmel chipler Programlanabilirmi?

Başlatan Epsilon, 14 Ağustos 2022, 21:09:44

Epsilon

Bazı geliştirme boardlarının fiyatlarını araştırdım.İşe yarar geliştirme bordları 3bin lira civarlarında.

Başlıkta'da belirttiğim gibi amacım,"Eğer mümkünse böyle bir ürün varsa" Arduino da yazdığım kodu  Atmelin MCU suna yükleyip çalıştırabilmek.

Çünkü Atmelin fuse ayarları ile uğraşmak istemiyorum.Muhtemelen bu "fuse" sorunlarını çözen bir araç yazılımda şimdiye kadar yazılmıştır.Ama ATMEL hakkında çok bilgi sahibi değilim.

Diğer bir çözüm ise arduino nun mini kartlarına programı attığımda buradaki kodun başkalarının eline kolayca geçmesine engel olan bir yazılım varmıdır?
*Biliyorum Arduiononun mantığı açık yazılım  ama muhtemelen bu konuda yardımcı olan bir program da vardır diye tahmin ediyorum.

Özetle amacım örneğin Arduino Uno ile Atmel chiplerine sorunsuz program atabilmek ve programların kopyalanmaya karşı yeterince korumalı olması.

Yada ATMEL için en uygun programlayıcı(Software) ve yükleyici (hardware) tavsiniz ne olurdu.

mg1980

#1
Denemedim ama Arduino'da yazılan kodu dediğiniz şekilde diğer Atmel MCU'na yüklemek için için zaman zaman aklıma gelen şu idi..
DIP kılıftaki 328 çipi soketinden çıkarıp boş çipi takmak ...daha pratik uygulama da vardır belki..bilen hocalarımız anlatırsa öğrenebiliriz..

Arduino'ya ISP üzerinden bootloader yüklemek için bir usul var, onu yaptım bir kaç kez , ama aynı şekilde kod yüklenir mi bilmiyorum..

ilyas KAYA

Arduino ide ye minicore eklentisi yükleyip usbasp ile atmegalara arduino kodunu yükleyebilirsiniz.

Kod koruma içinde unique id kullanın. Unique id tutmuyorsa kod çalışmasın.

Epsilon

#3
Cevaplar için teşekkürler.
Youtube da Minicore eklentisi ile ilgili birkaç video buldum.Aşağıdaki video en açıklayıcısı gibi.

Bu videonun sonunda Arduino örneklerinden Blink uygulamasını pertinaxdaki atmele yüklüyor.Anladığım kadarıyla arduino da yazılmış bir uygulama sigorta ayarları gibi birşeylerle uğraşmadan kendi uygulamamızda çalışacak Minicore un desteklediği 4-5 MCU da  problemsiz çalışıyor doğrumudur?

@ilyas KAYA  hocam uniquie ID  nosu nun doğru olup olmadığı zaten arduino kodun içinde görülmeyecekmi? Arduino bilen biri zaten doğru ID nin ne olması gerektiğini kolayca görebilir.Eğer kod hexe çevirip atmele atılılıyorsa o zaman sorun yok ama kaynak kod gizli değilken program her türlü ele geçirilir diye düşünüyorum


Aşağıdaki linkte benzer soruya cevaplar var.
AVRDUDE  nin bazı bitleri kilitleme özelliğinden bahsediliyor.
Bu linkte anlatılanlanlardan "kod koruması ile ilgili" denemeler yapan arkadaşlar oldumu acaba?

Linki

ilyas KAYA

Unique id yi bilsin bu biseyi değiştirmez ki. Onu fabrika koyuyor. Sen her enerji açıldığında unique id eşleşmesi yaparsın yazılım çalışmaz. Başka chip e atsa bile id ler tutmadığı için çalışmaz.

Epsilon

Alıntı yapılan: ilyas KAYA - 15 Ağustos 2022, 14:18:50Unique id yi bilsin bu biseyi değiştirmez ki. Onu fabrika koyuyor. Sen her enerji açıldığında unique id eşleşmesi yaparsın yazılım çalışmaz. Başka chip e atsa bile id ler tutmadığı için çalışmaz.
Anladım ama zaten doğru seri numarasında yüklü arduinodaki "programı oku " dediğimde program okunabiliyor ve tüm kod ekranda görünmüyormu ? Biraz kodddan anlayan lazım olan kod kısmını yine alamazmı?

ilyas KAYA

Alıntı yapılan: Epsilon - 15 Ağustos 2022, 14:28:36Anladım ama zaten doğru seri numarasında yüklü arduinodaki "programı oku " dediğimde program okunabiliyor ve tüm kod ekranda görünmüyormu ? Biraz kodddan anlayan lazım olan kod kısmını yine alamazmı?

Kodu alamaz hex dosyasını alır. Hex i aldı başka chip e attı diyelim. Çalışmayacak ki.

Kodları alma diye bir durum yok yani.

Epsilon

@ilyas KAYA
Hocam bu Uniquie ID yi okuma komutu/örneği nasıl ekleniyor ?
Örneğin Blink programına koruma eklemek nasıl olacak

Aduino ürettiği kodlarda hex uzantıda oluyormu?

mehmet

Ardıino ISP ile AVR mculara program atabilir,
ilgili sigortaları değiştirebilirsiniz.
Lock sigortası kod koruma sağlar. MCU "erase"
komutu ile silinene kadar kod okunmaz. Silindiğinde
"lock" sigortası normal hale gelir ve yeniden
yazılabilir.
MS Windows üzeride çalışan bazı programlar
ile tüm sigortalara, flash ve e²proma ulaşmak
mümkün.
Ben konsol üzerinden "avrdude" programını
kullanıyorum. Zaten diğer afilli programlar da
bu programı kullanarak işlem yapıyor.

AVRDude Kullanımı
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ilyas KAYA

#9
Alıntı yapılan: Epsilon - 15 Ağustos 2022, 14:54:29@ilyas KAYA
Hocam bu Uniquie ID yi okuma komutu/örneği nasıl ekleniyor ?
Örneğin Blink programına koruma eklemek nasıl olacak

Aduino ürettiği kodlarda hex uzantıda oluyormu?

Arduino sadece arayüz geri kalan hersey  bir pic yada atmel den farkı yok.
Derleme yapınca. Hex dosyası oluşur onu atmega ya atar.
Arduino diye kodlar ile birlikte atmaz yani  :)

Avrude arduino ide yani arayüz ile birlikte çalışıyor. Ben atmegalari arduino ide ve kütüphaneleri ile visual code studio içinde kullanıyorum. En azından intellisense özelliği var. Arduino idesini ancak bir kaç editleme ihtiyacım olursa kullanıyorum yada bootloader yüklemek için. Arduino idesinden kod yazan var mıdır bilmiyorum ama yapabiliyorsa helal olsun 😆

Biraz googling ile bulursun. Yapacağın herseyin sonuna arduino ekle dünya önüne serilir. Mesela " unique id arduino" 

brandice5

Hex dosyası içinden unique ID yi değiştirmek, hatta komple kaldırmak çok kolay iş. Bu şekilde güçlü bir koruma sağlayamazsınız.
En iyi yöntem çipi programlarken kod korumasını aktif etmek.

ilyas KAYA

Alıntı yapılan: brandice5 - 15 Ağustos 2022, 16:14:52Hex dosyası içinden unique ID yi değiştirmek, hatta komple kaldırmak çok kolay iş. Bu şekilde güçlü bir koruma sağlayamazsınız.
En iyi yöntem çipi programlarken kod korumasını aktif etmek.

Chip in id sini nasıl degistiriyorsun peki ?

Epsilon

@mehmet benim AVR programlayıcıları ile işim olmaz artık.
Eskiden 50 saat uğraşıp doğru dürüst program atamadığım MCU ile niye uğraşayım.

Bir LED i yakıp söndürmeyi ARDUINO ile 10 saniyede yapabildim.Bir sürü kütüphane'de var

@ilyas KAYA teşekkürler cevaplar için ben artık kalanını hallederim inşallah

Bu arada bu amerikalı genç 12 yıl önce bu videoları çekmiş.Güzelde anlatmış
Ama tabi artık güncel videolar seyretmek lazım  :)






brandice5

Alıntı yapılan: ilyas KAYA - 15 Ağustos 2022, 16:17:51Chip in id sini nasıl degistiriyorsun peki ?

Çipteki ID yi değil, hex dosyasının içindeki ID değişecek. Yani sen kodunda "XXXXXXXX" ID li chip ise çalıssın diyorsun, ben onu "YYYYYYY" ID ile çalısın diyorum. Hatta biraz uğraşı ile kodun bu ID kontrol kısmı komple bypass edilip hex dosyasının bütün çipler ile çalışması bile sağlanır. Bunlar çok basit koruma yöntemleri, amatörü eğlendirir.

ilyas KAYA

Alıntı yapılan: brandice5 - 15 Ağustos 2022, 16:28:21Çipteki ID yi değil, hex dosyasının içindeki ID değişecek. Yani sen kodunda "XXXXXXXX" ID li chip ise çalıssın diyorsun, ben onu "YYYYYYY" ID ile çalısın diyorum. Hatta biraz uğraşı ile kodun bu ID kontrol kısmı komple bypass edilip hex dosyasının bütün çipler ile çalışması bile sağlanır. Bunlar çok basit koruma yöntemleri, amatörü eğlendirir.

:) tamam. 😂😂😂