|
In our project we are running the 68HC11 in expanded mode. we have a SRAM at $6000 and a EPROM at $E000. we download the program to the SRAM using the bufallo monitor program. we programmed the EPROM with the same Buffallo monitor program that was provided with the EVB. In the program we are downloading to the SRAM, we have not remapped the register location from $1000. Since the addressable portion lies in the region $6000-$7fff only, where will the I/O registers be located? we could execute the program successfully which refers to these registers. how could the monitor program could show us a dump of a memory location that does not lie with $6000-$7fff? Thanking you in advance. Sincerely, Anand ________________________________________________________________________ Missed your favourite TV serial last night? Try the new, Yahoo! TV. visit http://in.tv.yahoo.com |
|
|
|
----- Original Message ----- From: Anand Arumugam <> To: <> Sent: Monday, February 24, 2003 7:03 PM Subject: [m68HC11] Register location reg > In our project we are running the 68HC11 in expanded > mode. we have a SRAM at $6000 and a EPROM at $E000. > > we download the program to the SRAM using the bufallo > monitor program. we programmed the EPROM with the same > Buffallo monitor program that was provided with the > EVB. In the program we are downloading to the SRAM, we > have not remapped the register location from $1000. > Since the addressable portion lies in the region > $6000-$7fff only, where will the I/O registers be > located? we could execute the program successfully > which refers to these registers. The addressable portion of your code does not limit the CPU addressing capabilities. The CPU will still be able to access all 65536 possible addresses, whether they are attached to something meaningful or not. Since they have higher priority, registers are always present where they are mapped, even when they overlap other memories. In your case, there isn't even an overlap of memories, so what is your problem, exactly? To dump the memory contents (or should I say, address locations, to be more accurate, as the presence of memory is irrelevant, the CPU will still read something) with PCBUG11 use the MD command (e.g, MD 2000). > Anand |
|
The Motorola EVB, and other EVB type devices, have the Buffalo monitor program located at $E000. Using the Motorola EVB, PE0 is brought low for the monitor program to execute. When PE0 is high, program execution is given to the program located at $B600. Confirming this, enter the command ASM E000 and tap enter. Keep tapping Enter... This is what I see. BUFFALO 3.4 (ext) - Bit User Fast Friendly Aid to Logical Operation >asm E000 E000 LDX #$100A > E003 BRCL $00,X $01 $E00A > E007 JMP $B600 > E00A LDAA #$93 > Note: Port E is $100A Entering the command >MD FFFE FFF0 00 EB 00 EE 00 F1 00 F4 00 F7 00 FA 00 FD E0 00 The show that the Reset vector is pointing to E000. Verify this with your device. I have never tried to remap the internal registers located at $1000 Nick -----Original Message----- From: Anand Arumugam [mailto:] Sent: Monday, February 24, 2003 9:04 AM To: Subject: [m68HC11] Register location reg In our project we are running the 68HC11 in expanded mode. we have a SRAM at $6000 and a EPROM at $E000. we download the program to the SRAM using the bufallo monitor program. we programmed the EPROM with the same Buffallo monitor program that was provided with the EVB. In the program we are downloading to the SRAM, we have not remapped the register location from $1000. Since the addressable portion lies in the region $6000-$7fff only, where will the I/O registers be located? we could execute the program successfully which refers to these registers. how could the monitor program could show us a dump of a memory location that does not lie with $6000-$7fff? Thanking you in advance. Sincerely, Anand ________________________________________________________________________ Missed your favourite TV serial last night? Try the new, Yahoo! TV. visit http://in.tv.yahoo.com To unsubscribe from this group, send an email to: |
|
|
|
Remapping the internal registers is pretty easy. Just change the upper nibble of INIT ($103D) to whatever page in the memory map you want to remap it to. So, if you set INIT to $0X, the location of the INIT register after the command is $003D instead of $103D. If I change the register mapping, I always do it as the second instruction in my code. This way, there isn't any possibility of the register mapping changing mid-stream and causing something not to work. Of course, the first instruction is always LDS.... The biggest snag is changing this in the middle of writing your code. If you hard code the register location in the code (instead of using a '#DEFINE') then you will have to search line by line to correct all the addressing. It should be noted that while it may save instruction space to map the registers to $0000-$003F since all register access would be in direct mode, for the bit operations (BSET, BRSET, etc.) to work you still have to use indexed mode. --- "Nick Reitter, 3rd" <> wrote: > I have never tried to remap the internal registers located at $1000 > > Nick __________________________________________________ |
|
----- Original Message ----- From: Brian Moerdyk <> To: <> Sent: Wednesday, February 26, 2003 7:07 AM Subject: RE: [m68HC11] Register location reg > It should be noted that while it may save instruction space to map the > registers to $0000-$003F since all register access would be in direct > mode, for the bit operations (BSET, BRSET, etc.) to work you still have > to use indexed mode. Not so. HC11 bit instructions have both indexed and direct page addressing modes. |