HEW derleyici 64K problemi

Başlatan Klein, 27 Mart 2006, 18:36:44

Ralgac

High-performance Embedded WS
derleyicide mod yada hex dosyasını nasıl oluşturuyoruz acaba iar daki gibi ayarları varmı birde entegre tanım dosyaları sfrxx.h gibi tanım dosyaları yok galiba yada ben göremedim  sanırım bir sample derlemeye çalıştım bu include dosyası yok hatası verdi. kullanınımını kısaca anlatılabilirmi acaba birde iar dan daha karışık gibi geldi bana basit bir led buton veya lcd örnegi verebilene ayrıca teşekkür ederim

iyi çalışmalar

ugurtarlaci

Merhaba Ralgac;

Ben de bir HEW kullanıcısıyım. Daha önce IAR kullandım ancak HEW biraz daha kullanışlı geldi bana . Tercih sebeplerim ; HEW in daha kullanışlı olması,  düzenli update olması ve memory düzenlemesinin kullanışlılığıdır. Ayrıca HEW IAR a göre ANCII C ye daha yakındır. O nedenle yazılımların mobilitesi daha yüksektir. Tavsiye ederim.

Sorununu gelince ;
Dediğim gibi HEW biraz daha ANCII C ye yakın olduğundan birçok şeyi senden istiyor ancak bu seni korkutmasın. SFR Register tanımlama dosyaları IAR da olduğu gibi hazır gelmez. Bunu sen yazacaksın....... :)     Şaka tabi.

www.renesas.com dan

SFR for M16C gibi bir arama yap. istediğin dosyaları bulacaksın. Bu dosyaları kullanabilmek için , dosyayı çalışma dizinine kopyala ve
#include "sfr62p.h" şeklinde tanımla. sorunun çözülecek. IAR a yabancı olmadığını düşünerek CPU İnitial olayını bildiğini varsayıyorum.

umarım yardımcı olabilmişimdir.
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

nonstradam

CPU initial ne demek hocam

ugurtarlaci

selam nostradam,

CPU initial
aslında benim kullandığım bir tabir ancak genelde bu şekilde kullanıldığınıda düşünüyorum.  MPU codu işletmeye başlamadan önce doğru biçimde ayarlanmalıdır. örn, protect li registerlerin açılması , PLL ayrları , pin  sayısının tanımı , proccesor mode tanımı  gibi ayarlar. Bu ayarların toplu bir şekilde yapıldığı bir alt rutin yazıp bu rutini mobil olarak tüm kodlarınıza yerleştirebilirsiniz.

Kolay gelsin
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

nonstradam

tamam hocam anladım aşağıdaki rutine benzer rutinler yani.

