Author Topic: LPC17XX Preliminary Information  (Read 37368 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
LPC17XX Preliminary Information
« on: January 23, 2010, 02:23:02 AM »
Hi All

A few people have been asking about whether, or when, support for the LPC17XX will be added. This is a Cortex M3 based chip which fits in well with the LPC2XXX range - it uses much the same peripherals and is even compatible at the port pin level. With up to 512k internal FLASH, 64k SRAM, processor running at up to 120MHz, Ethernet, USB (host, device/OTG) and various other stuff in 100 or 80 pin package it is indeed an interesting device.

So, armed with an Olimex LPC1766-STK the new chips was slowly taken into action. With the basic uTasker project now working with UARTs, uFileSystem and SD card (utFAT) together with Ethernet FTP and web server, it is time to announce that this port is indeed under construction and nearing a stage of Beta release.

Owners of an LPC1766-STK can already test drive it here: http://www.utasker.com/SW_Demos.html#LPC17XX

Here is an overview of these devices:

LPC1769
  • 100 PIN
  • 512k FLASH
  • 32k CPU SRAM plus 32k peripheral AHB SRAM
  • Ethernet
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC
  • 120MHz

LPC1768
  • 100 PIN
  • 512k FLASH
  • 32k CPU SRAM plus 32k peripheral AHB SRAM
  • Ethernet
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC

LPC1766
  • 100 PIN
  • 256k FLASH
  • 32k CPU SRAM plus 32k peripheral AHB SRAM
  • Ethernet
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC
      
LPC1765
  • 100 PIN
  • 256k FLASH - no Ethernet
  • 32k CPU SRAM plus 32k peripheral AHB SRAM
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC

LPC1764
  • 100 PIN
  • 128k FLASH
  • 16k CPU SRAM and 16k AHB SRAM
  • Ethernet
  • USB Device
  • 2 x CAN

LPC1759
  • 80 PIN
  • 512k FLASH
  • 32k CPU SRAM plus 32k peripheral AHB SRAM
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC
  • 120MHz

LPC1758
  • 80 PIN
  • 512k FLASH
  • 32k CPU SRAM plus 32k peripheral AHB SRAM
  • Ethernet
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC

LPC1756
  • 80 PIN
  • 256k FLASH - no Ethernet
  • 16k CPU SRAM and 16k AHB SRAM
  • USB Host/Device/OTG
  • 2 x CAN + I2S + DAC

LPC1754
  • 80 PIN
  • 128k FLASH - no Ethernet
  • 16k CPU SRAM and 16k AHB SRAM
  • USB Host/Device/OTG
  • 1 x CAN + DAC

LPC1752
  • 80 PIN
  • 64k FLASH - no Ethernet
  • 16k CPU SRAM
  • USB Device
  • 1 x CAN

LPC1751
  • 80 PIN
  • 32k FLASH - no Ethernet
  • 8k CPU SRAM
  • USB Device
  • 1 x CAN

Watch this space for more detail soon...;-)

Regards

Mark
« Last Edit: February 21, 2010, 08:44:20 PM by mark »

Offline jezc

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #1 on: January 23, 2010, 10:24:54 PM »
Hi Mark,

I'll be very interested to get up and running with these devices - not least with the planned release of the upgrade for the LPC24xx family (including 2478) for the middle of this year!

Is there any plan in the near future to add/exterd the USB support for these or the LPC2xxx ports?

Any more info you're prepared to release will be most welcome on this :-)

Cheers,
    JezC

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: LPC17XX Preliminary Information
« Reply #2 on: January 24, 2010, 02:01:08 AM »
Hi Jez

There are two main open points concerning the LPC family:
1) USB
2) SD controller

The LPC17XX doesn't have the SD controller but both LPC2XXX and LPC17XX types have USB.
The basic USB is device mode (which is already available for SAM7X and M522XX projects, plus a Beta in the Luminary Micro project).
Host now makes also much more sense since it can interface with the utFAT module for mass-storage work (memory sticks). Some types also have OTG which would be interesting, although there hasn't been any real demand for it that I noticed.

