| Author |
Message |
KoRGeNeRaL
Joined: 08 Mar 2006 Posts: 63 Helped: 5 Location: Turkey
|
06 Dec 2007 22:54 32bit uC Board Suggestion |
|
|
|
Hi all,
I want to move from 8 bit uC's to 32bit ones and therefore looking for a evaluation/development board whose price is <250$. Can anyone suggest a uC family & board that is suitable for this purpose? The board doesn't need to contain ethernet or audio i/o since i will be using it mainly for power electronics applications.
I looked at a lot of web sites including the ones of Keil, IAR and Atmel and found boards for AVR32, ARM7 and ARM-Cortex that have prices under 200$, but none of the kits seem to contain a USB-JTAG adapter. (I looked at MCB21XX boards from Keil and ATEVK110X from Atmel) And the USB-JTAG adapter alone has a price which is nearly equal to the price of the board itself.
Is there any way to program these boards without this adapter, or is there any board which doesn't need this external device? (and doesn't have any other hidden costs)
I've seen some jtag adapters which cost about 50$ in some web sites inculding e-Bay. Some of them are below:
http://www.micro4you.com/zencart/index.php?main_page=product_info&products_id=181
and
http://www.minford.ca/html/mf166.html
If i buy one of those, can i use them with the boards i mentioned before? I won't be able to use them for AVR32 but i should probably be able to use them for ARM7 based boards and maybe for ARM-Cortex based boards like Keil MCBSTM32.
I'm very confused about this USB-JTAG stuff, any help will be appreciated.
Last edited by KoRGeNeRaL on 07 Dec 2007 2:12; edited 1 time in total |
|
| Back to top |
|
 |
SmartBomb1979
Joined: 09 Apr 2006 Posts: 42 Helped: 5
|
07 Dec 2007 2:09 Re: 32bit uC Board Suggestion |
|
|
|
Many of these boards have processors with on-chip bootloaders. Usually the on-chip bootloader can load code through either a serial port or a USB port. So if the port is "exposed" on the board, you're good.
There are no general rules, you'll have to check the documentation for the individual processor and board. (Sorry I know that sounds like I'm passing the buck here, but really it's the truth).
Note that JTAG gives you a lot more than loading code -- specifically ability to debug the target (start / stop / breakpoints / etc) but if you don't need that, then the on-chip bootloader will be enough.
|
|
| Back to top |
|
 |
KoRGeNeRaL
Joined: 08 Mar 2006 Posts: 63 Helped: 5 Location: Turkey
|
08 Dec 2007 1:07 Re: 32bit uC Board Suggestion |
|
|
|
Thanks for the response.
Does this mean that even if a board has a usb connector and a uC which can have a bootloader, it can reqire a jtag adapter to be programmed?
If it doesn't mean that, then i should be able to program any arm7 board which has an usb connector by using the bootloader.
|
|
| Back to top |
|
 |
SmartBomb1979
Joined: 09 Apr 2006 Posts: 42 Helped: 5
|
08 Dec 2007 1:48 Re: 32bit uC Board Suggestion |
|
|
|
| KoRGeNeRaL wrote: |
Thanks for the response.
Does this mean that even if a board has a usb connector and a uC which can have a bootloader, it can reqire a jtag adapter to be programmed? |
Well the first thing you want to do is pick a board, and then verify this is true.
For example, let's look at Keil's MCB2100 at http://www.keil.com/mcb2100/. This board has an NXP LPC2103 chip. The LPC2103 has an on-chip bootloader (not all ARM chips have a bootloader, it depends on the vendor, not ARM).
The on-chip bootloader for the LPC2103 always uses serial port 0. And the MCB2100 has a DB9 connector for serial port 0. So you can load code through serial port 0 on this board without a JTAG, no problem. What happens is that when you power on the LPC2103 and it is empty (no code from the factory), it starts looking for a new code download on serial port 0.
If the board did not have a DB9 connector, you couldn't load code with the bootloader. Why? Because even though there is a bootloader on the NXP chip, there is no serial port connection on the board.
So it is important to choose the processor and the board design carefully.
There are other chips (I think Atmel?) where the bootloader is via USB, not serial. So for those chips, make sure the board has a USB connector, so you can talk to the bootloader with a PC.
So in summary, you need to make sure the processor on the board has an on-chip bootloader, AND that the board has a connector (USB or serial, depending on the chip) that connects to the port on the processor that is used by the bootloader. I hope I explained that well.
| KoRGeNeRaL wrote: |
| If it doesn't mean that, then i should be able to program any arm7 board which has an usb connector by using the bootloader. |
This statement isn't always true, it depends on the board and the processor. I hope the explanation above shows why.
|
|
| Back to top |
|
 |
