Sign in

username:

password:



Not a member?

Search hc11



Search tips

Subscribe to hc11



Ads

Discussion Groups

Discussion Groups | M68HC11 | Bootstrap Mode

Technical discussions about Freescale Microcontrollers: M68HC11. (Freescale Semiconductor is a Subsidiary of Motorola).

Bootstrap Mode - Huey Fen - Oct 31 11:01:00 2005

Good day,
Here are some questions regarding the bootstrap mode.
I've read through the bootstrap mode application notes (AN1060). But there are something that
I don't really understand. From pg 7 of AN1060, there is a paragraph sounds like this:

"The number of data bytes in the downloaded program can be any number between 0 and 512 bytes (thesize of on-chip RAM). This procedure is called "variable-length download" and is accomplished by ending the download sequence when an idle time of at least four character times occurs after the last character to be downloaded. In M68HC11 Family members which have 256 bytes of RAM, the download length is fixed at exactly 256 bytes plus the leading $FF character."

I am using M68HC11A1 family; meaning that the RAM is 256 bytes. So, does it means that the length of downloaded program should be exactly 256 bytes before the MCU can run the downloaded program? I don't understand the leading $FF character as well. Can anybody explain to me?

Can anyone tell me more on bootstrap mode. Any information regarding this is most welcome. Thanks for the help.
Best regards,

Huey Fen
---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )


Re: Bootstrap Mode - Tony Papadimitriou - Oct 31 12:34:00 2005

----- Original Message -----
From: "Huey Fen" <circuitcyco@circ...>
To: <m68HC11@m68H... > In M68HC11 Family members which have 256 bytes of RAM, the download length is
> fixed at exactly 256 bytes plus the leading $FF character."

The leading $FF is for helping the on-chip loader determine your baud rate.

> So, does it means that the length of downloaded program should be
> exactly 256 bytes before the MCU can run the downloaded program?

Yes, but this is no problem. You can fill the unused bytes with a dummy value
to make the length equal to 256. For use with ASM11 (below), you need to write
the boot code (e.g., TALKER.ASM) as follows:

#MEMORY 0 255
ORG 0 ;talker variables

ORG 0 ;talker code
lds #$FF
...

ORG $FF
fcb 0

