<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic uClinux lpc17xx: Support for USB Host interface in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/uClinux-lpc17xx-Support-for-USB-Host-interface/m-p/522456#M5092</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Vladimir Khusainov on Wed Jan 18 02:21:08 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;In continuation of the topic created by Kevin Wells on 2011-12-22 (see "Thoughts on the LPC1788 uCLinux port on the Embedded Artists board"), here is how uClinux can be used to provide support for USB devices with LPC1788. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The LPC1788 MCU shares the OHCI USB Host controller IP with the LPC2478 device. There is a Linux distribution available for LPC2478 device that already has a device driver for the specific USB Host controller interface.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Port of the device driver to the LPC1788 required setting up some clocks and assigning some MCU pin functions appropriatelly but other than that the device driver just worked on the LPC1788.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course the Linux (uClinux) kernel provides ample driver support for various USB device so this all is available out-of-box. The Linux kernel needs to be configured with appropriate build-time options in support of required USB devices but this is a standard thing for Linux.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is a sample session that shows how to use a USB Flash stick with LPC1788. I ran this session on the Embedded Artists LPC1788 board with a USB Flash device preformatted on a Windows PC inserted into the USB host port of the board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After reset, U-boot comes up on the board:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;U-Boot 2010.03-linux-cortexm-1.3.1 (Jan 17 2012 - 14:16:30)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;CPU&amp;nbsp; : LPC178x/7x series (Cortex-M3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Freqs: SYSTICK=108MHz,EMCCLK=54MHz,PCLK=54MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Board: EA-LPC1788 rev 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DRAM:&amp;nbsp; 32 MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Flash:&amp;nbsp; 4 MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In:&amp;nbsp;&amp;nbsp;&amp;nbsp; serial&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Out:&amp;nbsp;&amp;nbsp; serial&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Err:&amp;nbsp;&amp;nbsp; serial&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Net:&amp;nbsp;&amp;nbsp; LPC178X_MAC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hit any key to stop autoboot:&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EA-LPC1788&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I load a bootable Linux image from TFTP and run it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EA-LPC1788&amp;gt; ru netboot&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Auto-negotiation...completed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC178X_MAC: link UP (100/Full)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Using LPC178X_MAC device&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TFTP from server 172.17.0.1; our IP address is 172.17.3.109&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Filename 'vlad/v'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Load address: 0xa0000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading: #################################################################&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ####################################################&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;done&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bytes transferred = 1704032 (1a0060 hex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;## Booting kernel from Legacy Image at a0000000 ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Image Name:&amp;nbsp;&amp;nbsp; Linux-2.6.33-arm1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Image Type:&amp;nbsp;&amp;nbsp; ARM Linux Kernel Image (uncompressed)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Data Size:&amp;nbsp;&amp;nbsp;&amp;nbsp; 1703968 Bytes =&amp;nbsp; 1.6 MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Load Address: a0008000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Entry Point:&amp;nbsp; a0008001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Verifying Checksum ... OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Loading Kernel Image ... OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Starting kernel ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Linux comes on the board showing the following messages relevant to USB:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Linux version 2.6.33-arm1 (&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:vlad@ocean.emcraft.com"&gt;vlad@ocean.emcraft.com&lt;/A&gt;&lt;SPAN&gt;) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-188) ) #121 Wed Jan 18 12:19:04 MSK 2012&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver usbfs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver hub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new device driver usb&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc178x-ohci lpc178x-ohci: LPC178x OHCI&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc178x-ohci lpc178x-ohci: new USB bus registered, assigned bus number 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc178x-ohci lpc178x-ohci: irq 24, io mem 0x2008c000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: New USB device found, idVendor=1d6b, idProduct=0001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: Product: LPC178x OHCI&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: Manufacturer: Linux 2.6.33-arm1 ohci_hcd&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: SerialNumber: lpc178x-ohci&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hub 1-0:1.0: USB hub found&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hub 1-0:1.0: 2 ports detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Initializing USB Mass Storage driver...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver usb-storage&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;USB Mass Storage support registered.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver hiddev&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver usbhid&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbhid: USB HID core driver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: new full speed USB device using lpc178x-ohci and address 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: New USB device found, idVendor=0dd8, idProduct=173c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: Product: Flash Drive&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: Manufacturer: USB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: SerialNumber: ff0aEC981700FFFF05D1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;scsi0 : usb-storage 1-2:1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;init started: BusyBox v1.17.0 (2012-01-18 12:15:11 MSK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # scsi 0:0:0:0: Direct-Access&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flash Drive&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMAP PQ: 0 ANSI: 0 CCS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] 3919872 512-byte logical blocks: (2.00 GB/1.86 GiB)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Write Protect is off&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Assuming drive cache: write through&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Assuming drive cache: write through&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; sda:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; sda1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Assuming drive cache: write through&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Attached SCSI removable disk&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point, I create a device node for the USB Flash stick and mount it on a local directory:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # mknod /dev/usb b 8 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # mount /dev/usb /mnt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have some files and directories already on the disk:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ls -lt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Images&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Audio&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ls -lt Audio/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-rwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25099820 Nov&amp;nbsp; 5&amp;nbsp; 2010 Art of gardenss.wav&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt #&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a stress test of sorts, let's copy the busybox multi-tool binary to the USB disk and then run it from there:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # cp /bin/busybox .&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ls -lt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Images&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Audio&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-rwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 235664 Jan&amp;nbsp; 1 00:09 busybox&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ./busybox echo "Hello from USB disk"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello from USB disk&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt #&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:55:42 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:55:42Z</dc:date>
    <item>
      <title>uClinux lpc17xx: Support for USB Host interface</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/uClinux-lpc17xx-Support-for-USB-Host-interface/m-p/522456#M5092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Vladimir Khusainov on Wed Jan 18 02:21:08 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;In continuation of the topic created by Kevin Wells on 2011-12-22 (see "Thoughts on the LPC1788 uCLinux port on the Embedded Artists board"), here is how uClinux can be used to provide support for USB devices with LPC1788. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The LPC1788 MCU shares the OHCI USB Host controller IP with the LPC2478 device. There is a Linux distribution available for LPC2478 device that already has a device driver for the specific USB Host controller interface.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Port of the device driver to the LPC1788 required setting up some clocks and assigning some MCU pin functions appropriatelly but other than that the device driver just worked on the LPC1788.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course the Linux (uClinux) kernel provides ample driver support for various USB device so this all is available out-of-box. The Linux kernel needs to be configured with appropriate build-time options in support of required USB devices but this is a standard thing for Linux.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is a sample session that shows how to use a USB Flash stick with LPC1788. I ran this session on the Embedded Artists LPC1788 board with a USB Flash device preformatted on a Windows PC inserted into the USB host port of the board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After reset, U-boot comes up on the board:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;U-Boot 2010.03-linux-cortexm-1.3.1 (Jan 17 2012 - 14:16:30)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;CPU&amp;nbsp; : LPC178x/7x series (Cortex-M3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Freqs: SYSTICK=108MHz,EMCCLK=54MHz,PCLK=54MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Board: EA-LPC1788 rev 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DRAM:&amp;nbsp; 32 MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Flash:&amp;nbsp; 4 MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In:&amp;nbsp;&amp;nbsp;&amp;nbsp; serial&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Out:&amp;nbsp;&amp;nbsp; serial&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Err:&amp;nbsp;&amp;nbsp; serial&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Net:&amp;nbsp;&amp;nbsp; LPC178X_MAC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hit any key to stop autoboot:&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EA-LPC1788&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I load a bootable Linux image from TFTP and run it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EA-LPC1788&amp;gt; ru netboot&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Auto-negotiation...completed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC178X_MAC: link UP (100/Full)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Using LPC178X_MAC device&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TFTP from server 172.17.0.1; our IP address is 172.17.3.109&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Filename 'vlad/v'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Load address: 0xa0000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading: #################################################################&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ####################################################&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;done&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bytes transferred = 1704032 (1a0060 hex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;## Booting kernel from Legacy Image at a0000000 ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Image Name:&amp;nbsp;&amp;nbsp; Linux-2.6.33-arm1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Image Type:&amp;nbsp;&amp;nbsp; ARM Linux Kernel Image (uncompressed)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Data Size:&amp;nbsp;&amp;nbsp;&amp;nbsp; 1703968 Bytes =&amp;nbsp; 1.6 MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Load Address: a0008000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Entry Point:&amp;nbsp; a0008001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Verifying Checksum ... OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Loading Kernel Image ... OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Starting kernel ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Linux comes on the board showing the following messages relevant to USB:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Linux version 2.6.33-arm1 (&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:vlad@ocean.emcraft.com"&gt;vlad@ocean.emcraft.com&lt;/A&gt;&lt;SPAN&gt;) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-188) ) #121 Wed Jan 18 12:19:04 MSK 2012&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver usbfs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver hub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new device driver usb&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc178x-ohci lpc178x-ohci: LPC178x OHCI&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc178x-ohci lpc178x-ohci: new USB bus registered, assigned bus number 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc178x-ohci lpc178x-ohci: irq 24, io mem 0x2008c000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: New USB device found, idVendor=1d6b, idProduct=0001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: Product: LPC178x OHCI&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: Manufacturer: Linux 2.6.33-arm1 ohci_hcd&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb usb1: SerialNumber: lpc178x-ohci&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hub 1-0:1.0: USB hub found&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hub 1-0:1.0: 2 ports detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Initializing USB Mass Storage driver...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver usb-storage&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;USB Mass Storage support registered.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver hiddev&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbcore: registered new interface driver usbhid&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usbhid: USB HID core driver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: new full speed USB device using lpc178x-ohci and address 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: New USB device found, idVendor=0dd8, idProduct=173c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: Product: Flash Drive&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: Manufacturer: USB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usb 1-2: SerialNumber: ff0aEC981700FFFF05D1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;scsi0 : usb-storage 1-2:1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;init started: BusyBox v1.17.0 (2012-01-18 12:15:11 MSK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # scsi 0:0:0:0: Direct-Access&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Flash Drive&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMAP PQ: 0 ANSI: 0 CCS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] 3919872 512-byte logical blocks: (2.00 GB/1.86 GiB)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Write Protect is off&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Assuming drive cache: write through&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Assuming drive cache: write through&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; sda:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; sda1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Assuming drive cache: write through&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sd 0:0:0:0: [sda] Attached SCSI removable disk&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point, I create a device node for the USB Flash stick and mount it on a local directory:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # mknod /dev/usb b 8 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # mount /dev/usb /mnt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;~ # &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have some files and directories already on the disk:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ls -lt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Images&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Audio&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ls -lt Audio/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-rwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25099820 Nov&amp;nbsp; 5&amp;nbsp; 2010 Art of gardenss.wav&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt #&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a stress test of sorts, let's copy the busybox multi-tool binary to the USB disk and then run it from there:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # cp /bin/busybox .&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ls -lt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Images&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32768 Jul 12&amp;nbsp; 2011 Audio&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-rwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 235664 Jan&amp;nbsp; 1 00:09 busybox&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt # ./busybox echo "Hello from USB disk"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello from USB disk&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/mnt #&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:55:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/uClinux-lpc17xx-Support-for-USB-Host-interface/m-p/522456#M5092</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:55:42Z</dc:date>
    </item>
  </channel>
</rss>

