EmbeddedRelated.com
Forums

Microcore11 EEPROM programming problem

Started by isura21 August 30, 2004
Hi,
I am working with a Microcore11 board with an HC11 E0 chip. I have
been unsuccessfully attempting to reprogram the EEPROM on the board,
using both MicroLoad and JBug. I have tried the suggestions on the
FAQ on the Microcore website www.technologicalarts.com ,but no luck.
Appreciate any suggestions, I have spent more than a week trying to
figure this out. Thanks. This is the JBUG output:

LD "C:\Documents and Settings\Isura\Desktop\iccdemo.s19"
Writing EEPROM 8000..802E
Diagnostics for: Echo error writing EEPROM
A00 NG Tx Rx MR=0 TT=1 PS=psStopped
SA00 EA00 TAFF BP00 Rp=0 VN=4.5.1.0524
Reboot MCU? = Yes

Note that I use R BROT, and the register does change. Also,
CONFIG (I didn't modify this).

Isura




In a message dated 8/30/04 12:44:44 P.M. Eastern Daylight Time,
writes:

I am working with a Microcore11 board with an HC11 E0 chip. I have
been unsuccessfully attempting to reprogram the EEPROM on the board,
======================================
I have a pink book from Motorola that says an E0 doesnt have eeprom. E1 and
E9 have 512 bytes. You dont mean the atmel flash rom do you?



Yes, that is correct. I should have been more specific. The EEPROM
is external, the Microcore has 32K external EEPROM amd also 32K
external SRAM. Is there something obvious I'm not doing before I
write to external memory. Thanks for the reply.

Isura

--- In , BobGardner@a... wrote:
>
> In a message dated 8/30/04 12:44:44 P.M. Eastern Daylight Time,
> isura21@y... writes:
>
> I am working with a Microcore11 board with an HC11 E0 chip. I
have
> been unsuccessfully attempting to reprogram the EEPROM on the
board,
> ======================================
> I have a pink book from Motorola that says an E0 doesnt have
eeprom. E1 and
> E9 have 512 bytes. You dont mean the atmel flash rom do you? >





--- In , "isura21" <isura21@y...> wrote:
> Yes, that is correct. I should have been more specific. The EEPROM
> is external, the Microcore has 32K external EEPROM amd also 32K
> external SRAM. Is there something obvious I'm not doing before I
> write to external memory. Thanks for the reply.

Have you configured JBug to enable external memory? To do this, you
need to go to the configuration dialog (General tab) and check
the "Alter HPRIO on reboot" box, and enter the value "E5" in
the "Byte to send" box. You will also need to specify the address
range(s) of the external RAM and (Flash) PROM in the appropriate
entry boxes under the "Memory Map" tab. For the RAM, add a like the
example shown below in the RAM edit box:

External RAM00..7FFF

For your FLASH PROM, add its address range in the "External Flash
PROM" address entry box: 8000..FFFF

You need to check the specifications of the device that is being
used in your board, and set the "Data Page Size" option properly.
If it is a true byte-programmable EEPROM (e.g. 28Cxxx series device)
then the Flash programming routine might not work correctly. JBug's
Flash ROM programming routine should work for most 29Cxxx devices,
but will not work for devices that have sector sizes in excess of
256 bytes (such as the 29Fxxx series). You should also take a look
at the source code for the E_Flash_Ovly and make any changes that
are needed for your particular device and board configuration.

If you can tell me the part number of the Flash device your board
uses, I might be able to give you more specific guidance.

-- Mark




In a message dated 8/31/04 11:05:20 A.M. Eastern Daylight Time,
writes:

Yes, that is correct. I should have been more specific. The EEPROM
is external, the Microcore has 32K external EEPROM amd also 32K
external SRAM. Is there something obvious I'm not doing before I
write to external memory. Thanks for the reply.
===================================
My microcore has an atmel AT28C256 flash rom.... slightly different from an
eeprom....
but the Tech Arts Microload utility works like a champ...... I have written
a powerfail function using xirq interrupt to save a couple bytes in flash
rom.... the trick is you need to be running from ram when you write to rom, and
cant fetch a byte from rom for 10ms till the byte is written, so I have a
little function in rom that I malloc some space for, then memcpy it up to ram,
then I jst to it, it picks up the byte to be burned, writes it to the flash,
and hangs in a ram loop for 10ms, then returns.



Hello,
Sorry it has taken me so long to answer this. I can probably answer your question. First off, I do not use either of the two programs you mentioned so I can't be specific to those programs, but I can give you the general Idea of programming the Microcore11. If you are wondering, I use the Xload batch file that comes with the starter package. Ok, first you have to switch the switch that is closest to the RESET button to BOOT, or all the way to the right as you look at the component side of the board. Second, you have to switch the other switch to WRITE, or in the down position. If you use the XLOAD batch file, make sure you have the Bootloader program titled XLOAD.bin in the same directory as the batch file. When you want to download a file simply type the following at the command line of your computer; "XLOADn filename" Where n = the number of the comm port you are using for downloading the file, and filname is the name of the file, DO NOT PUT THE EXTENTION AT THE END
OF THE FILENAME (like filename.asm) because it wont work. This method will at least get the file to your EEPROM on the microcore11; you can experiment with the other two programs later. I just now got JBUG, after years of using the batch file, so I really do not know how it works yet. Hope this helps. LF

Mark Schultz <> wrote:
--- In , "isura21" <isura21@y...> wrote:
> Yes, that is correct. I should have been more specific. The EEPROM
> is external, the Microcore has 32K external EEPROM amd also 32K
> external SRAM. Is there something obvious I'm not doing before I
> write to external memory. Thanks for the reply.

Have you configured JBug to enable external memory? To do this, you
need to go to the configuration dialog (General tab) and check
the "Alter HPRIO on reboot" box, and enter the value "E5" in
the "Byte to send" box. You will also need to specify the address
range(s) of the external RAM and (Flash) PROM in the appropriate
entry boxes under the "Memory Map" tab. For the RAM, add a like the
example shown below in the RAM edit box:

External RAM00..7FFF

For your FLASH PROM, add its address range in the "External Flash
PROM" address entry box: 8000..FFFF

You need to check the specifications of the device that is being
used in your board, and set the "Data Page Size" option properly.
If it is a true byte-programmable EEPROM (e.g. 28Cxxx series device)
then the Flash programming routine might not work correctly. JBug's
Flash ROM programming routine should work for most 29Cxxx devices,
but will not work for devices that have sector sizes in excess of
256 bytes (such as the 29Fxxx series). You should also take a look
at the source code for the E_Flash_Ovly and make any changes that
are needed for your particular device and board configuration.

If you can tell me the part number of the Flash device your board
uses, I might be able to give you more specific guidance.

-- Mark
---------------------------------
Yahoo! Groups Links

To
---------------------------------


Thanks for the replys guys. This morning I tried loading the program
from another PC using MicroLoad, and it worked! I think it really
must have been a problem with the serial port I was using.

--- In , BobGardner@a... wrote:
>
> In a message dated 8/31/04 11:05:20 A.M. Eastern Daylight Time,
> isura21@y... writes:
>
> Yes, that is correct. I should have been more specific. The
EEPROM
> is external, the Microcore has 32K external EEPROM amd also 32K
> external SRAM. Is there something obvious I'm not doing before I
> write to external memory. Thanks for the reply. >
> ===================================
> My microcore has an atmel AT28C256 flash rom.... slightly
different from an
> eeprom....
> but the Tech Arts Microload utility works like a champ...... I
have written
> a powerfail function using xirq interrupt to save a couple bytes
in flash
> rom.... the trick is you need to be running from ram when you
write to rom, and
> cant fetch a byte from rom for 10ms till the byte is written, so I
have a
> little function in rom that I malloc some space for, then memcpy
it up to ram,
> then I jst to it, it picks up the byte to be burned, writes it to
the flash,
> and hangs in a ram loop for 10ms, then returns. >





No problem. Did you just recently purchase the Microcore11? I have used both the Microcore11, and the Microstamp11 in many projects, the E0 processor works just fine for what I need to do, and there is no need to worry about making my own circuit board.

LF

isura21 <> wrote:
Thanks for the replys guys. This morning I tried loading the program
from another PC using MicroLoad, and it worked! I think it really
must have been a problem with the serial port I was using.

--- In , BobGardner@a... wrote:
>
> In a message dated 8/31/04 11:05:20 A.M. Eastern Daylight Time,
> isura21@y... writes:
>
> Yes, that is correct. I should have been more specific. The
EEPROM
> is external, the Microcore has 32K external EEPROM amd also 32K
> external SRAM. Is there something obvious I'm not doing before I
> write to external memory. Thanks for the reply. >
> ===================================
> My microcore has an atmel AT28C256 flash rom.... slightly
different from an
> eeprom....
> but the Tech Arts Microload utility works like a champ...... I
have written
> a powerfail function using xirq interrupt to save a couple bytes
in flash
> rom.... the trick is you need to be running from ram when you
write to rom, and
> cant fetch a byte from rom for 10ms till the byte is written, so I
have a
> little function in rom that I malloc some space for, then memcpy
it up to ram,
> then I jst to it, it picks up the byte to be burned, writes it to
the flash,
> and hangs in a ram loop for 10ms, then returns. >


---------------------------------
Yahoo! Groups Links

To __________________________________________________