Bu uygulama notunda çalışma zamanı esnasında PIC mikrodenetleyicilerin program hafızasına nasıl veri yazıp kullanabileceğinizi göstereceğim. Bazı kişilerin kullandığı mikrodenetleyicinin RAM hafızasının yetersiz gelmesi sonucu sistemi dağıtarak farklı mikrodenetleyicilere geçtiğini gördüm. Bu kadar zahmete girmek yerine RAM hafızada sakladığınız değişmeyen veya nadir olarak kullanılan static verileri flash hafızaya atarak flash’a göre çok daha düşük olan RAM den kazanç sağlayabilirsiniz. Bu uygulama notu ile sistem değiştirmek yerine küçük bir yazılım takviyesi ile ağır bir yükten kurtulabilirsiniz. Fakat bahsettiğim gibi verilerin çalışma esnasında oluştuktan sonra kullanım sıklığının düşük olması yada verilerin değişmeden kalması gerekmektedir. Çok fazla dinamik değişken ile anlık olarak çok yüksek miktarlarda işlem yapıyorsanız bu uygulama notundaki teknikler verimsiz kalacaktır.
Bu uygulama notunda elimde bulunan PIC18F97J60 mikrodenetleyicisi ile anlatım yapacağım. Kullandığınız mikrodenetleyicinin datasheet lerinde flash hafızaya yazım yapıp yapamadığını, blok uzunlukları gibi bilgileri öğrenebilirsiniz. Bu gibi bilgiler çipten çipe değişmektedir.Bu uygulama notunda anlattıklarım ile birden fazla amaç gerçekleştirilebilir. Bunlar aşağıda listelenmiştir.
- Çalışma esnasında Flash hafızayı RAM gibi kullanabilirsiniz.
- Çipi resetlediğinizde yada kapatıp açtığınızda verileriniz silinmediği için tekrar okunabilir olur.
- Çip programlandıktan sonra çalışma esnasında program hafızaya program ekleyip işlemcinin akışını programı yüklediğiniz adrese verirseniz dinamik olarak yüklemiş olduğunuz program çalışır. (Bootloader tarzı uygulamalarınız için)
Uygulama notunu pdf olarak aşağıdaki linkten indirebilirsiniz. Aşağıda dökümanın özetini bulacaksınız.