| Details | Message |
|---|
Read-Only Author Richard Nigro Posted 17-Nov-2005 21:09 GMT Toolset ARM |  Simulate Data Bus Width of 16-bit for External Memory Richard Nigro Is it possible to simulate external memory with a DBW of 16-bit? My external memory is setup so that 2 chips with 8-bit memory are sharing the same memory location. I would like to be able to simulate this with the uVision debugger. I enabled the memory region for the debugger with the statement
MAP 0x10000000,0x1000FFFF READ WRITE // allow R/W access to external
However, a float still takes up 4 address locations rather than the desired 2.
Any ideas? |
|
Read-Only Author Reinhard Keil Posted 18-Nov-2005 10:41 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Reinhard Keil Which device are you simulating?
Reinhard |
|
Read-Only Author Richard Nigro Posted 18-Nov-2005 13:47 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Richard Nigro Sorry, I'm simulating an ADuC7026. I configure it in the following manner.
GP2CON = 0x02222000; // WS, RS, AE, MS0
GP3CON = 0x22222222; // AD0 - AD7
GP4CON = 0x22222222; // AD8 - AD15
XMCFG = 1; // Enable external memory access
XM0CON = 3; // 16-bit DBW, Enable memory region 0
XM0PAR = 0xA722; // Enable byte write strobe
|
|
Read-Only Author Richard Nigro Posted 21-Nov-2005 15:04 GMT Toolset ARM |  Simulate 32k x 16 for External Memory Richard Nigro Ok, forgetting data bus width, I don't think data bus width is my problem. I have 32k worth of addresses (0x000 - 0x7FFF) and each addresses can hold 2 bytes (16 bits) worth of data. That's 64kBytes worth of data from 0x1000000 to 0x10007FFF. How can I get the simulator to reflect that? |
|
Read-Only Author Reinhard Keil Posted 21-Nov-2005 08:14 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Reinhard Keil data bus width has no impact to 'float' size. Maybe you can be a little more precise in describing your problem.
Reinhard |
|
Read-Only Author Reinhard Keil Posted 21-Nov-2005 08:28 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Reinhard Keil Just one more side note. The Keil uVision Simulator fully simulates all the external bus timings like bus width and wait states.
Reinhard |
|
Read-Only Author Reinhard Keil Posted 21-Nov-2005 08:29 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Reinhard Keil Just one more side note. The Keil uVision Simulator fully simulates all the external bus timings like bus width and wait states.
Reinhard |
|
Read-Only Author Richard Nigro Posted 21-Nov-2005 13:28 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Richard Nigro I have 2 32k x 8 EEPROM chips. One is connected to AD0 - AD7 and the other is connected to AD8 - AD15. Both are mapped to the same memory location. ADuC7026 maps the external memory selection 0 to 0x10000000 to 0x1000FFFF.
Say I were execute the following function : void writeMem (void) {
float *ptr = 0x10000000;
*ptr++ = 32.65;
*ptr = 45.76;
} In external memory the 32-bit float number should take up 2 memory addresses (2 x 16). When I open up the "Memory Window" I see that the float number has taken up address 0x10000000 to 0x10000003 (4 x 8).
Now maybe I'm mistaken about how a 16-bit data bus is used, but it looks to me like only AD0 - AD7 were used in this example. |
|
Read-Only Author Reinhard Keil Posted 21-Nov-2005 13:34 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Reinhard Keil The memory windows shows addresses. Each address correspons to a single byte.
Maybe you take a look to ARM hardware manuals to see how this is mapped to physcial memory. However these basics are really hard to explain in words. The memory width does not change the physicall address behaviour at all.
Reinhard |
|
Read-Only Author Richard Nigro Posted 21-Nov-2005 13:45 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Richard Nigro Okay, thanks. I was beginning to suspect that my concept of the data bus width was not correct. |
|
Read-Only Author Richard Nigro Posted 21-Nov-2005 15:05 GMT Toolset ARM |  RE: Simulate Data Bus Width of 16-bit for External Memory Richard Nigro Ok, forgetting data bus width, I don't think data bus width is my problem. I have 32k worth of addresses (0x000 - 0x7FFF) and each addresses can hold 2 bytes (16 bits) worth of data. That's 64kBytes worth of data from 0x1000000 to 0x10007FFF. How can I get the simulator to reflect that? |
|