Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

External memory

Başlatan mcan, 05 Aralık 2011, 20:32:21

mcan

Merhaba stm32f103 islemci ve keil ile calisiyorum,
512kb sram baglayip denemek istiyorum.Bendeki islemcide(Tqfp64) donanimsal external memory destegi yok ,acaba keil uzerinden sram cipinde degiskenleri tanimlamanin bir yolu varmi?
mesela su sekilde bir kullanima yakin birseyler ariyorum :

Sram int i;

bu sekilde.

mcan

Hocam sanırım sram yazmam karışıklığa sebep olduö sram derken static olarak demek istemedim şöyleki; elimde 2k256 gibi bir çip var ve ben bunu m3 işlemcime takıp kullanmak istiyorumö fonksiyonlarla uğraşmak istemiyorum bunun yerine kullanımı daha konforlu birşeyler arıyorum.Mesela CCS C de şu özellik var ;

addressmod (name,read_function,write_function,start_address,end_address);

 

 

Where the read_function and write_function should be blank for RAM, or for other memory should be the following prototype:

 

// read procedure for reading n bytes from the memory starting at location addr

void read_function(int32 addr,int8 *ram, int nbytes){

}

 

//write procedure for writing n bytes to the memory starting at location addr  

void write_function(int32 addr,int8 *ram, int nbytes){                                                 

}

 

Example:

void DataEE_Read(int32 addr, int8 * ram, int bytes) {

   int i;

   for(i=0;i<=bytes;i++,ram++,addr++)

     *ram=read_eeprom(addr);

}

void DataEE_Write(int32 addr, int8 * ram, int bytes) {

   int i;

   for(i=0;i<=bytes;i++,ram++,addr++)

     write_eeprom(addr,*ram);

}

addressmod (DataEE,DataEEread,DataEE_write,5,0xff;        // would define a region called DataEE between 

                                                          // 0x5 and 0xff in the chip data EEprom.

void main (void)

{

  int DataEE test;

  int x,y;

  x=12;

  test=x;                                                 // writes x to the Data EEPROM

  y=test;                                                 // Reads the Data EEPROM

} 



int DataEE test;  bu kod ile test değişkenini okuma ve yazma fonksiyonlarını tanımladığı DataEE alanında tanımlıyor.

Acaba keilde buna yakın bir kullanımı nasıl sağlarız? Yani

int 2k256 test; dediğimizde bizim harici sram çipi(2k256 gibi) üzerinde bir int tanımlasın.
Ccs c de bu olayın adı addressmod  keilde bu şekil birşey varmı?