This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

external memory

Hi,
I work on ST10F168 and i use external ram by EBC in 16 bits demux mode with keil V2.38
There are 4 Chip Select available for ram : CS1,CS2,CS3,CS4
and 23 adress bits : A1->A23
So, there are (2^23 * 4) bytes accessible <=> 32Mo
I would to know if i am right and if i can declare an external memory map of 32 Mo !
Thanks for any suggestions !

Regards,
Jim

Parents
  • If you connect 8M bytes to each chip select, you will not be able to configure the control registers of the external bus controller to access all of the 32M bytes of the memory. See the C167 or ST10 manual, section The External Bus Interface / Controlling The External Bus Controller / Definition of Address Areas:

    The four register pairs BUSCON4/ADDRSEL4 & BUSCON1/ADDRSEL1 allow to define 4 separate address areas within the address space of the C167CR. Within each of these address areas external accesses can be controlled by one of the four different bus modes, independent of each other and of the bus mode specified in register BUSCON0. Each ADDRSELx register in a way cuts out an address window, within which the parameters in register BUSCONx are used to control external accesses.

    Emphasis mine. So that's how it works. Read the manual, it's all there.

    - mike

Reply
  • If you connect 8M bytes to each chip select, you will not be able to configure the control registers of the external bus controller to access all of the 32M bytes of the memory. See the C167 or ST10 manual, section The External Bus Interface / Controlling The External Bus Controller / Definition of Address Areas:

    The four register pairs BUSCON4/ADDRSEL4 & BUSCON1/ADDRSEL1 allow to define 4 separate address areas within the address space of the C167CR. Within each of these address areas external accesses can be controlled by one of the four different bus modes, independent of each other and of the bus mode specified in register BUSCON0. Each ADDRSELx register in a way cuts out an address window, within which the parameters in register BUSCONx are used to control external accesses.

    Emphasis mine. So that's how it works. Read the manual, it's all there.

    - mike

Children