Arkadaşlar ben IARIN renesas derleyıcısını kullnıyorum derleme yapıyorum fakat bi türlü MOT uzantılı dosya elde edemıyorum debug modda derleme yapıyorum release dada yapınca durum degısmıyor bunun ayarı nasıldır ?
Proje opsiyonlarından , "linker" opsiyonlarını aç
"Output file" grubununun altında çıktı olacak dosya adı vardır. yoksa da sen yaz. uzantı farklı ise uzantıyı .mot yap.
Altta "format" gurubunun altında "Other" seçimini işaretle
"Output format" olarak motorola seç
"Format variant" için birşey seçme.
Debug oturumunda çalışıyorsan "Debug" klasörü altına, Release oturumunda çalışıyorsan "Release" klasörünün altında .mot dosyası oluşur.
klein yardımın için teşekkürler dediğin gibi yaptım ve .mot uzantılı dosyayı elde ett,m şimdi sana bir soru daha sorucam IAR da şu kodu derlersem
#include <iom16c62p.h>
void main()
{
pd10=0x00;
pd11=0x00;
pd9=0x00;
do{
p10=0xFF;
p11=0xFF;
p9=0xff;
}while(1);
}
port 10,port11,ve port9 tüm cıkısları high olurmu yoksa eklemem gereken başka birseyler daha varmı?
@neotr
Öcelikle Renesas ta port direction ayarında "1" output , "0" input u ifade eder. Yani PİC de olduğu gibi değildir. Verdiğin kodda çıkış alamazsın. Ayrıca MCU başlatma rutini oluşturmalısın . MCU ya göre bazı portların direction larını yapabilmek için protect açma işlemleri yapman gerekebilir.
Kolay gelin.
Uğur'un bahsettiği gibi çıkış için yön bitini 1 yapmalısın. pd9'u yazabilmek için korumayı açman gerekir.
pd10=0xFF
pd11=0xFF // m30624 100 pin de p11 yok.
prc2=1;
pd9=0xFF;
prc2=0;
üstatlar sizin düzeltmelerinizle yazdığım kod şu:
#include <iom16c62p.h>
void main()
{
pd1=0xFF;
pd2=0xFF;
pd3=0xFF;
prc2=1;
pd9=0xFF;
prc2=0;
do{
p1=0xFF;
p2=0xFF;
p3=0xFF;
p9=0xFF;
}while(1);
}
kullandığım işlemcinin üstünde M30620FCPFP yazıyor.
M16C flasher da sectıgım cihaz M16C/62P M30620FC (124kb+4kb)
yazıyor. Fakat ben bir çıkış gözlemleyemedim ilk defa program yuklemenın heyecanını yaşayamadım daha su M16C ye yardımlarınızı beklıyorum üstatlar...
@Neotr
Aşağıdaki gibi bir MCU başlatma rutini hazırlamalısın. OSC seçimi, PLL ayarları, protect ve memory ayarları gibi ayarları tamamlamalısın.
Donanımda ise;
MCU Byte pini LOW
MCU CNVSS LOW
MCU NMI kullanmıyorsan HIGH da olmalıdır.
void mcu_initial(void)
{
/******************************************************************************
*
* Note that the PLL register PLC0 bits PLC02 to PLC00 can only be set once *
* after RESET. This is set up for 24MHz operation running off a 4MHz crystal.*
*
******************************************************************************/
prcr = 0x04; /*Protect Kontrol Register Protect geçici iptal
PRCR_0(PRC0) tarafından korunan registirlar <CMO,CM1,CM2,PLC0,ROCR,PCLKR>
PRCR_1(PRC1) tarafından korunan registirlar <PM0,PM1,PM2,TB2SC,INVC0,INVC1>
PRCR_2(PRC2) tarafından korunan registirlar <PD9,PACR,NDDR>
PRCR_3(PRC3) tarafından korunan registirlar <VCR2,D4INT>*/
prcr = 0x0B;
pm0 = 0x00; /*Processor mode register set to default
PM0_3(PM03) "1" YAPILDIĞINDA MİCROCOMPUTER SOFT RESET ALIR okunduğunda içeriği "0" dır */
pm1 = 0x09; /* Processor mode register
PM1_0(PM10) "1" Yapıldığında 0F000-0FFFF arasında yer alan Flash Data Rom kullanıma açılır
PM1_3 "1" olmalı
PM1_7(PM17) "1" Yapıldığında internal RAM ve ROM erişimlerinde 1wait state araya sokulur*/
cm0 = 0x08; /*CM0_4(CM04)"0" Yapılarak P86 ve P87 sub_clock yerine I/O port olarak kullanılmıştır
CM0_3(CM03) Bu durumda "1" yapılmalıdır */
cm1 = 0x20; /*CM1_1(CM11) "0" seçilerek geçici olarak sistem clok main clock olarak seçilmiştie
CM_15(CM15) "1" seçilerek eyer mcu stop moda girerse main clock girişleri high olarak sürülecek */
cm2 = 0x00; /*Oscillation stop detection register set to default */
plc0 = 0x12; /*carpan 4 4mhz*4 = 16 MHz clock PL0(0,1,2)= "010"
PLC0_7 "0" PLL hala kapalı stable olduktan sonra açılacak*/
/* plc0-- 0x10 = n0 plc0-- 0x11 = carpan 2*/
/* plc0-- 0x12 = carpan 4 plc0-- 0x13 = carpan 6*/
pm2 &= 0xFE; /*Set PM20 bit to "0" (2-wait states) PM2_O "0" yapilarak PLL stable olup oturana kadar 2 wait state beklenir */
plc0 = 0x92; /*Set PLL artık ON yapılır */
//__no_operation(); /*Wait until the PLL clock becomes stable (tsu(PLL)) */
cm1 = 0x22; /*Set the PLL clock as the CPU clock source=16MHz */
/******************************************************************************/
pd8_0 = 1; //Run_led port set output
pd8_1 = 1; //Com_led port set output
pd5_6 = 0; //Enter buton port set input
pd5_7 = 0; //Up_Sw port set input
pd2 = 0xff; // Memory Addres Low Byte Output
pd3 = 0xff; // Memory Addres high Byte Output
pd4 = 0xff; // Memory control Byte Output
pd6_0 = 1; // output set for clk
pd6_1 = 1; // output set for sld
pd7_4 = 0; // input set for DATA in
pd9 = 0x01; // p9 for input out p9_1
prcr = 0x00; /*PRCR_2(PRCR2) biti tarafından ko
}
evet ugur dediğin gibi yapınca sonunda programımı atabildim teşekkürler hem sana hemde kelin e