Msp430 kadarıyla, iyi bir mimari, orada mspgcc ve mspgcc4 ve llvm bu konuda oldukça iyi araçlar. yama olmadan binutils. Bu fiyattan 5 doların altında bir fırlatma rampası alabilirsiniz (sonunda bir şey tuğla tutacak veya kısaltacak ve eritecek, bu fiyata yedek, esp alacaksınız) ...
Araçları indirin, hepsi ücretsiz, birkaç satır kod yazın, nasıl bağlanacağınızı öğrenin, ikili dosyanın ne kadar büyük olduğunu görün, gömülü bir his alın, kod satırlarını rom boyutuna vb.
Profesyoneller bunu nasıl yapıyor? Neredeyse hayal edebileceğiniz her yol:
Bazı şirketler yetki yüksek gelir ve bu konuda bırakmak dışında yapabileceğiniz hiçbir şey yoktur. Ve bu platformun neden seçildiğini asla bilemeyebilirsiniz.
Bazen yüklenici / favori müşteri platformu dikte eder, bazen eğitemez / müzakere edebilirsiniz, bazen değil.
Bazı insanlar sadece bir favori, bilinmeyen korkusu, ne olursa olsun. Bazı kişilerin sadece bir marka araba satın almasının, babamın ve babasının bundan önce yapmasına neden olmasının nedeni de budur ve bu tüm sebep olabilir.
Bazı insanlar araçlara odaklanır. Burada yine marka sadık insanlar var, kendilerini en sevdikleri derleyici şirket ve destekledikleri hedefler veya en sevdikleri açık kaynak aracı ve neleri destekledikleri ile sınırlandırıyorsunuz. Favori gömülü işletim sistemi ve destekleyen hedeflerle sınırlandırın.
Bazı durumlarda bu araçlarla ilgilidir, ancak farklı bir şekilde, zaman içinde bir satıcıyla yıllık destek sözleşmelerine (örneğin kol veya xilinx veya motorola diyelim) çok para yatırmış olabilirsiniz ve desteklerini beğenmiş olabilirsiniz ve değiştirmek istemiyorsun ya da bildiğin şeytan, yapmadığın şeytandan daha iyi. Veya şirketteki diğer 5 aktif proje bu şeyi kullandığından ve zaten bir destek sözleşmemiz olduğundan ve o yıl için ödeme yapmaya devam edeceğinden, bu satıcı çözümlerinden birini seçmelisiniz.
Bazen bu kırkayakları kurtarmakla ilgilidir. Bu bölüm, bu bölümden% 1.5 daha ucuz, bu bölümle çalışmasını sağlayın, NRE'yi umursamayın, hacimdeki üretim tasarruflarını düşünün.
Bazen olumsuzluklarla ilgilidir. Bir satıcı şirketinizi şu ya da bu şekilde vidalamış olabilir. Ürünlerin gecikmesine veya iptal edilmesine neden olan reklamı yapılan parça tedarikini karşılayamama. Yem ve anahtar dolandırıcılığı (yazılım için 50.000 dolarlık ücret, lisansın kilidini açmak için gereken dongle için 1200 dolarlık ücreti içermiyordu, bu ekstra bir maliyet öğesi. Oh ve bu, yüzen lisans için kullanıcı başına idi). Programcıların referans kılavuzunu veya referans tasarım kılavuzunu görmek için NDA'yı imzaladıktan sonra, mühendislerinin ne kadar korkunç olduğunu öğrenirsiniz ve tüm ürünlerini ömür boyu kara listeye almayı seçebilirsiniz. Korkunç teknik destekle geçmiş. Herhangi bir sayıda neden, satış yapanların ön kapıdan asla izin vermemesine veya web sitelerine tekrar bakmanıza engel olmanıza neden olabilir.
Bazen performans, arayüzler, vb. başka bir harici donanıma ihtiyaç duyulmadan, ABC markasının minimum çalışması için harici bir transistör ve direnç gerektirecek 3 $ 'lık bir parçası vardır. Msp430 örneğiniz, bunun güç tüketimi ile ilgili olduğunu, A bölümünün yalnızca bir AAA pil kullanmasını ve aylarca çalışmasını gerektirebilir, B bölümünün iki adet AAA pil gerektirmesi ve haftalarca çalışması gerekebilir.
En nadir durum aslında mühendisliği yapmak, tüm satıcıları incelemek, güç tüketimi matematiğini, ürün matematiğinizin birim fiyatı, ne kadar bir rom'a ihtiyacımız olduğunu ve çipin hangi frekansta çalıştırılacağını, tutkal mantığı, açık ve kapalı. Genellikle birisi (patron / müşteri / kıdemli mühendis) yılların deneyimini alır ve yolu seçmek için kalçadan (genellikle yukarıdakilerden birini veya daha fazlasını kullanarak) ateş eder (genellikle programda ve dolarda tonlarca zaman tasarrufu sağlayan iyi bir yol) ve Mühendislik, seçilen platforma ince ayar yapmak için bir kez yapılır.
Benim kişisel tavsiyem esnek olmak. Çoğu mikrodenetleyici markasının / ailesinin herhangi bir şekilde veya şekilde 50 $ 'ın altında bir değerlendirme kurulunda bulunabilir. Sparkfun, olimex veya doğrudan satıcıdan (msp430 veya stellaris için ti). Her birini bir ya da daha fazlasını deneyin, ortak olan ve farklı olan şeyleri, araçları, yükleyicileri, ne kadar zor çözüleceğini vb. Hissedin. En azından bundan iki şey alırsınız, bir tanesi bir yolda zorlandığınızda yüksek ya da müşteri yerden koşmak vurabilir, ikincisi, platform seçme sırası geldiğinde orada ne olduğunu ve orada değil daha iyi eğitimli ve probleme dayalı doğru (yüklü kelime) platform seçebilirsiniz çözüldü.
Dışarı çıkıp donanımda bu tür para harcamasanız bile, çoğunun indirebileceğiniz (ücretsiz) araçlara sahip olsanız bile, mikroçip gibi durumlarda artık C derleyicisini (yüksek teknoloji olarak kullanılır) alabilirsiniz, ancak abone olmanız gerekir (e-posta adresinizi bırakın). Gcc gibi veya gelecekte, masaüstü veya gömülü olacak nefret, ellerini kirletmek ve çapraz derleyici olarak kullanmayı öğrenin. Llvm de deneyin, bir süre etrafında olacak ve gcc bazı ciddi rekabet verecektir. Neyse, bazı emülatörleri yazın veya bulun, mame çok var, gdb bazı var, vb. Başparmak2'yi desteklemiyorum (yine de biraz öğrenebilirim) hariç, sadece github, ARM başparmak modu, sadece bir başparmak-moduna benzeyen bir simülatör yazdım. ve yalnızca donanıma geçmeden önce programların her ikisinde de çalışmasını sağlayın). Bir msp430 emülatörü çırptım ama biraz durdum. Talimat seti o kadar küçük ki işin büyük kısmı bir akşam ya da belki bir cumartesi projesi. Aynı şey uzun bir öğleden sonra PIC için de geçerli ve gömülü pratik yapmak için bir talimat seti simülatörünüz var. Başka bir şey yoksa, programları nasıl derleyeceğinizi ve programların ne kadar büyük olduğunu, programları daha sıkı kod üretmek için nasıl ayarlayacağınızı öğrenmek için derleme ve bağlantı yazabilirsiniz.
C'ye karşı montajcıya göre, bazı talimat setleri C dostudur ve bazıları değildir. Bazı derleyiciler orta ve bazıları gerçekten kötü ve sadece birkaçı gerçekten iyi (ve genellikle yılda bir kez veya yılda birkaç bin dolara mal oluyor). Gerçekten itmek istediğiniz her yerde performansta olduğu gibi, yüksek seviyeli bir dil (sadece C diyelim) ve birleştirici karışımı gerekebilir. Beceri, tüm uygulamayı derleyicide yazmıyor, beceri hangi kodun zamanlama / performansla karşılaşmamanıza neden olduğunu belirliyor ve sonra C, derleyici seçenekleri, doğru derleyici seçimi veya derleyici yazma yoluyla bunu nasıl çözeceğini bilmektir.
Kullanmayı seçtiğiniz tüm platformlar için montajcıyı bilmenizi öneririm, gömülü olduğu gibi okunabilir başka bir bilgi yoksa, sık sık sökmenizi öneririm (performans sorunlarınızın nerede olduğunu anlarken). Birçok platform, önyükleme kodu için yine de bazı birleştirici gereklidir veya istenir.
Birim başına fiyattan% 10-20 tasarruf etmek istiyorsanız ve daha ucuz / daha yavaş mikrodenetleyici veya osilatör veya 64KB flaş kısmı yerine 32Kb flaş kısmını satın almak istiyorsanız ve satış maliyetiyle geliştirme maliyetini karşılayabilir ve belki de her şeyi montajcı, hızlı, düşük güç, düşük maliyetli, mutlu müşterilere yazmayı seçebileceğiniz diğer şeylerin uzun bir listesi.
Şimdiye kadar arka planınıza bağlı olarak, belki de tüm montajcıda yazma konusunda endişelenmemelisiniz ve belki de mikrodenetleyicilere gömülü elektrik mühendisliği yönleri, okuma şemaları, açık toplayıcı, üç durum, itme çekme, pwm, adc, dac ve bir diğer terimlerin uzun listesi ve nasıl kullanılacağı. bit beceriyor i2c, spi, mdio, dallas bir tel, vb Bir yazılım hata ayıklayıcı olarak bir kapsam kullanma. Kapsamlar bugün sizin için bir şeyler vurgulayabilse de (ekstra bir maliyet öğesi), vurgu yapmadan i2c ve spi ve diğer bazı protokolleri görebilmeniz gerekir.
Ayrıca, oynadığınız platformların her biri için başkalarının sanal alanından (örneğin Arduino ide / programlama ortamı) çıkmasını öneriyorum. İşlemciyi sıfırlamadan ana () programınıza alan önyükleme kodunu yazın, rafın rafları olsa bile flaşı kendi yükleyicinizi yazmayı içerebilecek bir noktaya nasıl yükleyeceğinizi / programlayacağınızı anlamak için mümkün olduğunca çok şey yapın. Orada. Her şey kişisel eğitim ile ilgilidir, ne kadar çok bilir ve arka cebinizden çekebilir ve kariyeriniz üzerinde ne kadar fazla kontrole sahip olursunuz ve maaş çekinizdeki numaranın sonunda o kadar fazla sıfır olur.
Ne yaparsanız yapın, YAPMAYIN, masaüstünde ilk montajcı olarak x86 öğrenmeye çalışın, hemen hemen başka bir şey seçin ve çapraz derleyin ve simüle edin, ARM, THUMB, MSP430, PIC, AVR, hatta 6502, 8051. X86 korkunç bir talimattır ve sonuç olarak birçok şekilde şekil değiştirilmiş ve şekillendirilmiştir, mikro kodlanmış, mikro kodlanmamış, çok çekirdekli, açık ve açık. X86'yı üst düzey dillere ve hantal işletim sistemlerinde tutun. Metin düzenleyiciniz ve derleyicileriniz için kullanın ve başka bir şey hedefleyin.
Uzun cevap için özür dilerim ... umarım yardımcı oldu.