Rakkoc.Com Recep Akkoç / Rakkocun Yazıtları

7Nis/120

CSCalc Nedir Ne is yapar.

Merhaba sevgili okurlarım; Size daha onceden Keil hakkinda bir yazi hazirlamistim. orada gecen CSCalc uygulamasinin ne ise yaradigini merak edip biraz arastirmak istedim ve karsima Serdar Akkan arkadasimizin bir yazisi gerekli aciklamayi yapmis bulunmakta.

LPC1343′ün en önemli özelliklerinden biri chip üzerine gömülmüş USB driverları ve USB Bootloader. Güç verdiğinizde işlemci önce PIO0_1′e bakıyor. Eğer low durumdaysa Bootloader moda giriyor. PIO0_3 durumuna göre USB yada UART üzerinden bootloader işlemlerine başlıyor. PIO0_3 high ise bilgisayar işlemciyi 32K hafızaya sahip flash disk olarak tanıyor ve baktığınızda yüklü olan programı firmware.bin dosyası içinde görebiliyorsunuz. Sürükle bırak ile de yeni programınızı yükleyebiliyorsunuz. İşlem çok kolay gibi gözükse de bazı problemler yaşanabiliniyor. KEIL maalesef direk .bin dosyası üretmiyor. Siz hex2bin kullanarak hex dosyasından ya da fromelf aracını kullanarak axf dosyasından üretmeniz gerekiyor. hex2bin aracı Windows 7 x64 üzerinde çalışmadı. fromelf çalışıyor. Binary dosyaya çevirdiğimiz programımızı yüklediğimizde işlemci bu programı “valid user code” olarak görmüyor. İş de burda başlıyor. “valid user code” şartı 0. adresten başlayan vektör tablosunun 32 bitlik ilk 7 değerin 2′s complement checksum değeri 8. 32 bitlik veri de olması gerek. Yani ilk 8 32 bitlik değeri topladığınızda sıfır olması gerekir. Bunun için de NXP’nin sağladığı bir araç kullanılabilir. Padto aracı .bin dosyanızı program kodlarından sonra 0xFF değeriyle 32K’lık olacak şekilde dolduruyor. Bu aracın kaynak kodlarını kullanarak yazdığım program checksum değerini hesaplayıp yazıyor. Böylelikle artık programımızı USB üzerinden yükleyebiliyoruz. İşleri kolaylaştırmak için KEIL’da proje özelliklerini açıyoruz. User tabını açıyoruz ve Run User Program After Build / Rebuild kısmındaki iki satırın checkboxlarını işaretleyip aşağıdaki satırları giriyoruz.

fromelf –bin –output=.\Obj\firmware.bin .\Obj\gpiotest.axf
CSCalc .\Obj\firmware.bin 32

Keil
Keil

Tabi bunun için CSCalc programı fromelf programının yanında(C:\Keil\ARM\BIN40\) olmalı. CSCalc programının kodlarını ve exe dosyasını da aşağıda bulabilirsiniz.

Kaynak Kodlar
CSCalc.exe

http://www.serdarakkan.com/2011/04/02/lpc-1343-usb-bootloader/

 

Bu yazıyı beğendiniz mi?

RSS Kaynağımıza abone olun!