Then, use the EXBIN.EXE utility found in the same package
(http://www.aspisys.com/asm11d84.zip) like so:

EXBIN TALKER T <ENTER>

and this will take your TALKER.S19 and convert it to binary (TALKER.BIN)
complete with the needed leading $FF byte, and also create a batch file
TALKER.BAT that can be used to load your TALKER.BIN to the HC11 using standard
DOS (Win console) commands. This method should work OK for DOS, Win9x, and
(possibly) WinXP. You should now have TALKER.ASM, TALKER.BIN (of size 257), and
TALKER.BAT

Finally, run the batch file from a DOS window, giving the COM port (1 or 2) as
parameter, and follow the instructions:

TALKER 1 <ENTER>

> Huey Fen

tonyp@tony...




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Huey Fen - Nov 1 1:02:00 2005


Sorry, but I think I don't really understand the boot code that you
suggested in the previous email.
> #MEMORY 0 255
> ORG 0 ;talker variables
> ORG 0 ; talker code
> lds #$FF
> ...
> ORG $FF
> fcb 0
Can you give some explaination to me?
Do you mean that I can write any program between the lds #$FF and
ORG $FF? The length of my program does not necessary to be 256
bytes, isn't it?
>EXBIN TALKER T <ENTER>
Can you explain this to me as well? I've gone through the EXBIN
program and what does it mean with " exbin prog T
(prepend $FF for HC11 talker and make .BAT)"?
May I know how to download the program into MCU? What did you mean
with batch file?
Hope to get your reply soon. Thank you in advance.
---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Mike McCarty - Nov 1 1:37:00 2005

Huey Fen wrote:
> Good day,
> Here are some questions regarding the bootstrap mode.
> I've read through the bootstrap mode application notes (AN1060). But there are something that
> I don't really understand. From pg 7 of AN1060, there is a paragraph sounds like this:
>
> "The number of data bytes in the downloaded program can be any number between 0 and 512 bytes (thesize of on-chip RAM). This procedure is called "variable-length download" and is accomplished by ending the download sequence when an idle time of at least four character times occurs after the last character to be downloaded. In M68HC11 Family members which have 256 bytes of RAM, the download length is fixed at exactly 256 bytes plus the leading $FF character."

You are not reading about the A family, but the E family.

> I am using M68HC11A1 family; meaning that the RAM is 256 bytes. So, does it means that the length of downloaded program should be exactly 256 bytes before the MCU can run the downloaded program? I don't understand the leading $FF character as well. Can anybody explain to me?

For the A family, the download size must be exactly 256 bytes.

> Can anyone tell me more on bootstrap mode. Any information regarding this is most welcome. Thanks for the help.

Tie ModA and ModB appropriately.
Reset the uC.
Send $FF.
Send 256 bytes.
Your program starts.

The download supports two Baud rates. Note that $FF
has all bits on. So there is a long period with the
SCI input high, then a low for one bit time, followed
by a high for 9 bit times at least. The uC times
the start bit to compute baud rate.

What more do you want to know? Willing to explain whatever
remains unclear.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Huey Fen - Nov 1 4:55:00 2005

>Tie ModA and ModB appropriately.
>Reset the uC.
>Send $FF.
>Send 256 bytes.
>Your program starts.

I don't understand how to send $FF at the very beginning stage. Can you explain? thanks a lot.
---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Mike McCarty - Nov 1 12:33:00 2005

Huey Fen wrote:
>>Tie ModA and ModB appropriately.
>>Reset the uC.
>>Send $FF.
>>Send 256 bytes.
>>Your program starts. > I don't understand how to send $FF at the very beginning stage. Can you explain? thanks a lot. Hmm.

You have a computer on which you are building programs
for the 6811. This computer is called the host. You have
a small computer with a 6811 on it. This computer is called
the taget. On each you need RS232 connections, and a cable.

If you use a PC as host, then the serial connections are wired
as DTE. This means that either the connections on the
target must be DCE or you must use a cross-over cable.
Connect the host to the target using the appropriate cable.

Run software on the host to create the program for the
target on the host. Write a little program for the host
(the appplication note has one in it, IIRC) to send a
character with all bits on, followed by the 256 bytes of
the program for the target. Reset the target, and run
the sender program on the host.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Tony Papadimitriou - Nov 1 16:13:00 2005

----- Original Message -----
From: "Huey Fen" <circuitcyco@circ...>
To: <m68HC11@m68H... > Sorry, but I think I don't really understand the boot code that you
> suggested in the previous email.

> Do you mean that I can write any program between the lds #$FF and
> ORG $FF? The length of my program does not necessary to be 256
> bytes, isn't it?

I guess. Your usable program does not have to be 256 bytes long but your actual
program that will be loaded in has to, so add dummy code to make it long enough.

> EXBIN TALKER T <ENTER>
> Can you explain this to me as well?

In my original reply, I already have, as best as I could, without making a
dissertation of it.

> May I know how to download the program into MCU? What did you mean
> with batch file?

If you don't know what batch files are, either skip the answer as irrelevant, or
maybe show some courage and look it up with Google by typing batch-file and
pressing the "I'm feeling lucky" button. [Please don't ask what Google is :)]

Although I understand your frustration, let me close with this thought for
general audience consumption, as this seems to be a recurring phenomenon:

"There is a minimum of effort on your end for any help offered to you to be of
any use."

Good luck.

tonyp@tony...




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Minimum Effort - Mike McCarty - Nov 1 17:18:00 2005

Tony Papadimitriou wrote:

[snip]

> Although I understand your frustration, let me close with this thought for
> general audience consumption, as this seems to be a recurring phenomenon:
>
> "There is a minimum of effort on your end for any help offered to you to be of
> any use."

My sig:

I can explain it for you, but I can't understand it for you.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Huey Fen - Nov 3 7:03:00 2005

I've got the MCU runs in bootstrap mode. Special thanks to Tony Papadimitriou and and Mike McCarty for supplying me such precious information.
But I've got another problem.
I would like to increase the acc A from 1 to 10 and output the value of acc A at Port B. The
program needs to wait for 1 sec for every increment of acc A.
However, the Port B can only output acc A with value of 10. I wonder why the hardware was
unable to output from value of 1 to 10.
Can anyone tell me the trick? Thanks a lot.

---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Can't get Buffalo to run - Art Burke - Nov 3 10:59:00 2005

Hi to all:
Here's what I have happening:
I boot my PC in the dos mode, using a utility "Moslo" to slow the PC down to
XT speed.

I run PCBUG11A on COM1 to communication with my 68HC11E2FN board (just has
rs232 supporting chips along with the processor).

I have MODA and MODB strapped to ground. I am using the CGN-232 board with
the supporting chips for rs-232.

I'm using Tx, Rx, and Ground on the DB9 serial cable.
After resetting the board, starting PCBUG11A, I see Tx and Rx pulsing as
PCBUG says it is downloading talker.

It then follows with a bunch of errors, including comms fault, etc.
I can reset the board, then enter "restart" at the prompt, it spends a
little time downloading the talker, and then follows with the same errors.
I've tried a couple of the talkers, including "4" which is the one for the
68HC11E2 processor.

I'm entering that the talker is not on the board, do not use xirq, assume
8mhz crystal (which it does have on the board).
What am I doing wrong? Several years ago I think that I went through this
same thing, but can't remember if I added a wire or ??

Not sure.
Thanks for the help,
Art
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Bootstrap Mode - Mike McCarty - Nov 3 11:55:00 2005

Huey Fen wrote:
> I've got the MCU runs in bootstrap mode. Special thanks to Tony Papadimitriou and and Mike McCarty for supplying me such precious information.
> But I've got another problem.
> I would like to increase the acc A from 1 to 10 and output the value of acc A at Port B. The
> program needs to wait for 1 sec for every increment of acc A.
> However, the Port B can only output acc A with value of 10. I wonder why the hardware was
> unable to output from value of 1 to 10.
> Can anyone tell me the trick? Thanks a lot.

This sounds very much like a homework problem. Be assured that,
if it is, your professor is reading this.

PORTB has no problem outputing the numbers you want. I can think
of one very obvious reason your program might be misbehaving.

I'm guessing that the technique you use for waiting a second
between outputs is not actually waiting, but that your whole
program is running in a few microseconds, and what you see is the
last output.

Try making the program run forever instead of stopping at 10,
and watch the most significant bit. Try using an oscilloscope
if possible. Lessee, what would the frequency be?

Suppose the code looks like this... loop:
staa PORTB
inca
<try to delay, but fail>
bra loop

Suppose the delay actually only uses 10 cycles instead of a second.
The rest of the code is 4+2+10+3 = about 20 cycles. Presuming 8MHz
crystal (2MHz clock) that's 10 microseconds. Multiplying by 256 for
the 8 bit accumulator, that would give you 2560 microseconds per
cycle. Too fast to see with a voltmeter. Yes, you need an oscilloscope.

Or connect the MSb to an amplifier and a speaker. You could hear it.
That would be 390 Hz. An easily heard tone.

Anyway, I suggest getting the delay function working first, then
change the program to stop.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Can't get Buffalo to run - Tony Papadimitriou - Nov 3 14:39:00 2005

----- Original Message -----
From: "Art Burke" <mathtutoring@math...>
To: <m68HC11@m68H... > I'm using Tx, Rx, and Ground on the DB9 serial cable.

> What am I doing wrong? Several years ago I think that I went through this
> same thing, but can't remember if I added a wire or ??
>
> Not sure.

Hmm, could it be that you needed to tie DB9 pins 1,4,6, and 8 together (you know
to fake RTS/CTS, etc.).

> Art

tonyp@tony...




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Can't get Buffalo to run - Trevor Jones - Nov 3 17:43:00 2005

You also need to tie Port E pin 1 to ground i.e.. PE0 =>0v.
The first lines of BUFFALO checks the status and either runs BUFFALO or
jumps to the start of EEPROM
Trev

-----Original Message-----
From: m68HC11@m68H... [mailto:m68HC11@m68H...] On Behalf
Of Tony Papadimitriou
Sent: Friday, November 04, 2005 5:40 AM
To: m68HC11@m68H...
Subject: Re: [m68HC11] Can't get Buffalo to run ----- Original Message -----
From: "Art Burke" <mathtutoring@math...>
To: <m68HC11@m68H... > I'm using Tx, Rx, and Ground on the DB9 serial cable.

> What am I doing wrong? Several years ago I think that I went through
> this same thing, but can't remember if I added a wire or ??
>
> Not sure.

Hmm, could it be that you needed to tie DB9 pins 1,4,6, and 8 together
(you know to fake RTS/CTS, etc.).

> Art

tonyp@tony... Yahoo! Groups Links





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Got the 68hc11A1 to run - Art Burke - Nov 4 9:52:00 2005

Well, got it to run. I think that I had a bad RS232 cable.
I'd like to have the talker reassembled so it will run on boot-up.

I guess I need to have the chip run in the expanded mode?
Also, does anyone know of any asm files for talkers for the A1FN that I can

Change the addresses of so I can run it in the EEPROM? What is the address
of the EPROM (EEPROM?)?
Thanks for all the help.
Art
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run - Huey Fen - Nov 4 11:02:00 2005

> What is the address of the EPROM (EEPROM?)?

A1FN only consists of EEPROM, which is located at $B600-$B7FF (512bytes)

---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Got the 68hc11A1 to run - Art Burke - Nov 4 11:22:00 2005

Isn't the first 255 bytes $0000 to $00FF ram space?

Isn't Buffalo located in the chip?
Thanks for the address of the EEPROM,
Art
_____

From: m68HC11@m68H... [mailto:m68HC11@m68H...] On Behalf Of
Huey Fen
Sent: Friday, November 04, 2005 10:03 AM
To: m68HC11@m68H...
Subject: Re: [m68HC11] Got the 68hc11A1 to run
> What is the address of the EPROM (EEPROM?)?

A1FN only consists of EEPROM, which is located at $B600-$B7FF (512bytes)

---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]

SPONSORED LINKS Freescale
<http://groups.yahoo.com/gads?t=ms&k=Freescale+semiconductor+inc&w1=Freescal
e+semiconductor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&c=3&s=81&.si
g=RqO56PcR1oI8JNE12-IAGw> semiconductor inc

Microcontrollers
<http://groups.yahoo.com/gads?t=ms&k=Microcontrollers&w1=Freescale+semicondu
ctor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&c=3&s=81&.sig=dRA29rsWk
UumfRsxo6-RZA>

Pic
<http://groups.yahoo.com/gads?t=ms&k=Pic+microcontrollers&w1=Freescale+semic
onductor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&c=3&s=81&.sig=78OIQ
UqQxgw2ZVOBhmKOGw> microcontrollers
_____

> Terms of Service.
_____
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Got the 68hc11A1 to run-sometimes works, sometimes doesn't - Art Burke - Nov 4 12:17:00 2005

I got my 68HC11A1FN to work, sometimes :-(

It seems that I can get it to work, maybe 50% of the time.
Using the exact same program, PCBUG11, and a program named “Moslo” (to slow
the PC down),

I can get the talker to come up about ˝ the time.
The other half I get communication timeouts, memory read fail errors, and
such.
What would cause this? I can’t find any loose wires.
Thanks,
Art

PS…Can I get JBUG11 to work with this? If so, how would I get the right
talker downloaded to the processor, and what commands would I use?
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run - Robert Smith - Nov 4 12:26:00 2005

Hi Art --

I was thinking about you this A.M. when I realized I hadn't heard from you for a while.
----- Original Message -----
From: Art Burke
To: m68HC11@m68H...
Sent: Friday, November 04, 2005 8:52 AM
Subject: [m68HC11] Got the 68hc11A1 to run Well, got it to run. I think that I had a bad RS232 cable.

> Well, shit happens to all of us!!!!!!!!!!!!!!! I'd like to have the talker reassembled so it will run on boot-up.

I guess I need to have the chip run in the expanded mode?

Look at John Beaty's manual for the JBug11. I think he permits reassembly of the talker and burning it into eeprom. Also, does anyone know of any asm files for talkers for the A1FN that I can

Change the addresses of so I can run it in the EEPROM? What is the address
of the EPROM (EEPROM?)?

> You need to get yourself into the E family of parts to get EPROM (E9=12K EPROM or E20= 20K). The A family parts are obsolete as are the E2 parts.
Bob Smith
Thanks for all the help.
Art
[Non-text portions of this message have been removed]

------------------------------------------------------------------------------
YAHOO! GROUPS LINKS

a.. ------------------------------------------------------------------------------
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run-sometimes works, sometimes doesn't - Robert Smith - Nov 4 12:30:00 2005


----- Original Message -----
From: Art Burke
To: m68HC11@m68H...
Sent: Friday, November 04, 2005 11:17 AM
Subject: RE: [m68HC11] Got the 68hc11A1 to run-sometimes works, sometimes doesn't I got my 68HC11A1FN to work, sometimes :-(

It seems that I can get it to work, maybe 50% of the time.
Using the exact same program, PCBUG11, and a program named "Moslo" (to slow
the PC down),

I can get the talker to come up about ˝ the time.

Forget PCBUG11!!!!!!!!!!!! The other half I get communication timeouts, memory read fail errors, and
such.
What would cause this? I can't find any loose wires.
Thanks,
Art

PS.Can I get JBUG11 to work with this? If so, how would I get the right
talker downloaded to the processor, and what commands would I use?

I should work fine. See John's documentation for proper installation under Windows and selection of the right talker.
Bob Smith
[Non-text portions of this message have been removed]

------------------------------------------------------------------------------
YAHOO! GROUPS LINKS

a.. ------------------------------------------------------------------------------
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Got the 68hc11A1 to run - Huey Fen - Nov 4 12:39:00 2005


>Isn't the first 255 bytes $0000 to $00FF ram space?
There are in total 256 bytes of internal RAM.

>Isn't Buffalo located in the chip?
A1 family does not provide internal Buffalo ROM. You need to download the Buffalo into external memory.

>How would I get the right talker downloaded to the processor, and what commands would I use?
The talker file can be obtained from the JBug11 sub-folder. You need to select the correct talker file. For A1 family, if i am not mistaken, the RAM talker should be Jbug_Talk_A.Boo or Jbug_Talk_A.XOO depending on your hardware configuration. Once you select the correct talker, the JBug11 will automatically download the RAM talker into the internal RAM when your MCU is powered up.
You may need to read the JBug11 manual for details. I obtained the manual from this website:
http://freespace.virgin.net/john.beatty/Jbug11_main.html

I am new in this field as well. Currently doing my final year project using A1 family. Hopefully these information would help. =) ---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run-sometimes works, sometimes doesn't - Mike McCarty - Nov 4 12:49:00 2005

Robert Smith wrote:
> ----- Original Message -----
> From: Art Burke
> To: m68HC11@m68H...
> Sent: Friday, November 04, 2005 11:17 AM
> Subject: RE: [m68HC11] Got the 68hc11A1 to run-sometimes works, sometimes doesn't > I got my 68HC11A1FN to work, sometimes :-(
>
> It seems that I can get it to work, maybe 50% of the time.
>
> Using the exact same program, PCBUG11, and a program named "Moslo" (to slow
> the PC down),

MOSLO does not "slow the PC down". It uses interrupt handlers to
eat cycles. This only sort of works.

> I can get the talker to come up about ˝ the time.
>
> Forget PCBUG11!!!!!!!!!!!!

There is a version which has been patched to work with faster
processors. I have found that it only somewhat works. But I
found this website http://www.brain.uni-freiburg.de/~klaus/pascal/runerr200/
which has a patcher which *does* work.

> The other half I get communication timeouts, memory read fail errors, and
> such.
> What would cause this? I can't find any loose wires.

Interactions with MOSLOW, possibly. Flakey cable.

> Thanks,
>
> Art
>
> PS.Can I get JBUG11 to work with this? If so, how would I get the right
> talker downloaded to the processor, and what commands would I use?
>
> I should work fine. See John's documentation for proper installation under Windows and selection of the right talker.
> Bob Smith

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run - Mike McCarty - Nov 4 12:51:00 2005

Huey Fen wrote:
>>Isn't the first 255 bytes $0000 to $00FF ram space?
>
> There are in total 256 bytes of internal RAM. >>Isn't Buffalo located in the chip?
>
> A1 family does not provide internal Buffalo ROM. You need to download the Buffalo into external memory.

[snip]

This is incorrect. I have a few tens of A series chips with
BUFFALO in ROM.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run-sometimes works, sometimes doesn't - BobG...@... - Nov 4 13:27:00 2005

Hey Art... can you get some other simple little program like an led flasher
to assemble, burn and run reliably without messing with the talker? This
eliminates or verifies the pcbug and talker as the problem [Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run - Huey Fen - Nov 4 22:30:00 2005

> This is incorrect. I have a few tens of A series chips with
BUFFALO in ROM.

Really? But I am talking on A1 family. Isn't it that the internal ROM for A1 family has been disable? If I enable the ROM through CONFIG register, will I get the internal ROM enable with Buffalo inside? I think only A8 consists of 8K ROM.
As mentioned previously, I am new in this field. Any correction is most welcome as this will increase my understanding. Thanks a lot.

---------------------------------
Yahoo! FareChase - Search multiple travel sites in one click.

[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run - Mark Schultz - Nov 6 11:39:00 2005

--- In m68HC11@m68H..., Mike McCarty <Mike.McCarty@s...> wrote:

> > A1 family does not provide internal Buffalo ROM. You need to
download the Buffalo into external memory.
>
> [snip]
>
> This is incorrect. I have a few tens of A series chips with
> BUFFALO in ROM.

My recollection is that HC11's that have BUFFALO stored on on-chip ROM
are marked as such on the device. The word "BUFFALO" should be
present on the device, somewhere below the device part number.

Sorry I can't confirm this absolutely, I don't have any of my HC11
boards handy :(




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Got the 68hc11A1 to run - Mike McCarty - Nov 7 16:52:00 2005

Huey Fen wrote:
>>This is incorrect. I have a few tens of A series chips with
>
> BUFFALO in ROM.
>
> Really? But I am talking on A1 family. Isn't it that the internal ROM for A1 family has been disable? If I enable the ROM through CONFIG register, will I get the internal ROM enable with Buffalo inside? I think only A8 consists of 8K ROM.
> As mentioned previously, I am new in this field. Any correction is most welcome as this will increase my understanding. Thanks a lot.

All A chips are built on the same die. It works like this...

A0 the EEPROM is likely defective. If you enable it, it
will be there, but Motorola does not guarantee that it
works. It may be perfectly usable in hobby applications,
however, just not working at elevated temps. or whatever.
Or it may have been in a batch which really truly didn't
work properly, and has cells which won't program or which
won't retain programming.

A1 the EEPROM is ok, but the ROM is defective in some way.
If you enable it, it will work, but either
(1) the mask was defective, and there is a
useless program in it
(2) the mask was superceded, and the OEM
allowed Motorola to sell off surplus
chips
(3) the ROM may contain BUFFALO.

Several of my A1 chips fall into category 3.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Hooking up LED segments to a Microcore-11 board - Art Burke - Nov 9 12:09:00 2005

Hi to all:
I just purchased a MicroCore-11 board, and am wondering if I can do the
following:
I have PA0 ->PA7, PE0->PE7, PD2->PD5 available.
Should I transfer the data to the LED segments via a parallel bus or in a
serial fashion?
Thanks for the help,
Art
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Hooking up LED segments to a Microcore-11 board - Mike McCarty - Nov 9 14:15:00 2005

Art Burke wrote:
> Hi to all:
> I just purchased a MicroCore-11 board, and am wondering if I can do the
> following:
>
> I have PA0 ->PA7, PE0->PE7, PD2->PD5 available.
>
> Should I transfer the data to the LED segments via a parallel bus or in a
> serial fashion?

Sorry, not enough information.
Do you have a 7 segment digital display?
If so, how many digits? Do you plan to multiplex?
What performance requirements do you have? (visual persistence?)
By "serial fashion" do you mean SPI? SCI?
Do you have any power requirements? IOW, do you need to control
brightness by using a duty cycle? (Also relates to visual persistence.)

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Hooking up LED segments to a Microcore-11 board - Art Burke - Nov 9 15:16:00 2005

Hey Mike:
Yes, I have 7 segment digital LED displays.

I used to use data latches and (I think) 7442 TTL driver chips.
I'm wondering if I should send the data in serial to a chip and use that to
drive the LED segments.

The only reason that I say this is that the board that I have does not
provide many outputs and inputs.

I'd like to be able to drive 6 segments.Two for the hex data and four for
the hex address. Thanks,
Art
Offering Mathematics tutoring from Arithmetic through Calculus, including
the New SAT Math.
home.comcast/~mathtutoring/index.html
<http://home.comcast.net/%7Emathtutoring/index.html>

_____

From: m68HC11@m68H... [mailto:m68HC11@m68H...] On Behalf Of
Mike McCarty
Sent: Wednesday, November 09, 2005 1:16 PM
To: m68HC11@m68H...
Subject: Re: [m68HC11] Hooking up LED segments to a Microcore-11 board
Art Burke wrote:
> Hi to all:
> I just purchased a MicroCore-11 board, and am wondering if I can do the
> following:
>
> I have PA0 ->PA7, PE0->PE7, PD2->PD5 available.
>
> Should I transfer the data to the LED segments via a parallel bus or in a
> serial fashion?

Sorry, not enough information.
Do you have a 7 segment digital display?
If so, how many digits? Do you plan to multiplex?
What performance requirements do you have? (visual persistence?)
By "serial fashion" do you mean SPI? SCI?
Do you have any power requirements? IOW, do you need to control
brightness by using a duty cycle? (Also relates to visual persistence.)

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!
_____

> Terms of Service.
_____
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Hooking up LED segments to a Microcore-11 board - Mike McCarty - Nov 9 16:06:00 2005

Art Burke wrote:
> Hey Mike: I prefer you not top-post.

> Yes, I have 7 segment digital LED displays.
>
> I used to use data latches and (I think) 7442 TTL driver chips.

I recall using the 7447 in that application.

> I'm wondering if I should send the data in serial to a chip and use that to
> drive the LED segments.

> The only reason that I say this is that the board that I have does not
> provide many outputs and inputs.
>
> I'd like to be able to drive 6 segments.Two for the hex data and four for
> the hex address. I guess you are building some sort of front panel, similar to
the old KIM had.

Well, lessee...

You say you have PORTA, PORTE, and PORTD available. So I suppose
you are working in expanded multiplex mode.

One possibility is to use parallel output using memory mapped I/O.
You could use 6 seven bit latches and use address decode + R/W
to generate strobes, and be done.

If you want to use I/O ports, then you have these bits available:

PORTA 4 output bits (no use of ICx)
PORTD 6 output bits (no use of SCI or SPI)

That's 10 bits.
If you use the SPI to interface, then you can shift the bits
you want. If you're concerned with flickering, then you can
have another output pin force a load to the actual display
register.

You need to control 7 segments with 6 displays. So you definitely
want to multiplex. With 6 displays, you need either 6 output bits
(too many) or you need a decoder and 3 bits. That selects the
digit to enable. I'd use a 74HC138 and common anode displays.

Now, about the segments, they are 7 and that's that. So you need
10 output bits if you use a parallel I/F to the uC.

So, either parallel I/O connected to address decode and some latches
will work (need 6 seven bit latches), or
parallel I/O using all possible output bits will work (need digit
decoder), or
the SPI will work (several possible configurations).

Take your pick.

You didn't specify whether you needed duty cycle control
either for brightness control or power consumption control,
so I left them out of consideration.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Hooking up LED segments to a Microcore-11 board - Art Burke - Nov 9 17:03:00 2005


Thanks Mike:
Don't know what "top posting is though".
Art

_____

From: m68HC11@m68H... [mailto:m68HC11@m68H...] On Behalf Of
Mike McCarty
Sent: Wednesday, November 09, 2005 3:07 PM
To: m68HC11@m68H...
Subject: Re: [m68HC11] Hooking up LED segments to a Microcore-11 board
Art Burke wrote:
> Hey Mike: I prefer you not top-post.

> Yes, I have 7 segment digital LED displays.
>
> I used to use data latches and (I think) 7442 TTL driver chips.

I recall using the 7447 in that application.

> I'm wondering if I should send the data in serial to a chip and use that
to
> drive the LED segments.

> The only reason that I say this is that the board that I have does not
> provide many outputs and inputs.
>
> I'd like to be able to drive 6 segments.Two for the hex data and four for
> the hex address. I guess you are building some sort of front panel, similar to
the old KIM had.

Well, lessee...

You say you have PORTA, PORTE, and PORTD available. So I suppose
you are working in expanded multiplex mode.

One possibility is to use parallel output using memory mapped I/O.
You could use 6 seven bit latches and use address decode + R/W
to generate strobes, and be done.

If you want to use I/O ports, then you have these bits available:

PORTA 4 output bits (no use of ICx)
PORTD 6 output bits (no use of SCI or SPI)

That's 10 bits.
If you use the SPI to interface, then you can shift the bits
you want. If you're concerned with flickering, then you can
have another output pin force a load to the actual display
register.

You need to control 7 segments with 6 displays. So you definitely
want to multiplex. With 6 displays, you need either 6 output bits
(too many) or you need a decoder and 3 bits. That selects the
digit to enable. I'd use a 74HC138 and common anode displays.

Now, about the segments, they are 7 and that's that. So you need
10 output bits if you use a parallel I/F to the uC.

So, either parallel I/O connected to address decode and some latches
will work (need 6 seven bit latches), or
parallel I/O using all possible output bits will work (need digit
decoder), or
the SPI will work (several possible configurations).

Take your pick.

You didn't specify whether you needed duty cycle control
either for brightness control or power consumption control,
so I left them out of consideration.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!
SPONSORED LINKS Freescale
<http://groups.yahoo.com/gads?t=ms&k=Freescale+semiconductor+inc&w1=Freescal
e+semiconductor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+micr
oprocessor&c=4&s=106&.sig=K2HGv-zFlv5OYUv_QxIq_Q> semiconductor inc

Microcontrollers
<http://groups.yahoo.com/gads?t=ms&k=Microcontrollers&w1=Freescale+semicondu
ctor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&
c=4&s=106&.sig=SYHwNJjjGQXRvtt_GybT4g>

Pic
<http://groups.yahoo.com/gads?t=ms&k=Pic+microcontrollers&w1=Freescale+semic
onductor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microproces
sor&c=4&s=106&.sig=umVbbnUwsPzEzKKD_pQfUw> microcontrollers 8051
<http://groups.yahoo.com/gads?t=ms&k=8051+microprocessor&w1=Freescale+semico
nductor+inc&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocess
or&c=4&s=106&.sig=NO-nSKjHoAlh9XtZ8LB1_A> microprocessor

_____

> Terms of Service.
_____
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Hooking up LED segments to a Microcore-11 board - Mike McCarty - Nov 9 17:52:00 2005

Art Burke wrote:
> Thanks Mike:

You are welcome.

> Don't know what "top posting is though".
> Art

Top-posting is putting your response above the quoted
material.

Bottom-posting is putting your response below all
quoted material.

Occasionally, top-posting is reasonable, but usually
it makes things hard to read and understand.

Occasionally, and more often, bottom-posting is reasonable,
but it often also makes things hard to read.

Interspersing responses with the material they are associated
with is usually the best way. This makes things read like
a normal conversation.

Definitely snipping unimportant material is a definite plus.

[snip]

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

RE: Hooking up LED segments to a Microcore-11 board - Art Burke - Nov 9 18:35:00 2005

"Snip"
Thanks Mike,
Art
[Non-text portions of this message have been removed]




(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )

Re: Hooking up LED segments to a Microcore-11 board - Mark Schultz - Nov 10 21:19:00 2005

--- In m68HC11@m68H..., "Art Burke" <mathtutoring@c...> wrote:

> I just purchased a MicroCore-11 board, and am wondering if I can do
> the following:
>
> I have PA0 ->PA7, PE0->PE7, PD2->PD5 available.
>
> Should I transfer the data to the LED segments via a parallel bus
> or in a serial fashion?

Based on what you say here and what I've read of your later responses,
I can give you a few "high level" ideas - if any of these appeal to
you, I'd be happy to explain them in further detail.

1. Maxim (http://www.maxim-ic.com) makes a number of very useful,
highly-functional LED display driver devices. Most of the devices I
have in mind are designed to be interfaced with a SPI bus. As you
have ports PD2-PD6 available (the HC11's SPI bus), using an
appropriate Maxim device would do the job with a minimum component
count. I do not recall offhand any specific part numbers, but if this
approach interests you, I can help you with device selection.

2. Non-multiplexed display drive using memory-mapped latches: With a
bit of 74HC-style logic you can memory-map a number of 74HC374 8-bit
latches - one for each display element. You'll also need a sink
driver (such as the ULN2803) for each (common-anode) display element,
as well as 8 current-limiting resistors for each display element.
This approach is very hardware-intensive, but has the virtue of being
extremely easy to update and maintain on the software side (just write
segment data to appropriate memory locations).

3. Multiplexed display drive using memory-mapped latches: The device
count can be considerably reduced over that of approach (2) if you
utilize a display multiplexing technique. This approach would require
two 74HC374 8-bit latches, associated memory-mapping hardware (address
decoding), a single 8-bit sink driver (ULN2803) and one low-medium
current PNP transistor (2N3906 should work) for each display element,
as well as 8 current-limiting resistors. One latch would be used to
select the active display element (turning it on via PNP transistor)
and the other latch would be used to drive the display segments (via
ULN2803 sink driver and current-limiting resistors). A multiplexed
display has to be constantly 'refreshed' by selecting a display
element, turning it on for a brief period of time, driving the
segments as desired, then advancing to the next display element,
repeating the same procedure, at a fairly high rate of speed - fast
enough so all display elements are "refreshed" at a rate faster than
human vision persistence (around 1/30th second).

4. Same as (2), but use latched serial shift registers (such as the
74HC594). A bit less hardware than the memory-mapped approach
(although not by much) but requires more MCU I/Os and a somewhat more
difficult software service due to the need to serially shift the data
out to the serial-to-parallel latches.

5. Same as (3) using latched serial shift registers. Lower device
count, and reasonable I/O ussage, but the most complex software
service of the approaches I've discussed.

My personal preference, were I designing the display, would be to use
approach (1) - an intelligent display driver. I just took a quick
look at Maxim's site using the "parametric search" offered there and
found a number of devices that would meet your needs. One intriguing
candidate is the MAX6950/6951, capable of driving 5 (6950) or 8 (6951)
common-anode 7-segment (+d.p.) LED displays using a clever
multiplexing and pin-driving technique that allows up to 8-element
(digit) displays to be driven from a package with only 16 pins. This
device takes care of display multiplexing, hex decoding if desired,
blinking, intensity control, and current limiting (no external
resistors needed). A single device of this type, and a small
collection of external components (3 caps, a resistor, and LED
displays) will do everything you need. This particular device is
serial-driven and (presumably) SPI-compatible, so it can be controlled
by the MCU using the Port D I/Os (PD2-PD6).

If you would like a more detailed discussion of any of the approaches
I've discussed here, let me know.





(You need to be a member of hc11 -- send a blank email to hc11-subscribe@yahoogroups.com )