KoRGeNeRaL
Joined: 08 Mar 2006 Posts: 63 Helped: 5 Location: Turkey
|
08 Dec 2007 18:54 Re: 32bit uC Board Suggestion |
|
|
|
Thank you for writing such a detailed answer, i was definitely in need of this info.
One last question:
What software can i use to program the chip using its bootloader? For example, can the development environment of Keil (uVision...) be used for the MCB2103 as if its being programmed via jtag?
Edit:
I saw some boards that have on board j-link and doesn't have a jtag connector in this url:
http://www.lpctools.com/index.asp?PageAction=VIEWCATS&Category=45
IAR KS2378-02 : 349$ (It has an external jlink and on board jtag connector)
IAR KS2378-01 : 199$ (It has on board jlink and therefore doesn't have a jtag connector)
What is the difference between an on board jlink and an external jlink that can lead to a 150$ price decrease? I couldn't find any document that has info about the difference between the capabilities of these two.
|
|
| Back to top |
|
 |
SmartBomb1979
Joined: 09 Apr 2006 Posts: 42 Helped: 5
|
09 Dec 2007 21:49 Re: 32bit uC Board Suggestion |
|
|
|
| KoRGeNeRaL wrote: |
Thank you for writing such a detailed answer, i was definitely in need of this info.
One last question:
What software can i use to program the chip using its bootloader? For example, can the development environment of Keil (uVision...) be used for the MCB2103 as if its being programmed via jtag?
|
You can use the Keil UVision development environment to develop the code, and then just use FlashMagic to send the code to the board. UVision creates the output file, and FlashMagic takes the file from Uvision and sends it to the board from the PC's serial port. Flashmagic is available for free here: http://www.flashmagictool.com/ Flashmagic is a tool that communicates with the bootloader on NXP's LPC2xxx ARM chips. If you have an ARM chip from another company (e.g. Atmel, etc) you need another tool.
Just remember if you load code via FlashMagic and you don't have JTAG, you can run the code fine, but you cannot halt the processor or view variables, etc... in other words, you cannot use the debugger, because the debugger communicates with the target processor via JTAG.
| KoRGeNeRaL wrote: |
Edit:
I saw some boards that have on board j-link and doesn't have a jtag connector in this url:
http://www.lpctools.com/index.asp?PageAction=VIEWCATS&Category=45
IAR KS2378-02 : 349$ (It has an external jlink and on board jtag connector)
IAR KS2378-01 : 199$ (It has on board jlink and therefore doesn't have a jtag connector)
What is the difference between an on board jlink and an external jlink that can lead to a 150$ price decrease? I couldn't find any document that has info about the difference between the capabilities of these two. |
Here is the difference. The one for $349 has an external JTAG, and that is why it costs $150 more. The external JTAG is that yellow box in the picture. You can take that "yellow box" and connect it to *any* ARM board by any manufacturer, as long as the board has a JTAG connector. Almost every evaluation board on the market has this connector.
If you buy the cheaper board with the built-in JTAG, that means you only have JTAG capability on that board. The JTAG is soldered onto the board and cannot be removed or re-used on another board. If later you buy a Keil board, an ARM board, or another IAR board, you need to buy an external JTAG unit, because you don't have the external "yellow box" to use on any board.
If I was you, I would go ahead and get the $349 board, if you are going to develop your own board or product. When you have your own board, you will probably want a JTAG device to help you understand the issues of "board bring up". If you write perfect code for a new board the very first time, you don't need the $150 JTAG unit.... but if you are like most of us, you will need it and it will be more the money.
Good luck!!
|
|
| Back to top |
|
 |
KoRGeNeRaL
Joined: 08 Mar 2006 Posts: 63 Helped: 5 Location: Turkey
|
10 Dec 2007 0:37 Re: 32bit uC Board Suggestion |
|
|
|
I got it and have no more questions.
Thank you for taking time to answer my questions. You have been great help.
|
|
| Back to top |
|
 |
xuyang8609
Joined: 07 Jun 2008 Posts: 1
|
07 Jun 2008 17:15 Re: 32bit uC Board Suggestion |
|
|
|
Hello!
I learnt a lot of things from your articles.
Now I'm do some research on the bootloader of LPC2103. But I'd like to know that how to get the on chip bootloader of LPC2103? How to analyze the bootloader of LPC2103?
|
|
| Back to top |
|
 |