Arduino'ya farklı bir ürün yazılımı yükleme


12

Arduino üzerindeki bellenimi daha fazla işlem gücü sağlamak için düşük gerilim / aşırı gerilim gibi daha fazla şey yapabilmesi için yükseltmek mümkün mü? Bunu yapmak için büyük olasılıkla çipin kendisini yeniden flaş etmeniz gerekir, bu nasıl başarılır?


2
Çoğu yeni işlevsellik kütüphaneler ve programlama tarafından sağlanır. Ne tür bir "daha fazla şeyden" bahsediyorsun?
TheDoctor

TheDoctor ne dedi, daha fazla şeyle ne demek istiyorsun? Ayrıca, "donanım yazılımı" ndan bahsediyorsunuz? Yerleşik yazılım / işletim sistemi?
hichris123

Sadece soruyu
silmeli miyim

@JVarhol Eğer daha net yapabilirsen, hayır, sakla. Sadece bize tam olarak ne düşündüğünü
açıkla

Klavyeyi taklit edebilmek için USB seri yongasına yeni bir ürün yazılımı yükleyebileceğinizi biliyorum
TheDoctor

Yanıtlar:


7

Arduino kartlarının çoğunda kullanılan ATmega328p MCU'daki "ürün yazılımı" ile ilgili sorunuzun yönünü cevaplamak için:

Önyükleyicinin yanı sıra ATmega'da hiçbir bellenim yoktur. Yazdığınız programlar doğrudan donanımda çalışıyor.

Bir ISS programcısıyla ayarlanan bazı "sigorta" ayarları vardır . Ancak, bunlardan sadece 24 tanesi (üç bayt) vardır ve bunlar büyük ölçüde düşük seviyeli yapılandırmayla ilgilidir ve sorduğunuzu düşündüğüm şey değildir:
resim açıklamasını buraya girin

Orada da Bootloader (bütün arduinos programlanmış nasıl olan) MCU program hafızasının ayrı segmentte oturur ve başlangıçta kendisini güncellemesini sağlayan küçük bir programdır. Ancak, başlangıçta yalnızca kısa bir süre çalışır ve MCU ana programa atladıktan sonra bellekten tamamen kaldırılır.

Son olarak, USB-seri arayüzler olarak kullanılan çoğu arduino kurullarında MCU'lar (ATmega16U2 / 8U2), yardımcı vardır edebilir farklı davranır güncellenebilir (örneğin taklit bir klavye / fare), ancak yine bu aslında bir değişiklik olmadığı böylece "farklı bir ürün yazılımı kurmak" olarak sayılıp kullanılmayacağı arduino'yu nasıl tanımladığınıza bağlıdır.

Gerçekten, ATmega328P veri sayfasını okumanızı şiddetle tavsiye ederim . Temelde "Arduino" yu oluşturan MCU'nun belgeleri budur. Kavram yanılgıları gibi görünen şeyleri ele almalıdır.


5

Aşağıdaki grafiğe dikkat edin, farklı F_CPU için cihazı düşük / aşırı voltlamanıza göre, ilişkiyi gösterir. Sonuç olarak Arduino'nun çoğunun 5V'de ve 16MHz'lik bir saat hızında çalıştığını görüyorsunuz. 8MHz'de çalışan bazı 3.3V varyantları olsa da.

Frek - Vcc

Bununla birlikte, IDE ile sağlanan çekirdek kütüphanede, çoğu yerde formül kullanmadan, hem 8 hem de 16 MHz F_CPU hızları için tipik olarak # varsa, vardır.

Bu nedenle ne istersen yapmak mümkündür. Ancak, temel kütüphane sınırlamalarını etkiler. Maliyet / fayda oranının, niyetin oranına devredilmesi. Ve sonra muhtemelen Stock IDE ve çekirdek kütüphaneleri daha makefile yöntemine bırakacaktı.


Görünüşe göre overclock yapılabilir 20 mHz
TheDoctor

@TheDoctor - bu hızaşırtma değil. ATmega328p, 20 Mhz olarak derecelendirilmiştir. Arduinos aslında 16 Mhz'e kadar hızaşırttı .
Connor Wolf

Evet @FakeName, sana 20 mHz'de tun nessecary rezonatör olması Arduino kurulu değiştirebilir anlamına geliyordu
TheDoctor

Oh, başka bir not. Güvenli çalışma alanını genellikle büyük sorunlar olmadan aşabilirsiniz . 16 Mhz ile 3.3V raylarla sorunsuz çalışan bir dizi panom var. Aşırı sıcaklıklarda stabilite sorunları olabilir, ancak oda sıcaklığında çoğunlukla iyi çalışıyor gibi görünüyor.
Connor Wolf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.