Hi All,
I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx devices and
I'm looking for a very easy and low cost way for in circuit programming
(ICP, not ISP). What is the cheapest solution for this? I don't want to
buy an MCB900 from Keil.
With thanks and regards,
Mohsen (Australia)
How to ICP?
Started by ●April 11, 2006
Reply by ●April 11, 20062006-04-11
Alle 11:10, marted11 aprile 2006, Mohsen Heidari ha scritto:
> I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx devices
> and I'm looking for a very easy and low cost way for in circuit programming
> (ICP, not ISP). What is the cheapest solution for this? I don't want to
> buy an MCB900 from Keil.
http://www.precma.it/lpcprogrammer.htm
--
Fausto Marzoli - 8052.it - http://www.8052.it/
> I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx devices
> and I'm looking for a very easy and low cost way for in circuit programming
> (ICP, not ISP). What is the cheapest solution for this? I don't want to
> buy an MCB900 from Keil.
http://www.precma.it/lpcprogrammer.htm
--
Fausto Marzoli - 8052.it - http://www.8052.it/
Reply by ●April 11, 20062006-04-11
Mohsen,
FDI Sells a USB-ICP Programmer that should match exactly what you are
needing - please take a look at it on our website.
http://www.teamfdi.com/pages/products_index.html
It's the second product listed, "USB-ISP-LPC9xx", it sells for $69 and is in
stock for immediate shipment.
Regards,
Future Designs, Inc.
_____
From: l... [mailto:l...] On
Behalf Of Mohsen Heidari
Sent: Tuesday, April 11, 2006 4:10 AM
To: l...
Subject: [lpc900_users] How to ICP?
Hi All,
I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx devices
and I'm looking for a very easy and low cost way for in circuit programming
(ICP, not ISP). What is the cheapest solution for this? I don't want to
buy an MCB900 from Keil.
With thanks and regards,
Mohsen (Australia)
SPONSORED LINKS
Microcontrollers
=Microprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&
c=5&s8&.sig=esSfCyNx5hBEox9kfeYVKg> Microprocessor
icroprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&c5&s8&.sig=Zz4T5YFaKfpOX_RFZVkVFA> High
=Microprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&
c=5&s8&.sig=LezhCD9jx35sYj55kdoqwQ> performance
Source
oprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&c=5&s
8&.sig=WLzEsn4DvsbndyKxnoUIfw> code Intel
rs&w2=Microprocessor&w3=High+performance&w4=Source+code&w5=Intel+microproces
sors&c=5&s8&.sig=x1RmB6FvZ9xpvI1SHf61oQ> microprocessors
_____
> .
_____
FDI Sells a USB-ICP Programmer that should match exactly what you are
needing - please take a look at it on our website.
http://www.teamfdi.com/pages/products_index.html
It's the second product listed, "USB-ISP-LPC9xx", it sells for $69 and is in
stock for immediate shipment.
Regards,
Future Designs, Inc.
_____
From: l... [mailto:l...] On
Behalf Of Mohsen Heidari
Sent: Tuesday, April 11, 2006 4:10 AM
To: l...
Subject: [lpc900_users] How to ICP?
Hi All,
I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx devices
and I'm looking for a very easy and low cost way for in circuit programming
(ICP, not ISP). What is the cheapest solution for this? I don't want to
buy an MCB900 from Keil.
With thanks and regards,
Mohsen (Australia)
SPONSORED LINKS
Microcontrollers
=Microprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&
c=5&s8&.sig=esSfCyNx5hBEox9kfeYVKg> Microprocessor
icroprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&c5&s8&.sig=Zz4T5YFaKfpOX_RFZVkVFA> High
=Microprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&
c=5&s8&.sig=LezhCD9jx35sYj55kdoqwQ> performance
Source
oprocessor&w3=High+performance&w4=Source+code&w5=Intel+microprocessors&c=5&s
8&.sig=WLzEsn4DvsbndyKxnoUIfw> code Intel
rs&w2=Microprocessor&w3=High+performance&w4=Source+code&w5=Intel+microproces
sors&c=5&s8&.sig=x1RmB6FvZ9xpvI1SHf61oQ> microprocessors
_____
> .
_____
Reply by ●April 12, 20062006-04-12
Thanks for the replies. Both devices
(http://www.teamfdi.com/pages/products_index.html
and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may order
one, but I was originally thinking of something even simpler!
The PCL and PDA signals required for ICP can be generated easily by the
parallel port of PC. So the hardware will be just a flat cable with an IDC
at one end and a male DB25 with probably one or two transistors at the
another end. I was about to develop one by myself, but thought it must
already be available on the net.
Any ideas?
Mohsen
-----Original Message-----
From: l... [mailto:l...] On
Behalf Of Fausto Marzoli
Sent: Tuesday, 11 April 2006 5:52 PM
To: l...
Subject: Re: [lpc900_users] How to ICP?
Alle 11:10, marted11 aprile 2006, Mohsen Heidari ha scritto:
> I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx
> devices and I'm looking for a very easy and low cost way for in
> circuit programming (ICP, not ISP). What is the cheapest solution for
this? I don't want to
> buy an MCB900 from Keil.
http://www.precma.it/lpcprogrammer.htm
--
Fausto Marzoli - 8052.it - http://www.8052.it/
(http://www.teamfdi.com/pages/products_index.html
and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may order
one, but I was originally thinking of something even simpler!
The PCL and PDA signals required for ICP can be generated easily by the
parallel port of PC. So the hardware will be just a flat cable with an IDC
at one end and a male DB25 with probably one or two transistors at the
another end. I was about to develop one by myself, but thought it must
already be available on the net.
Any ideas?
Mohsen
-----Original Message-----
From: l... [mailto:l...] On
Behalf Of Fausto Marzoli
Sent: Tuesday, 11 April 2006 5:52 PM
To: l...
Subject: Re: [lpc900_users] How to ICP?
Alle 11:10, marted11 aprile 2006, Mohsen Heidari ha scritto:
> I am considering switching from Atmel AT89Cxx to Philips P89LPC9xx
> devices and I'm looking for a very easy and low cost way for in
> circuit programming (ICP, not ISP). What is the cheapest solution for
this? I don't want to
> buy an MCB900 from Keil.
http://www.precma.it/lpcprogrammer.htm
--
Fausto Marzoli - 8052.it - http://www.8052.it/
Reply by ●April 12, 20062006-04-12
Mohsen Heidari wrote:
> Thanks for the replies. Both devices
> (http://www.teamfdi.com/pages/products_index.html
> and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may order
> one, but I was originally thinking of something even simpler!
>
> The PCL and PDA signals required for ICP can be generated easily by the
> parallel port of PC. So the hardware will be just a flat cable with an IDC
> at one end and a male DB25 with probably one or two transistors at the
> another end. I was about to develop one by myself, but thought it must
> already be available on the net.
>
> Any ideas?
>
> Mohsen
While it sounds reasonably, it might fail because of the tight timing
requirement of reset line "pulsing", especially in multitasking
environments.
And, of course, the well known troubles associated with similar
constructions apply, proper signal conditioning and termination,
crosstalks...
Jan Waclawek
> Thanks for the replies. Both devices
> (http://www.teamfdi.com/pages/products_index.html
> and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may order
> one, but I was originally thinking of something even simpler!
>
> The PCL and PDA signals required for ICP can be generated easily by the
> parallel port of PC. So the hardware will be just a flat cable with an IDC
> at one end and a male DB25 with probably one or two transistors at the
> another end. I was about to develop one by myself, but thought it must
> already be available on the net.
>
> Any ideas?
>
> Mohsen
While it sounds reasonably, it might fail because of the tight timing
requirement of reset line "pulsing", especially in multitasking
environments.
And, of course, the well known troubles associated with similar
constructions apply, proper signal conditioning and termination,
crosstalks...
Jan Waclawek
Reply by ●April 12, 20062006-04-12
You are right Jan. As a matter of fact, I haven't studied detailed
specifications of ICP yet. But I've used that sort of simple programmers for
the Atmel ATMEGA series in the past and I found them very reliable; hence I
guessed a similar solution might be available for the Philips P89LPC9x
series too.
Mohsen
-----Original Message-----
From: l... [mailto:l...] On
Behalf Of Jan Waclawek
Sent: Wednesday, 12 April 2006 2:40 PM
To: l...
Subject: Re: [lpc900_users] How to ICP?
Mohsen Heidari wrote:
> Thanks for the replies. Both devices
> (http://www.teamfdi.com/pages/products_index.html
> and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may
> order one, but I was originally thinking of something even simpler!
>
> The PCL and PDA signals required for ICP can be generated easily by
> the parallel port of PC. So the hardware will be just a flat cable
> with an IDC at one end and a male DB25 with probably one or two
> transistors at the another end. I was about to develop one by myself,
> but thought it must already be available on the net.
>
> Any ideas?
>
> Mohsen
While it sounds reasonably, it might fail because of the tight timing
requirement of reset line "pulsing", especially in multitasking
environments.
And, of course, the well known troubles associated with similar
constructions apply, proper signal conditioning and termination,
crosstalks...
Jan Waclawek
specifications of ICP yet. But I've used that sort of simple programmers for
the Atmel ATMEGA series in the past and I found them very reliable; hence I
guessed a similar solution might be available for the Philips P89LPC9x
series too.
Mohsen
-----Original Message-----
From: l... [mailto:l...] On
Behalf Of Jan Waclawek
Sent: Wednesday, 12 April 2006 2:40 PM
To: l...
Subject: Re: [lpc900_users] How to ICP?
Mohsen Heidari wrote:
> Thanks for the replies. Both devices
> (http://www.teamfdi.com/pages/products_index.html
> and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may
> order one, but I was originally thinking of something even simpler!
>
> The PCL and PDA signals required for ICP can be generated easily by
> the parallel port of PC. So the hardware will be just a flat cable
> with an IDC at one end and a male DB25 with probably one or two
> transistors at the another end. I was about to develop one by myself,
> but thought it must already be available on the net.
>
> Any ideas?
>
> Mohsen
While it sounds reasonably, it might fail because of the tight timing
requirement of reset line "pulsing", especially in multitasking
environments.
And, of course, the well known troubles associated with similar
constructions apply, proper signal conditioning and termination,
crosstalks...
Jan Waclawek
Reply by ●April 12, 20062006-04-12
I can tell you first hand - the timing for the reset pulses is critical,
which bit-banged parallel port is not known for...especially going through
the drivers required for low-level hardware access in NT/XP. We have
parallel port devices and we're phasing them out due to the "sloppy" nature
and driver issues.
Remember, to ICP program LPC9xx devices, you MUST control the power and
reset of the target device under software control to be able to "match" the
timing requirements.
Also, you would have to write 100% of the software since FlashMagic is
serial port-based and would not work with a parallel port programmer.
Philips supports FlashMagic, so it's always going to stay up to date with
the newest device support and continue to grow.
Regards,
Future Designs, Inc.
_____
From: l... [mailto:l...] On
Behalf Of Mohsen Heidari
Sent: Wednesday, April 12, 2006 2:42 AM
To: l...
Subject: RE: [lpc900_users] How to ICP?
You are right Jan. As a matter of fact, I haven't studied detailed
specifications of ICP yet. But I've used that sort of simple programmers for
the Atmel ATMEGA series in the past and I found them very reliable; hence I
guessed a similar solution might be available for the Philips P89LPC9x
series too.
Mohsen
-----Original Message-----
From: l... [mailto:l...] On
Behalf Of Jan Waclawek
Sent: Wednesday, 12 April 2006 2:40 PM
To: l...
Subject: Re: [lpc900_users] How to ICP?
Mohsen Heidari wrote:
> Thanks for the replies. Both devices
> (http://www.teamfdi.com/pages/products_index.html
> and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may
> order one, but I was originally thinking of something even simpler!
>
> The PCL and PDA signals required for ICP can be generated easily by
> the parallel port of PC. So the hardware will be just a flat cable
> with an IDC at one end and a male DB25 with probably one or two
> transistors at the another end. I was about to develop one by myself,
> but thought it must already be available on the net.
>
> Any ideas?
>
> Mohsen
While it sounds reasonably, it might fail because of the tight timing
requirement of reset line "pulsing", especially in multitasking
environments.
And, of course, the well known troubles associated with similar
constructions apply, proper signal conditioning and termination,
crosstalks...
Jan Waclawek
> .
_____
which bit-banged parallel port is not known for...especially going through
the drivers required for low-level hardware access in NT/XP. We have
parallel port devices and we're phasing them out due to the "sloppy" nature
and driver issues.
Remember, to ICP program LPC9xx devices, you MUST control the power and
reset of the target device under software control to be able to "match" the
timing requirements.
Also, you would have to write 100% of the software since FlashMagic is
serial port-based and would not work with a parallel port programmer.
Philips supports FlashMagic, so it's always going to stay up to date with
the newest device support and continue to grow.
Regards,
Future Designs, Inc.
_____
From: l... [mailto:l...] On
Behalf Of Mohsen Heidari
Sent: Wednesday, April 12, 2006 2:42 AM
To: l...
Subject: RE: [lpc900_users] How to ICP?
You are right Jan. As a matter of fact, I haven't studied detailed
specifications of ICP yet. But I've used that sort of simple programmers for
the Atmel ATMEGA series in the past and I found them very reliable; hence I
guessed a similar solution might be available for the Philips P89LPC9x
series too.
Mohsen
-----Original Message-----
From: l... [mailto:l...] On
Behalf Of Jan Waclawek
Sent: Wednesday, 12 April 2006 2:40 PM
To: l...
Subject: Re: [lpc900_users] How to ICP?
Mohsen Heidari wrote:
> Thanks for the replies. Both devices
> (http://www.teamfdi.com/pages/products_index.html
> and http://www.precma.it/lpcprogrammer.htm) seem reasonable and I may
> order one, but I was originally thinking of something even simpler!
>
> The PCL and PDA signals required for ICP can be generated easily by
> the parallel port of PC. So the hardware will be just a flat cable
> with an IDC at one end and a male DB25 with probably one or two
> transistors at the another end. I was about to develop one by myself,
> but thought it must already be available on the net.
>
> Any ideas?
>
> Mohsen
While it sounds reasonably, it might fail because of the tight timing
requirement of reset line "pulsing", especially in multitasking
environments.
And, of course, the well known troubles associated with similar
constructions apply, proper signal conditioning and termination,
crosstalks...
Jan Waclawek
> .
_____
Reply by ●April 13, 20062006-04-13
All,
At the risk of upsetting people who may or may not know better. I
would suggest that instead of ICP you use the ISP protocol. It is
serial based and all you need is a RS-232 level shifter to program the
chip if set up correctly. I have written such code for both windows
and linux and everybody said that you wont be able to garantee the
timming of the reset pulses if a task switch occures and it might
fail and the world will generally be a bad palce to be after this code
is written. Well I have done it and in the 3 boards I have designed
that use this code to program them with no problems. Well it works
fine for me as long as you don't use a USB serial port. Yes there are
better ways to do this I agree but this is the way I implemented it
and it works fine for me. I have even put it up on sourceforge under
http://sourceforge.net/projects/lpc935-prog at the very least it will
show you how to do very fast and precise loops from both windows and
linux for you own code. I will say that this code is very simple but
it works fine for me. I have a very simple MAX3232 and
two transistors doing the level shifting, I use DTR to power the chip
on and off and RTS to toggle the reset line look at the function
lpc_PlaceInBootLoaderMode in my code on sourceforge if you want to see
how I have did it.
PC's today are more than fast enough to do what you want to do even
under windows you just have to be prepared to try a second time. I
would say if you are really keen to do an ICP from the parallel port
then give it a go the only thing you have to loose is time and if you
have plenty of that then the issues you are going to have to over-come
are not all that differcult.
Low level hardware access on even a windows PC is not that hard look
up a device driver called directio for a simple one there are lots of
them out there and they all use the same basic mechanism.
Anyway good luck while I have not done this I have bit bashed I2C on
parrallel ports before. In-fact how I have read the specification a
little it looks very simple. This looks like a good easter project
feel free to use the code I wrote for my own ISP programer you could
just add the extra loops necessary for ICP mode and you are 25%
of the way there I placed my code under LGPL for this reason.
Hope this helps regards,
Rod Boyce.
PS if you get stuck leave me a message on this group and I'll make
contact off line for more assistance.
--- In l..., "Mark Hall" wrote:
>
> I can tell you first hand - the timing for the reset pulses is critical,
> which bit-banged parallel port is not known for...especially going
through
> the drivers required for low-level hardware access in NT/XP. We have
> parallel port devices and we're phasing them out due to the "sloppy"
nature
> and driver issues.
>
> Remember, to ICP program LPC9xx devices, you MUST control the power and
> reset of the target device under software control to be able to
"match" the
> timing requirements.
>
> Also, you would have to write 100% of the software since FlashMagic is
> serial port-based and would not work with a parallel port programmer.
>
> Philips supports FlashMagic, so it's always going to stay up to date
with
> the newest device support and continue to grow.
>
> Regards,
> Future Designs, Inc.
>
>
> _____
>
> From: l...
[mailto:l...] On
> Behalf Of Mohsen Heidari
> Sent: Wednesday, April 12, 2006 2:42 AM
> To: l...
> Subject: RE: [lpc900_users] How to ICP?
> You are right Jan. As a matter of fact, I haven't studied detailed
> specifications of ICP yet. But I've used that sort of simple
programmers for
> the Atmel ATMEGA series in the past and I found them very reliable;
hence I
> guessed a similar solution might be available for the Philips P89LPC9x
> series too.
>
> Mohsen
At the risk of upsetting people who may or may not know better. I
would suggest that instead of ICP you use the ISP protocol. It is
serial based and all you need is a RS-232 level shifter to program the
chip if set up correctly. I have written such code for both windows
and linux and everybody said that you wont be able to garantee the
timming of the reset pulses if a task switch occures and it might
fail and the world will generally be a bad palce to be after this code
is written. Well I have done it and in the 3 boards I have designed
that use this code to program them with no problems. Well it works
fine for me as long as you don't use a USB serial port. Yes there are
better ways to do this I agree but this is the way I implemented it
and it works fine for me. I have even put it up on sourceforge under
http://sourceforge.net/projects/lpc935-prog at the very least it will
show you how to do very fast and precise loops from both windows and
linux for you own code. I will say that this code is very simple but
it works fine for me. I have a very simple MAX3232 and
two transistors doing the level shifting, I use DTR to power the chip
on and off and RTS to toggle the reset line look at the function
lpc_PlaceInBootLoaderMode in my code on sourceforge if you want to see
how I have did it.
PC's today are more than fast enough to do what you want to do even
under windows you just have to be prepared to try a second time. I
would say if you are really keen to do an ICP from the parallel port
then give it a go the only thing you have to loose is time and if you
have plenty of that then the issues you are going to have to over-come
are not all that differcult.
Low level hardware access on even a windows PC is not that hard look
up a device driver called directio for a simple one there are lots of
them out there and they all use the same basic mechanism.
Anyway good luck while I have not done this I have bit bashed I2C on
parrallel ports before. In-fact how I have read the specification a
little it looks very simple. This looks like a good easter project
feel free to use the code I wrote for my own ISP programer you could
just add the extra loops necessary for ICP mode and you are 25%
of the way there I placed my code under LGPL for this reason.
Hope this helps regards,
Rod Boyce.
PS if you get stuck leave me a message on this group and I'll make
contact off line for more assistance.
--- In l..., "Mark Hall" wrote:
>
> I can tell you first hand - the timing for the reset pulses is critical,
> which bit-banged parallel port is not known for...especially going
through
> the drivers required for low-level hardware access in NT/XP. We have
> parallel port devices and we're phasing them out due to the "sloppy"
nature
> and driver issues.
>
> Remember, to ICP program LPC9xx devices, you MUST control the power and
> reset of the target device under software control to be able to
"match" the
> timing requirements.
>
> Also, you would have to write 100% of the software since FlashMagic is
> serial port-based and would not work with a parallel port programmer.
>
> Philips supports FlashMagic, so it's always going to stay up to date
with
> the newest device support and continue to grow.
>
> Regards,
> Future Designs, Inc.
>
>
> _____
>
> From: l...
[mailto:l...] On
> Behalf Of Mohsen Heidari
> Sent: Wednesday, April 12, 2006 2:42 AM
> To: l...
> Subject: RE: [lpc900_users] How to ICP?
> You are right Jan. As a matter of fact, I haven't studied detailed
> specifications of ICP yet. But I've used that sort of simple
programmers for
> the Atmel ATMEGA series in the past and I found them very reliable;
hence I
> guessed a similar solution might be available for the Philips P89LPC9x
> series too.
>
> Mohsen
Reply by ●April 13, 20062006-04-13
rodboyce70 wrote:
> PC's today are more than fast enough to do what you want to do even
> under windows you just have to be prepared to try a second time.
Congratulations!
Without attempting to understand your code, does this mean that you
measure the length of pulses you are creating, so you know it went wrong
and an another process kicked in meantime?
Thanks,
Jan Waclawek
> PC's today are more than fast enough to do what you want to do even
> under windows you just have to be prepared to try a second time.
Congratulations!
Without attempting to understand your code, does this mean that you
measure the length of pulses you are creating, so you know it went wrong
and an another process kicked in meantime?
Thanks,
Jan Waclawek
Reply by ●April 13, 20062006-04-13
Rod,
I couldn't find the files at the link you said, but if Jan's guess is
right, it sounds a very creative and interesting solution to me too.
I still haven't received my Philips chips, and besides that I've got a
list of nearly 6473765.563 jobs to do for the easter, otherwise I
would surly give it a try!
Cheers, and thanks
Mohsen
--- In l..., Jan Waclawek wrote:
>
> rodboyce70 wrote:
> > PC's today are more than fast enough to do what you want to do even
> > under windows you just have to be prepared to try a second time.
>
> Congratulations!
>
> Without attempting to understand your code, does this mean that you
> measure the length of pulses you are creating, so you know it went
wrong
> and an another process kicked in meantime?
>
> Thanks,
>
> Jan Waclawek
>
I couldn't find the files at the link you said, but if Jan's guess is
right, it sounds a very creative and interesting solution to me too.
I still haven't received my Philips chips, and besides that I've got a
list of nearly 6473765.563 jobs to do for the easter, otherwise I
would surly give it a try!
Cheers, and thanks
Mohsen
--- In l..., Jan Waclawek wrote:
>
> rodboyce70 wrote:
> > PC's today are more than fast enough to do what you want to do even
> > under windows you just have to be prepared to try a second time.
>
> Congratulations!
>
> Without attempting to understand your code, does this mean that you
> measure the length of pulses you are creating, so you know it went
wrong
> and an another process kicked in meantime?
>
> Thanks,
>
> Jan Waclawek
>