Programi cipin belirlenen bolgesine yazma diger alanlara dokunmamak

Başlatan z, 26 Nisan 2014, 22:19:07

z

Sorunu su sekilde ozetleyeyim.

CM3 islemci icin iki ayri program yazacagim. Bu programlarin her biri ayri keil projeleri.

Birinci programi cipe yukleyecegim. Artik bu programla bir daha isim olmayacak.

Keilde 2'ci programi derleyip Jlink yada STlink ile ayni cipe fakat farkli bir bolgeye yukletecegim . Programi degistirip degistirip derleyip ardindan hep ilgili bolumune yazdiracagim.

Fakat birinci program hep yerinde duracak. Bir daha 1'ci programi yuklemek istemiyorum.

Bu islemi Keil ortaminda Jlink yada STlink ile yapabilirmiyim?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mistek

Hocam benzer işlemi flashı eeprom olarak kullanırken de yapıyoruz öyle bişey istiyorsunuz değil mi?

Keil'de download yaparken "Full chip erase" işaretlemedikten sonra işi olmayan sektör silinmiyor.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Mucit23

Hocam önceki çalıştığım iş yerinde kullanılan kartlarda bu işlemi yapıyorlardı. STM32F103 içerisine üç ayrı keil projesi yükllüyorduk. Her birinde program hafızada belirli alanlara yazılıyordu. Bu alan belirleme işlemini keil üzerinden yapıyorsunuz.

Start  Yazan yere başlangıç adresini veriyorsunuz. Size bölümüne ise ayırdığınız alanın boyutunu veriyorsunuz.



z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Keil deneme surumunde 32K sinir vardi. Bu yontemle bu siniri asmis olmuyormuyuz?

64K programi iki projeye bolup ilk bolumunu bir bolgeye yazariz. Ikinci projede de ikinci bolgeyi flashin diger bolumune yazariz.

Bir terslik var sanki.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

X-Fi

Hocam keilde 32K olan sınır flash adresi değil de kod derleme sınırıdır. Söylediğiniz mantıklı ama biraz uğraştırır.

Fonksiyon pointerlar ile const adresleriden bir projedeki fonksiyon diğer projeden kullanılabilir ancak iki projede de main dosyası bulunması ve startup üzerinden buraya dallanmasını önleyicek şekilde düzenlemeniz lazım veya startup içerisinde main adreslerini aynı gösterirseniz bu sorun ortadan kalkabilir. O zaman 32K nin katları halinde aynı projeden partlar oluşturulabilir.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

z

Alıntı yapılan: mistek - 26 Nisan 2014, 22:25:48
Hocam benzer işlemi flashı eeprom olarak kullanırken de yapıyoruz öyle bişey istiyorsunuz değil mi?

Keil'de download yaparken "Full chip erase" işaretlemedikten sonra işi olmayan sektör silinmiyor.

Bu centik atilacak yer nerde bulamadim?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatih6761

Hocam Keil ekranında Project -> Options'a tıklayın.
Açılan pencerede Debug Sekmesine geçin. Sağ üstte, seçili debugger için Settings'e basın.

Açılan pencerede Download Function altında istediğiniz ayarı yapabilirsiniz. Tamam -> Tamam diyerek çıkın.


frederic

Bu özellik microchip derleyecilerinde de mevcutmudur acaba, örneğin csc c?

z

Aksilige bakin. Bizim STM32F4 discovery kitindeki  Dusuk ozellikli ST-Linkde settingsde sadece JTAG yada SWD secenegi cikiyor.

Ne yapacagim simdi?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

JLink'den vazgecmemim sebebi STLink Utility programini kullanamamdi.

STLink utilty de koruma seviyelerini vs elle ayarliyabiliyordum. Keil'de de bunlari ayarliyamiyorum.

ST-Link cihazi almadan bu isi cozemezmiyim?

http://ie.farnell.com/stmicroelectronics/st-link-v2/icd-programmer-for-stm8-stm32/dp/1892523

Bu cihazla sorunum bitecek galiba. Orjinal oldugu icin de updatelerde falan sorunum cikmayacak.



Kullanan varmi bunu?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Hocam kurguladigim yapi uzerine gidecegim.

Reset vectorunde minik bir programcik var.

Bu programcik hic bir sekilde kendi kendini silmiyor. SD karttan uygulama programini okuyor ve cipin belli bir adresine yaziyor. Programi begenmedin bir baska programi okuyor gene ayni bolgeye yaziyor.

Tek uygulama programinin yuklenmesi yeterli benim icin.

Kurgumda bir sorun yok. Programi ben yuklemeyecegim de cip kendisi yukleyecek. (Daha dogrusu kullanici yukleyecek)

Zaten bu scopun yapisindan pek farkini goremedim. Bende sadece FPGA yok bir de birden fazla uygulama yok.

Bahsettigin API yapisinin benzeri bende de var. Bazi temel SD, LCD, USB, tus takimi fonksiyonlari hatta LCD den verilecek mesajlar icin hazir mesaj havuzu dahi var.

DOS zamanindaki BIOS ve INT21 lerin acemice halini olusturdum. Fonksiyon cagirma islemini soft int tipine cevirsemmi cevirmesemmi diye de dusunuyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com