The only problem here is that each chip has a completely different USB controller and they are rather difficult to get working - I have only written "device" drivers up until now so still need to learn about host mode...

I do hope that at least the LPC device mode will be possible in the near future, but I can't give a date just at the moment. When would you need it and which mode would it be working in?

Regards

Mark

Offline jezc

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #3 on: January 24, 2010, 10:21:27 PM »
Hi Mark,

Eventually I'd be interested in both USB device & USB host support (the LPC24xx have two USB interfaces and we are currently configuring one as s device and one as a hos, though as far as I know the LPC17xx only have a single USB interface).

There are some useful examples on the NXP site to help you get the USB working in host mode though the documentation could be a bit more helpful at times. It's allowed us to verify that our hardware for USB Host works ok (for connecting to USB per drives for example) which is a good start.

Later on we may even need to add HID support (keyboard / mouse) but there's no timescale for this yet.

I'm not asking for faster development on either device or host for the LPC family, just any idea of when you're planning to roll it out ;-)

I'm interested in many of your other future developments as well, so I don't want to upset those!

Let me know if I can help you with the USB host in some way!

Cheers,
    Jez

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: LPC17XX Preliminary Information
« Reply #4 on: January 24, 2010, 11:39:30 PM »
Hi Jez

The highest priority at the moment is IPv6. This was planned for the first month of 2010 - its development has started but may take a bit longer than expected.

I will have a go at getting LPC USB device (I hope that the LPC2xxx and LPC17XXX USB controllers are as compatible as possible) ready as next point. The LPC project has in fact started to become more popular recently and this also give motivation to invest more time there. Maybe by mid...end February 2010(?). Depending on how this goes host can then be looked at.

Note that I updated the demo code http://www.utasker.com/SW_Demos.html#LPC17XX to include also uGLCDLIB1.1 LCD demo on the NOKIA LCD that the board has.

Regards

Mark

Offline aaronlawrence

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #5 on: January 26, 2010, 01:17:20 AM »
Comment: in my experience USB host is a nightmare to get working. For one thing there are a squillion possible device types, but perhaps the biggest problem seems to be:

creators of devices (e.g. memory sticks) generally only test them against Windows. Windows has a huge number of sophisticated capabilities, including many workarounds for bad device behaviour. Thus, when you take random "mass storage compliant" memory stick and try to use it according to the specs, it doesn't quite work.

we tried to get USB host for memory sticks working with Windows CE, and neither microsoft nor our BSP developer could get them working reliably across even a decent percentage of consumer memory sticks. They either didn't work at all or worked so slowly (16kB/sec!) as to be useless. One other vendor I saw spent ages working on the microsoft stack and fixed many bugs/workarounds; he went from 50% of his sample sticks working to near 90%...

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: LPC17XX Preliminary Information
« Reply #6 on: January 26, 2010, 05:55:21 PM »
Hi Aaron

Yes this is certainly a problem in the embedded world.
See the following from Freescale and their free MQS USB stack: http://forums.freescale.com/freescale/board/message?board.id=MQXGEN&message.id=199&query.id=114082#M199

This may also be an explanation for the popularity of SD cards over memory sticks for such applications. I think that for exchanging data memory sticks are more practical, whereas SD cards are in comparison a bit fiddly, breakable and losable, but they are smaller and lighter (especially the microSD ones).

Memory sticks always strike me as being overcomplicated since they are more or less SD cards with an extra USB host/device between them, but are certainly practical like that for work together with PCs. Since one can also plug in an SD card into a memory stick adapter, costing about $5 to buy, I think that the embedded world could probably live without memory sticks almost entirely.