void mcu_init(void)
{
  	/* enable access to processor mode registers */
    prc1 = 1;

	/* 2 wait states for sfr access...this is the reset value necessary
	for >16Mhz operation, can be set to 1 wait for <=16Mhz */
    pm20 = 0;

	/* disable access to processor mode registers */
    prc1 = 0;

    /* configure and switch main clock to 20MHz */

	/* enable access to clock registers */
    prc0 = 1;

	/* set to hi-drive Xin, divide by 1 */
    cm1 = 0x20;

	/* set to main clock using divide by 1 */
    cm0 = 0x08;

	/* disable access to clock registers */
    prc0 = 0;

}
/**********************************************************************************
End of function mcu_init
***********************************************************************************

Ralgac

Alıntı yapılan: "ugurtarlaci"Merhaba Ralgac;

Ben de bir HEW kullanıcısıyım. Daha önce IAR kullandım ancak HEW biraz daha kullanışlı geldi bana . Tercih sebeplerim ; HEW in daha kullanışlı olması,  düzenli update olması ve memory düzenlemesinin kullanışlılığıdır. Ayrıca HEW IAR a göre ANCII C ye daha yakındır. O nedenle yazılımların mobilitesi daha yüksektir. Tavsiye ederim.

Sorununu gelince ;
Dediğim gibi HEW biraz daha ANCII C ye yakın olduğundan birçok şeyi senden istiyor ancak bu seni korkutmasın. SFR Register tanımlama dosyaları IAR da olduğu gibi hazır gelmez. Bunu sen yazacaksın....... :)     Şaka tabi.

www.renesas.com dan

SFR for M16C gibi bir arama yap. istediğin dosyaları bulacaksın. Bu dosyaları kullanabilmek için , dosyayı çalışma dizinine kopyala ve
#include "sfr62p.h" şeklinde tanımla. sorunun çözülecek. IAR a yabancı olmadığını düşünerek CPU İnitial olayını bildiğini varsayıyorum.

umarım yardımcı olabilmişimdir.

teşekkürler fakat mod yada hex dosyası nı oluşturamadım
bird hocam bence iar da hew kadar ansi c dir. tam bilmiyorum fakat hew derleyicisinin arka planı iar diye biliyodum
tabi mcu ya bazı ayarları ve çalışacagı modlar için init dosyam hazır zate iar ve hew de pek farkı yok bir kaç reg ismi dışında

iyi çalışmalar

ugurtarlaci

Selam Ralgac;

HEW de IAR da olduğu gibi  *.mot  oluşumu için özal ayarlara ihtiyaç yok. Hangi versiyonu kullanıyorsun bilmiyorum ama, şu adımlar izlediğinde *.mot dosyasının kesinlikle oluşması gerek.

*  Yeni bir proje oluştur
* Kodu ve alt programları oluştur
* Çalışma ortamını RELASE - DefaultSesion olarak seç
* Derle
* Çalıştığı dizin içinde RELASE de bu dosyanın oluşması gerek
* Derleme sorun verirse daha önce oluşmuş olan *.mot dosyası dahi siliniyor , bilgin olsun.


Not :  Compiler ın oluşturduğu WorkSpace dizininde çalışırsan daha iyi olur. Bazı versiyonlar bu konuda sorun çıkartabiliyor.

umarım yardımcı olabilmişimdir.
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

Ralgac

@ugurtarlaci  hocam sagol teşekkürler. ben şu an 4.02.0022 ide versiyonu kullanmaya çalışıyorum.
iyi çalışmalar

ugurtarlaci

Arkadaşlar şöyle bir sorunum var;

R8C grubundan r52123 7jfp(48 k) kullanıyorum.
HEW versyonu . 4.00.00.027

Sorun:
bir kez programlıyorum. ikicisinde ID kod hatası veriyor.
M16C tiny ve M16C6n4 kullandım. R8C ilk kez kullanıyorum.
Özel bir ID de vermedim ancak ikinci defa programlayamıyorum.

Seri olarak programlıyorum ve programlamak için FlashStart ve Flashm16 kullanıyorum.

Nasıl bir hata yapıyor olabilirim acaba.İlgilenen arkadaşlara şimdiden teşekkürler.
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

Klein

daha önce r8c grubundan bir işlemci programladım. ama bahsettiğin sorunla  karşılaşmadım. Flash programlayıcının  ayarlarında bir değişiklik yaptıysan bir dosyadan ID alıyor olabilir.

ugurtarlaci

Klein üstadım;

cevabın için teşekkürler. Sanırım ben sorunu buldum.

Benim kullandığım R8C 23 serisi yeni bir seri. Tek Can  Bus  var ve M16C tiny serisine çok benzer ve oldukça ucuz(2.5$). 48 pinli ve 64 K.  Yani göründüğünden güçlü bir alet , tavsiye ederim. Soruna gelince, sanırım bu bir uyumsuzluk problemi.

Sizden Crack ini aldığım HEW 4.00.00.027 versiyonu bu ürünü desteklemiyor diye düşünüyorum. Bir ihtimal  kullandığım flash programmer lar da desteklemiyor olabilir. ID için ayrılan alana doğru verileri yazamıyor gibi.Tam olarak tesbit edecek zamanım ve numunem  yok , zaten 5 adetini bozdum ve yenilerini bekliyorum ama sorun bu galiba.

Ben E8 emulatör kullanarak çözmeyi denedim ve yazılım versiyonunu da update ettim.  Şimdilik bir sorun görünmüyor .

Eğer birgün kullanmak istersen diye  paylaşmak istedim.
İyi çalışmalar , teşekkürler.
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

nonstradam

merhaba
HEW de yeni bir proje nasıl oluşturulur. okuduğum bir kaç dökümanda RSK kullanılıarak boş bir proje oluşturuluyor bu proje dosyaları kullanılarak istediğimiz projeyi oluşturabiliyoruz. bu şekilde yeni bir projeyi sorunsuz oluşturup çalıştırabiliyordum. fakat elimdeki RSK software i (yeni bilgisayar aldığımdan dolayı) vistada çalışmıyor. renesas sitesindede hew in vista sürümlerini bulmama rağmen RSK software ini bulamıyorum ve yeni proje oluşturamıyorum. bu sorunumu nasıl çözebilirim. sizler yeni proje oluştururken nasıl bir yol izliyorsunuz.
saygılarmla...

daha önce proje oluşturmada aşağıdaki yolu izliyordum.

http://america.renesas.com/products/tools/introductory_evaluation_tools/starterkits_evaluation_boards/skp/skp16c28/starter_kit/SKP16CTiny_Tutorial_2_HEW.pdf

ugurtarlaci

HEW kullanan arkadaşlar. R8C/23  r5f2123 7j kullanıyorum . Programı genişletmeye başladığımda aşağıdaki hatayı alıyorum.(Programım henüz 7 kb , HEW ver. 4.03.00.001) Bir Linker hatasına benziyor. Birkaç rutini sildiğimde düzeliyor ve çalışıyor ancak programı genişletmeme izin vermiyor.

Bu konuda fikri  olan arkadaşların değerli yorumlarını bekliyorum.

Hata :
'ROMDATA' section 'vector' is overlapped on the 'interrupt' from FEDCH to FF0CH
Zoru Başarırım , İmkansız Biraz Zaman Alır....İmza... YENİ NESİL GENÇ TÜRK MÜHENDİSLERİ......

Klein

Bu mesaj atılalı çok uzun zaman olmuş. Eski mesajlara göz atarken gördüm.
Aynı sorunu HEW ile R8C için kod derlerken ben de yaşadım. Sorun ncrt0.a30 dosyasında tanımlı adreslerden kaynaklanıyor. Program biraz büyüyünce yazdığınız kod vektör adreslerinin veya başka bir adresin üzerine biniyor. Uzunca bir süre bu adresleri yeniden düzenlemeye çalıştım ama olmadı. Bir yeri değiştiriyorum başka biryerin üzerine biniyor, onu değiştiriyorum başka birşey daha başka bir adrese biniyor. Yani bir çeşit; aşçı uşağa , uşak bahçıvana sonra hep birlikte uşağa durumu gibi bişey  :D  :D  :D  Sonuç olarak çözüm getiremedim. R8C kullanırken iar kullanıyorum bu sebepten ötürü. Sorunu çözebilmiş , adres tablosunu yeniden düzenleyebilmiş birisi varsa ve bizi bilgilendirirse sevinirim.