NXP Cortex M3 chips?

Hi,

Anyone have experience with NXP ARM micros? Or anybody else's for that matter. Looking at the embed proto board & wanting to know if the on-chip boot rom is present in all the NXP ARM chips & how is it activated in ones own board. It looks like it is wired into one of the USB ports in some way...anyway, just looking for experiences with using those parts. TIA, bill m

Reply to
Bill Martin
Loading thread data ...

Get the datasheet and user manual, as well as the mbed documentation. They're nice chips but you need to know the how to's and what for's. From the UM, 32.3:

"The flash boot loader code is executed every time the part is powered on or reset. The loader can execute the ISP command handler or the user application code. A LOW level after reset at pin P2.10 is considered an external hardware request to start the ISP command handler. Assuming that power supply pins are on their nominal levels when the rising edge on RESET pin is generated, it may take up to 3 ms before P2.10 is sampled and the decision on whether to continue with user code or ISP handler is made. If P2.10 is sampled low and the watchdog overflow flag is set, the external hardware request to start the ISP command handler is ignored. If there is no request for the ISP command handler execution (P2.10 is sampled HIGH after reset), a search is made for a valid user program. If a valid user program is found then the execution control is transferred to it. If a valid user program is not found, the auto-baud routine is invoked."

Reply to
Rich Webb

Thank you Rich. There sure are a lot of them. I know I don't need everything in the "embed" demo board, but it sure looks simple to start with. It's not at all obvious from the nxp web site which of their devices have the built-in boot loader in rom, I see a few other part numbers that mention on-chip rom drivers, but there is no real conclusion that I can draw as to exactly what functionality these roms provide. Also I suspect that the lower-end parts may not have this nice feature. I got the part data sheet for the chip in the "embed" board, will see what it has to say. Looks like I may have to buy one to get the full doc package!

-bill m

Reply to
Bill Martin

We use the LPC1754/58/68 parts. They work fine, fast and low power.

We program the on-chip flash via jtag. I don't think there is any other boot mechanism.

One warning: the ADC doesn't seem to be as linear as spec'd.

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin

The mbed and lpcxpresso boards use a 2nd micro to go usb->jtag. You can actually cut off the programmer part on the lpcxpresso board but you have to use the code red ide (others may work but I did not go that far).

I think all of the M3 have the boot loader. You can check the data sheets. It's a simple setup that lets you program the part via UART0. If you are just playing around with the parts you can use FlashMagic to program. Some of the chips have ROM drivers for the peripherals. Kind of a built in driver library. This is not the same as the flash programming/ boot loader code.

The mbed and lpcxpresso boards are both easy ways to get started. Mouser has the lpcxpresso board for $23.75 now days.

--
Chisolm 
Republic of Texas
Reply to
Joe Chisolm

Actually there is. I always use the internal bootloader to load software through the serial port. Some devices with USB have an extended bootloader which can make the microcontroller act as a USB stick so you can drag & drop the firmware into the controller using Windows explorer. How about that :-)

--
Failure does not prove something is impossible, failure simply 
indicates you are not using the right tools... 
nico@nctdevpuntnl (punt=.) 
--------------------------------------------------------------
Reply to
Nico Coesel

Thanks for this, one question re. ADC's: are you referring to the 10 bit or 12 bit ADC's, or all of them?

Reply to
Bill Martin

I don't see anything looking like another micro on the mbed board, but since all I get from the schematic link on nxp.com is a black box, it's hard to be sure...have not checked out the lpcexpresso board yet but will have a look.

the price is right, as they used to say!

Reply to
Bill Martin

That one feature is enough to make me want to look further, hence the questions hear. It's Linux friendly, no funky Windows drivers required...

Reply to
Bill Martin

The 12-bit on the 1758. We have to do a custom lookup table for every channel on this board:

formatting link

which has 12 of the LPC1758s.

--

John Larkin         Highland Technology, Inc 

jlarkin at highlandtechnology dot com 
http://www.highlandtechnology.com 

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom laser drivers and controllers 
Photonics and fiberoptic TTL data links 
VME thermocouple, LVDT, synchro   acquisition and simulation
Reply to
John Larkin

I pulled out my mbed board. There is a micro on the back side. No part number, just "mbed". I suspect it's a LPC31xx version similar to the lpcxpresso board. I used the mbed for a short time but did not like the IDE. At the time the libraries were all closed source. Might be different now.

The lpclink boot loader part of the lpcxpresso runs under the codered IDE. The free version is limited to 128K program size but you can do a lot in that space. I had a SparkFun magjack in the parts bin and had a web server up and running in short time using the example code.

There are instructions on how to disconnect the lpclink part and use jtag to program the micro directly. Basically you cut the traces and put in a header. CodeRed will run on windows or linux but I had issue at the time getting everything to work with linux. Probably operator error. Now I use Eclipse, OpenOCD and TinCan Tools Flyswatter jtag programmer. Total cost for that setup was $49 for the flyswatter programmer.

--
Chisolm 
Republic of Texas
Reply to
Joe Chisolm

It's pretty common for these sorts of parts to include a boot function. Sometimes it is in ROM and sometimes it is in the Flash and can be overwritten if you wish (or by accident).

I haven't worked with any of the CM3 parts yet (or CM4s for that matter) but have worked with older Atmel ARM 7TDMI parts. They included a boot loader that would work through the serial port or USB. I think it required a proprietary comms program on the PC which likely means Windows only.

I think you will find all of the major vendors do something similar.

Rick

Reply to
rickman

The build in boot loader is generally in a "hidden" or protected area of the flash so with out jumping quite a few hops it is hard to erase

The vendor tools maybe windows only but, the protocol is usually open and I think pretty much all of them have an open source tool available that can be made to work on anything that can compile c

-Lasse

Reply to
langwadt

We will see soon. Just ordered one of the lpcexpresso boards play with & see what can be done without Windows. Not that I wouldn't use Windows if it's the best way to go...just not first choice.

-bill m

Reply to
Bill Martin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.