But maybe some circumstances still prefer USB memory sticks and I think that it would be interesting to at least have minimum support for these. The fact that there will be USB memory sticks out there - and probably a lot of them - that prove not to work (without extra tuning for the particular models) will have to be generally accepted as a fact of life in this case. A list of popular USB sticks which are readily obtainable and have proven to work is probably the way to go here - anything not on this list should simply be avoided; otherwise stick to SD cards...

Regards

Mark

Offline aaronlawrence

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #7 on: February 19, 2010, 01:36:35 PM »
Yes, for some cases the "well known supported brand" approach could be useful.
However that sort of negates the benefit of USB memory support, since people expect to be able to use any ubiquitous stick ...
We are trying again at USB mass storage host, but not depending on it. We are now on an x86 platform for our main board, so the USB host  is more standardised (OHCI?) and seems to work so far...

Any custom USB driver with mass storage = run away :)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: LPC17XX Preliminary Information
« Reply #8 on: February 19, 2010, 01:57:20 PM »
Hi Aaron

I noticed that my daughter's cheap hi-fi system with Tape deck, CD, radio also has slots for SD cards and USB sticks (and plays MP3 from them).
This made me also wonder whether they have potential problems with USB sticks - there was no special notes in the instructions so maybe it is possible with, supposedly small and cheap processors...[I didn't take it apart but would expect to find a solution with just a couple of chips on  cardboard type PCB].

Regards

Mark

Offline aaronlawrence

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #9 on: March 06, 2010, 04:25:31 AM »
Oh, I believe it's possible alright, you just have to spend a lot of time debugging and working around stuff.  Probably using Linux would help, because then everyone's efforts are shared, unlike Windows.

Offline jezc

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #10 on: June 03, 2010, 01:06:14 PM »
Hi,

Would another option be to use a USB to SD card adaptor to provide USB host data storage support but without the problems arising from the many different flavours of USB Mass storage devices?

Just thinking (/hoping!) that once the USB to SD adaptor was working it should then basically work with any SD card plugged into it...

I'm not sure if SDHC support would be the next hurdle to overcome - anyone got any experience here?

We can't easily fit a removable SD card (or miniSD or microSD) in our products but we do have the USB Host connection available.

Cheers,
    Jez


Offline jezc

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #11 on: June 10, 2010, 12:45:30 PM »
Hi Mark,

I've just managed to borrow a Keil MCB1760 dev board (again) to go with the IAR equivalent I've had for quite a while.

Do you still want to know if uTasker works on the Keil board?

If so, I'll try and give it a brief run tonight and let you know how it goes.

Cheers,
    Jez

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: LPC17XX Preliminary Information
« Reply #12 on: June 10, 2010, 01:42:47 PM »
Hi Jez

If you get the chance that would of course be great. I am not sure whether someone already tried this or not so any feedback as reference would be useful.

Tell me also if you are interested in USB device since I do have this in my development version (for LPC2XXX and LPC17X since they are compatible). I didn't complete DMA mode operation (it still does something strange that still needs to be looked into) but the interrupt mode seems to be essentially workable.

Regards

Mark


Offline jezc

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: LPC17XX Preliminary Information
« Reply #13 on: June 11, 2010, 10:23:04 AM »
Hi Mark,

I will do - didn't get chance to try it last night but will make sure I do over the weekend.

We are interested in the USB support - I'll be interested to try this when it's available - but I'm not sure if we need the DMA. I can try it with the interrupt mode only as a first step and then let you know if the DMA would be useful.

Is the LPC17xx support in the normal LPC2xxx archive? I've just checked the download (using the link from the v1.4 e-mail in January) but I can't see any LPC17xx support...

Cheers,
    Jez

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: LPC17XX Preliminary Information
« Reply #14 on: June 11, 2010, 01:24:52 PM »
Hi Jez

I just sent you the LPC17XX Beta. It is the fist version still so doesn't have all peripherals or USB but should hopefully run on your Keil board (Ethernet, serial, SD card).

Regards

Mark