Çoğu kişisel tercihlere bağlı.
Git'teki bir proje için yaptığım her şeyi takip ediyorum. Özellikle Git, ikili bile olsa, çoğu dosya türünü yeterince verimli bir şekilde işlediğinden. (Yerleşik Altium SVN saçmalıklarının yerine)
Bunu yapmamın temel nedenlerinden biri, müşterilerimin Dropbox'ın yeterince güvenli olduğunu hissetmemeleri ve dünya çapında erişebileceğim bir yedekleme sistemine ihtiyacım olması ve ayrıca yaptığım işlerin çoğunda bazı versiyonlama bağlamına ihtiyacım var. Bu yüzden özel bir Git sunucusu ve şifreli yedekleme sistemi kurdum ve bir tedavi çalışıyor. Panolar, Şemalar, Kod, Dokümantasyon, Raporlar, Manuel Değişiklikler, her şey takip edilir.
Normalde büyük, potansiyel olarak uzun süredir devam eden bir proje ise Donanım için bir Yazılım için ve diğeri Firmware için bir Depo oluşturacağım, ancak küçük hizmet projeleri, örnekler veya küçük deneyler için genellikle hepsini tek bir depoya koydum. kaos büyük olmayacak.
Git'te, ayrı ayrı yönetilen havuzlar olsalar bile, Donanım Yazılımını Donanım projesine veya başka bir yolla entegre etmek için alt havuzları da kullanabilirsiniz.
Daha büyük projeler için, genellikle HW ve SW için sorunları ve çözünürlükleri takip etmek için yaygın olarak hata izleme sistemleri kullanıyorum, Mantis ücretsiz olarak kullanılabilecek hoş bir sistem.
Donanım revizyonları için Gerbers'i üretiyorum, ya da her neyse, bu revizyon için Git Hash ile etiketledim, o zaman bu Gerbers, R01, 02 vb. bunları her zaman yeniden oluşturun, ancak sonuç olarak dosyalar ortaya çıkıyor, bu yüzden Git'in kendisinde sürümlendirilmemelidir, çünkü (tasarım yazılımınız üretim içeriği oluşturma konusunda deterministik olmalı, yoksa ...).
R01'de ilginç bir şey varsa, R02'de (veya başka bir şekilde) gerçekleşmeyen bir şey varsa, endişelenmeyin, kaynak dosyaları karşılaştırabileceğiniz iki Git Hash'iniz var.
Son bir not olarak, bir projenin kavramsal bir örneği, bir "BoardPinout.h" dosyasını da barındıran bir Donanım deposuna sahip olacaktır. Bu dosya, Yazılım havuzuna uzaktan eklenen birkaç arabirim tanım dosyasına sahip olan Firmware deposuna uzaktan sürümlendirilmiş bir dosya olarak eklenir.
Yani, geniş işlevselliği değiştirmeden birkaç sinyali her değiştirdiğimde, HW projesi BoardPinout'u "günceller" ve daha sonra Firmware'de güncellenebilir ve kullanılabilir.