Page 1
SBC8140 Single Board Computer User Manual Version 1.1 Jan 2014...
Page 2
Copyright Statement: SBC8140 and its related intellectual property are owned by Shenzhen Embest Technology Co., Ltd. Shenzhen Embest Technology has the copyright of this document and reserves all rights. Any part of the document should not be modified, distributed or duplicated in any approach and form without prior written permission issued by Embest Technology Co.,...
Page 4
2.3.2 CN2 90pin DIP Interface (left row) ..........21 2.3.3 CN3 JTAG Interface ..............25 2.3.4 CN4 Camera Interface ............25 2.3.5 LED Indicators ............... 27 2.4 Interfaces on Expansion Board ........27 2.4.1 Power Jack ................28 2.4.2 TFT_LCD Interface ..............28 2.4.3 Audio Output Interface ............
Page 5
3.6 System Update ............61 3.6.1 Updating System in an SD Card ..........61 3.6.2 Updating System in NAND Flash ..........70 3.7 Display Mode Configuration ........... 72 3.8 Tests and Demonstrations ..........74 3.8.1 Testing LEDs ................. 74 3.8.2 Testing a Touch-Screen............75 3.8.3 Testing the RTC ..............
Page 6
4.6.1 OpenGL ES demo ..............103 4.6.2 CAM8000-A Module .............. 104 4.6.3 CAM8000-D Module .............. 105 4.7 GPIO API and Example Applications ......107 Appendix 1: Installing an Ubuntu Linux System ....111 1.1 Installing VirtualBox ........... 111 1.2 Installing the Ubuntu Linux System ....... 116 Appendix 2: Driver Installation Of Linux USB Ethernet/RNDIS Gadget ..........
1 Product Overview 1.1 Introduction The SBC8140 is a Single Board Computer designed by Embest using the MINI8510 processor card as the CPU core board. The MINI8510 is built around the DM3730 microcontroller featuring 256MByte DDR SDRAM, 512MByte NAND Flash, RTC, LEDs, Camera interface and a 10-pin JTAG interface on board.
1.3 Product Features 1.3.1 Mini8510 Core Board Figure 1: Back of MINI8510 Figure 2: Top of MINI8510 Operational Parameters: Dimensions: 67x37mm Operation Temperature: 0 ~ 70°C Operating Humidity: 20% ~ 90% (Non-condensing) Power Supply: 3.3V/0.17A Processor: ...
Page 9
On-Board Memories: 256MB 32bit DDR SDRAM 512MB 16bit NAND Flash Interfaces and Signals: Camera interface (supports external CCD or CMOS camera) JTAG interface Two 1.27mm-pitch 90-pin DIP connectors Six LED indicators (two power indicators and four custom user indicators) ...
1.7 Modules Supported by SBC8140 Modules Linux Android WinCE Materials Provided with CD-ROM WF8000-U Yes* Yes# Separately CAM8000-A Yes* Yes* Yes* Available in CD CAM8000-D Yes* Click to download Provided with CD-ROM CAM8100-U Yes* Yes* Separately CDMA8000-U Yes* Click to download...
2 Introduction to Hardware This chapter will help you learn about the hardware composition of the MINI8510 core board by briefly introducing CPU, peripheral ICs and pin definitions of various interfaces on the product (MINI8510+Expansion board). 2.1 CPU Introduction MINI8510 core board uses...
2.1.4 Display Subsystem The display subsystem is used to provide an LCD or TV interface with logic images which are stored in the frame buffer (SDRAM or SRAM); it is made up of: Display control (DISPC) module Remote frame buffering interface (RFBI) module ...
Figure 9: SGX Graphics Acceleration System The architecture of the SGX graphics acceleration system allows for switching among multiple threads by adopting two-level scheduling and data partitioning, so that it is capable of processing pixels, vertexes, videos and general data. 2.2 Peripheral ICs around CPU 2.2.1 TPS65930 Power Management IC The TPS65930 is a power-management IC for OMAP families.
The 10/100M Ethernet module integrated in the DM9000 is compliant with the IEEE 802.3 standard. The SBC8140 can be either connected to a hub with a straight-through network cable, or to a PC with a cross-over network cable.
seamlessly with 12-bit or 24-bit interfaces. The DVI interface supports flat panel display resolutions up to UXGA at 165 MHz in 24-bit true colour pixel format. 2.2.6 MAX3232 Transceiver The MAX3232 transceiver has a proprietary low-dropout transmitter output stage enabling true RS-232 performance from a 3.0V to 5.5V supply with a dual charge pump.
2.3 Hardware Interfaces and LEDs on Mini8510 Figure 10: MINI8510 2.3.1 CN1 90pin DIP Interface (right row) Pins Definitions Descriptions GND1 G_D14 GPMC data bit 14 G_D13 GPMC data bit 13 G_D10 GPMC data bit 10 G_D8 GPMC data bit 8 G_D9 GPMC data bit 9 G_D5...
Page 23
Pins Definitions Descriptions G_D2 GPMC data bit 2 G_D11 GPMC data bit 11 G_D1 GPMC data bit 1 G_D4 GPMC data bit 4 G_D0 GPMC data bit 0 G_A2 GPMC address bit 2 G_A3 GPMC address bit 3 G_A1 GPMC address bit 1 G_A6 GPMC address bit 6 G_A4...
Page 24
Pins Definitions Descriptions SPI1_CS3 SPI Enable 3 SPI1_CS0 SPI Enable 0 SPI1_SIMO Slave data in, master data out SPI1_SOMI Slave data out, master data in SPI1_CLK SPI Clock GND3 GPIO0 GPIO0 /card detection 1 MMC/SD Card Data bit 2SPI Enable MMC2_D2/SPI3_CS1 MMC/SD Card Data bit 3SPI Enable MMC2_D3/SPI3_CS0...
Page 25
Pins Definitions Descriptions UART1_TX UART1 Transmit data UART1_RX UART1 Receive data UART1_RTS UART1 Request To Send Dedicated for external transceiver USB1HS_STP Stop signal Dedicated for external transceiver USB1HS_D3 Bidirectional data bus Dedicated for external transceiver USB1HS_D5 Bidirectional data bus Dedicated for external transceiver USB1HS_6 Bidirectional data bus Dedicated for external transceiver...
Page 26
Pins Definitions Descriptions LEDA LED leg A LEDB LED leg B ADCIN0 ADC input0 (Battery type) NRESPWRON Power On Reset Warm Boot Reset (open drain NRESWARM output) SYSEN System enable output GND6 REGEN Enable signal for external LDO ADC input1 (General-purpose ADC ADCIN1 input) Keypad column 0...
2.3.2 CN2 90pin DIP Interface (left row) Pins Definitions Descriptions G_NWE GPMC Write Enable G_NOE GPMC Read Enable GPMC Chip Select bit 7PWM / event for GP timer 8GPMC / IO direction G_NCS7/GPT8/G_DIR control with external transceivers GPMC Chip Select bit 7PWM /DMA G_NCS4/DMAREQ1 request 1 GPMC Chip Select bit 7PWM / DMA...
Page 28
Pins Definitions Descriptions MMC1_D3 MMC/SD Card Data bit 3 GND2 MMC1_CLK MMC/SD Output Clock MMC1_CMD MMC/SD command signal Power supply for SD/MMC1 (3.0 / VMMC1 1.8V) UART3_RX UART3 Receive data UART3_CTS UART3 Clear To Send UART3_TX UART3 Transmit data UART3_RTS UART3 Request To Send AC bias control (STN) or pixel data DSS_ACBIAS...
Page 29
Pins Definitions Descriptions DSS_D5 LCD Pixel Data bit 5 DSS_D4 LCD Pixel Data bit 4 GND4 DSS_D2 LCD Pixel Data bit 2 DSS_D3 LCD Pixel Data bit 3 DSS_D0 LCD Pixel Data bit 0 DSS_D15 LCD Pixel Data bit 15 DSS_D11 LCD Pixel Data bit 11 DSS_D23...
Page 30
Pins Definitions Descriptions GND6 analogue output S-VIDEO: TV_OUTC TV_OUT2 TV analogue output Composite: TV_OUTY TV_OUT1 Power supply for camera (3.3V VDD33_1 500mA ) I2C Master Serial clock. Output is IIC3_SCL open drain Serial Bidirectional Data. IIC3_SDA Output is open drain IO25 General-purpose IO 183 IO27...
Pins Definitions Descriptions GND8 Power supply from TPS65930 (VIO VDD18_2 1.8V) BKBAT Backup battery 2.3.3 CN3 JTAG Interface Pins Definitions Descriptions VDD18 1.8V output Test mode select Test data input NTRST Test system reset Test data output RTCK Receive test clock Test clock EMU0 Test emulation 0...
Page 32
Pins Definitions Descriptions Digital image data bit 4 Digital image data bit 5 Digital image data bit 6 Digital image data bit 7 Digital image data bit 8 Digital image data bit 9 Digital image data bit 10 Digital image data bit 11 GND1 PCLK Pixel clock...
Pins Definitions Descriptions VDD18 1.8V 2.3.5 LED Indicators LEDs Definitions Descriptions LED1 User custom LED LED2 User custom LED LED3 User custom LED LED4 User custom LED VDD18 Power indicator VBAT Power indicator 2.4 Interfaces on Expansion Board Figure 11: Expansion Board Page | 27...
2.4.1 Power Jack Pins Definitions Descriptions Power supply (+5V) 2A (Type) 2.4.2 TFT_LCD Interface Pins Definitions Descriptions DSS_D0 LCD Pixel data bit 0 DSS_D1 LCD Pixel data bit 1 DSS_D2 LCD Pixel data bit 2 DSS_D3 LCD Pixel data bit 3 DSS_D4 LCD Pixel data bit 4 DSS_D5...
Page 35
Pins Definitions Descriptions DSS_D16 LCD Pixel data bit 16 DSS_D17 LCD Pixel data bit 17 DSS_D18 LCD Pixel data bit 18 DSS_D19 LCD Pixel data bit 19 DSS_D20 LCD Pixel data bit 20 DSS_D21 LCD Pixel data bit 21 DSS_D22 LCD Pixel data bit 22 DSS_D23 LCD Pixel data bit 23...
Page 36
Pins Definitions Descriptions IIC_SDA IIC serial bidirectional data VDD18 1.8V VDD33 3.3V VDD50 VDD50 RESET Reset PWREN Power on enable Page | 30...
2.4.3 Audio Output Interface Pins Definitions Descriptions Right Right output Left Left output 2.4.4 Audio Input Interface Pins Definitions Descriptions MIC MAIN P Right input MIC MAIN N Left input 2.4.5 Serial Interface Pins Definitions Descriptions Receive data Transit data Request To Send Page | 31...
Pins Definitions Descriptions Clear To Send 2.4.6 Ethernet Interface Pins Definitions Descriptions TX+ output TX- output RX+ input VDD25 2.5V Power for TX/RX VDD25 2.5V Power for TX/RX RX- input 3.3V Power for LED LED1 Speed LED LED2 Link LED 3.3V Power for LED 2.4.7 USB OTG Interface Pins...
Pins Definitions Descriptions 2.4.8 USB HOST Interface Pins Definitions Descriptions VBUS USB Data- USB Data+ USB ID 2.4.9 SD Card Interface Pins Definitions Descriptions CD/DAT3 Card detect/Card data 2 DCMD Command Signal Clock TF_DAT0 Card data 0 TF_DAT1 Card data 1 TF_DAT2 Card data2 SW_2...
2.4.10 LED Indicators LEDs Definitions Descriptions LED_POWER 3.3V power indicator User LED User custom LED 2.4.11 Buttons Buttons Definitions Descriptions CN12 BOOTJUMP Boot system from TF card CN11 Reset Reset system Page | 34...
The SBC8140 has a complete Linux system (with 4.3” LCD support) preinstalled in its on-board NAND Flash. This chapter contains several sections to introduce the Linux system of the SBC8140 in detail, including the structure of the embedded Linux system, software features, system development process, driver introduction and development, and system updating.
Second-level booting program; it is used to interact with users and provide functions such as updating image files and booting the core. Kernel: Core 2.6.32 version; customized for the SBC8140. Roofs: Open source ubifs file system; it is suited for embedded systems.
Software Descriptions Code Type USB OTG 2.0 driver (currently only usb otg Source code supports USB device mode) usb ehci USB ehci driver Source code Supports VGA signal output Source code Sound card driver (support audio audio Source code recording/playback) camera Camera driver Source code...
Execute the following instructions to uncompress the source code from /linux/source of DVD-ROM to the Ubuntu system; mkdir $HOME/work cd $HOME/work tar xvf /media/cdrom/linux/source/x-loader-03.00.02.07.tar.bz2 tar xvf /media/cdrom/linux/source/u-boot-03.00.02.07.tar.bz2 tar xvf /media/cdrom/linux/source/linux-2.6.32-sbc8140.tar.bz2 sudo tar xvf /media/cdrom/linux/source/rootfs.tar.bz2 tar /media/cdrom/linux/demo/Android/source/rowboat-android-froyo-sbc8140 .tar.bz2 Page | 38...
Page 45
After instructions executed, directories x-loader-03.00.02.07, u-boot-03.00.02.07, linux-2.6.32-sbc8140, rootfs and rowboat-android-froyo-sbc8140 are created under current directory. 2. Compiling First-Level Booting Code; Execute the following instructions to compile the first-level booting code for SD card boot-up mode; cd x-loader-03.00.02.07 make distclean ...
Page 46
4. Compiling Kernel; The operations for a Linux system are as follows: cd linux-2.6.32-sbc8140 make distclean make omap3_sbc8140_defconfig make uImage The operations for an Android system are as follows: cd linux-2.6.32-sbc8140 make distclean make omap3_sbc8140_android_defconfig ...
Note: Before the compilation of an Android file system, the Android kernel source code linux-2.6.32-sbc8140 needs to be compiled first, or errors might occur during the process. 3.3.3 Customizing the System There are many configurations available for users to add or remove drivers and features in the Linux core so as to meet requirements.
Figure 13: USB Gadget Drivers submenu Set the option File-backed Storage Gadget to M, and then exit and save changes. 3. Execute the following instructions to compile the core; make uImage make modules After the instructions are executed, a core image file named uImage and a module file g_file_storage.ko are generated under /arch/arm/boot/ and /drivers/usb/gadget/ respectively.
SD/MMC core implements the structure independent core code in SD/MMC related operations; mmc_block implements the driver structure used when SD/MMC cards work as block devices; mmc_queue implements management of the request queue; SD/MMC driver implements the controller drivers; linux-2.6.32-sbc8140/drivers/mmc/ Reference linux-2.6.32-sbc8140/drivers/mmc/host/omap_hsmmc.c Page | 46...
The digital interface manages the LCD output, while the analogue one manages the TV output. The main function of a display driver is to provide interfaces for the upper application layer and manage the hardware components of the display subsystem. linux-2.6.32-sbc8140/drivers/video/omap2/ Reference linux-2.6.32-sbc8140/drivers/video/omap2/omapfb/omapfb-main.c linux-2.6.32-sbc8140/drivers/video/omap2/displays/panel-omap3-sbc8140.c Page | 47...
3.4.4 Video Capture Driver Figure 17: Working Principle of Video Capture V4L2 Subsystem: The V4L2 subsystem of a Linux system works as the medium layer which helps access the camera driver. The upper-layer applications of the camera can access drivers through the API of the V4L2. The V4L2 subsystem of the Linux 2.6 core is designed based on the V4L2 standard.
Page 55
CCDC Library: As a hardware module for data input, the CCDC receives data from sensors/decoders. The CCDC library provides an API for configuring the CCDC module and being called by camera driver. linux-2.6.32-sbc8140/drivers/media/video/ linux-2.6.32-sbc8140/drivers/media/video/omap34xxcam Reference linux-2.6.32-sbc8140/drivers/media/video/tvp514x-int.c Page | 49...
3.4.5 Audio Input/Output Driver Figure 18: Working principle of audio input/output The ASoC embedded audio system is comprised of the following parts; Codec Driver: The codec driver is platform independent and contains audio controls, audio interface capabilities, codec DAPM definition and codec IO functions. ...
Reference linux-2.6.32-sbc8140/sound/soc/omap/omap3sbc8140.c linux-2.6.32-sbc8140/sound/soc/codecs/twl4030.c 3.5 Driver Development This section will introduce how to develop drivers with two examples, GPIO_Keys and GPIO_LEDs. 3.5.1 GPIO_Keys Driver 1. Device Definition; source file: board-omap3sbc8140.c saved under /linux-2.6.32-sbc8140/arch/arm/mach-omap2/; static struct gpio_keys_button gpio_buttons[] = { .code = KEY_F1, .gpio...
Page 58
.platform_data = &gpio_key_info, Set GPIO 26 as the menu key, returning the key value KEY_F1, triggered by a low voltage level. 2. GPIO pinmux Configuration; file sbc8140.h saved under /u-boot-03.00.02.07/board/timll/sbc8140/; * IEN - Input Enable * IDIS - Input Disable...
Page 59
.owner = THIS_MODULE, #ifdef CONFIG_PM = &gpio_keys_pm_ops, #endif static int __init gpio_keys_init(void) return platform_driver_register(&gpio_keys_device_driver); static void __exit gpio_keys_exit(void) platform_driver_unregister(&gpio_keys_device_driver); module_init(gpio_keys_init); module_exit(gpio_keys_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Phil Blundell <pb@handhelds.org>"); MODULE_DESCRIPTION("Keyboard driver for CPU GPIOs"); MODULE_ALIAS("platform:gpio-keys"); Call input_register_device to register input driver; static int __devinit gpio_keys_probe(struct platform_device *pdev) …...
Page 60
bdata->button = button; error = gpio_keys_setup_key(dev, bdata, button); if (error) goto fail2; if (button->wakeup) wakeup = 1; input_set_capability(input, type, button->code); error = input_register_device(input); … Apply for GPIO, set GPIO as input, and register GPIO interrupt; static int __devinit gpio_keys_setup_key(struct device *dev, struct gpio_button_data *bdata,...
Page 61
" direction for GPIO %d, error %d\n", button->gpio, error); goto fail3; irq = gpio_to_irq(button->gpio); if (irq < 0) { error = irq; dev_err(dev, "Unable to get irq number for GPIO %d, error %d\n", button->gpio, error); goto fail3; error = request_irq(irq, gpio_keys_isr, IRQF_SHARED | IRQF_TRIGGER_RISING IRQF_TRIGGER_FALLING,...
Page 63
Associates GPIO 136 with led0 (system breath LED), GPIO 137 with led1, GPIO 138 with led2, and GPIO 139 with led3; they are all valid upon a low voltage level. 2. GPIO pinmux Configurations; file: sbc8140.h saved under /u-boot-03.00.02.07/board/timll/sbc8140/; * IEN - Input Enable...
Page 64
Sets GPIOs 136, 137, 138 and 139 as M4 (GPIO mode) and IDIS (input not allowed) Driver Design; 1) source file: leds-gpio.c saved under /linux-2.6.32-sbc8140/drivers/leds/; Call platform_driver_register to register gpio_leds driver; static struct platform_driver gpio_led_driver = { .probe = gpio_led_probe, .remove = __devexit_p(gpio_led_remove), .driver .name = "leds-gpio",...
Page 65
platform_driver_unregister(&gpio_led_driver); #endif #ifdef CONFIG_LEDS_GPIO_OF of_unregister_platform_driver(&of_gpio_leds_driver); #endif module_init(gpio_led_init); module_exit(gpio_led_exit); MODULE_AUTHOR("Raphael Assenat <raph@8d.com>, Trent Piepho <tpiepho@freescale.com>"); MODULE_DESCRIPTION("GPIO LED driver"); MODULE_LICENSE("GPL"); Apply for GPIO, and call led_classdev_register to register led_classdev driver; static int __devinit gpio_led_probe(struct platform_device *pdev) … leds_data kzalloc(sizeof(struct gpio_led_data) pdata->num_leds, GFP_KERNEL); …...
Page 66
… ret = gpio_request(template->gpio, template->name); … gpio_direction_output(led_dat->gpio, led_dat->active_low ^ state); … ret = led_classdev_register(parent, &led_dat->cdev); … Call gpio_led_set function to control LEDs’ status by accessing /sys/class/leds/xxx/brightness; static void gpio_led_set(struct led_classdev *led_cdev, enum led_brightness value) … gpio_set_value(led_dat->gpio, level); Page | 60...
3.6.1 Updating System in an SD Card 1. Formatting SD Card; You can download the HP USB Disk Storage Format Tool 2.0.6 from: http://www.embest-tech.com/resource/download/HP-USB-Disk-S torage-Format-Tool.rar And use it to format an SD card; the figure shown below is the tool’s interface;...
Page 68
Copy all the files under X:\linux\image\ to an SD card (where X is the label of your DVD drive), and then insert it into the SBC8140 and power on the system; the information on the serial interface is shown below;...
Page 69
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: OMAP3 SBC8140 Board Memory policy: ECC disabled, Data cache writeback OMAP3630/DM3730 ES1.0 (l2cache iva sgx neon isp 192mhz_clk ) SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000 Reserving 12582912 bytes SDRAM for VRAM Built 1 zonelists in Zone order, mobility grouping on.
Page 73
usbcore: registered new interface driver usb-storage USB Mass Storage support registered. g_ether gadget: using random self ethernet address g_ether gadget: using random host ethernet address usb0: MAC 1e:8b:da:88:c8:d7 usb0: HOST MAC d2:49:09:b6:08:e4 g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 g_ether gadget: g_ether ready musb_hdrc musb_hdrc: MUSB HDRC host driver musb_hdrc musb_hdrc: new USB bus registered, assigned bus number...
Page 74
No device for DAI omap-mcbsp-dai-0 No device for DAI omap-mcbsp-dai-1 No device for DAI omap-mcbsp-dai-2 No device for DAI omap-mcbsp-dai-3 No device for DAI omap-mcbsp-dai-4 OMAP3 SBC8140 SoC init asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok ALSA device list: #0: omap3sbc8140 (twl4030) TCP cubic registered...
Page 75
tvp514x 2-005d: Unable to detect decoder omapdss DPI error: display already enabled omap_vout omap_vout: 'lcd' Display already enabled omapdss DPI error: display already enabled omap_vout omap_vout: 'lcd' Display already enabled omap_vout omap_vout: Buffer Size = 3686400 omap_vout omap_vout: : registered and initialized video device omap_vout omap_vout: Buffer Size = 3686400 omap_vout omap_vout: : registered and initialized video device RAMDISK: gzip image found at block 0...
The above information indicates that the Linux system has booted up successfully from the SD card. Note: By default the SBC8140 boots from NAND Flash; pressing and holding the BOOT button before connecting the power can force it to boot from an SD card.
Page 77
3. Insert the SD card into the SBC8140 and power it on; when the information on the serial interface shows a countdown in seconds, press any key on your PC’s keyboard to enter u-boot mode; Texas Instruments X-Loader 1.47 (Mar 1 2013 - 17:05:22)
Page 79
1. Configuring for a 4.3” LCD; Execute the following instructions in u-boot mode to configure for 4.3” display mode; OMAP3 SBC8140 # setenv defaultdisplay lcd OMAP3 SBC8140 # setenv dispmode 4.3inch_LCD OMAP3 SBC8140 # saveenv 2. Configuring for a 7” LCD;...
3. Configuring for VGA; Execute the following instructions in u-boot mode to configure for VGA display mode; OMAP3 SBC8140 # setenv defaultdisplay lcd OMAP3 SBC8140 # setenv dispmode VGA OMAP3 SBC8140 # saveenv 4. Configuring for LVDS; Execute the following instructions in u-boot mode to configure for LVDS display mode;...
Draw points and lines on the screen as you see the prompt information to proceed with testing; 3.8.3 Testing the RTC The SBC8140 has a hardware clock which can store and recover the system clock; please carry out testing of the RTC through the following steps;...
The above information indicates that the system clock has been recovered with the hardware clock; Note: SBC8140 is not provided with a CR2032 battery by default, this must be purchased separately. 3.8.4 Testing an SD Card 1. Insert an SD card into the SBC8140, the system will mount it under /media/ automatically;...
USB interface on the PC; 1. After the system boots up, connect the SBC8140 to your PC with a Mini B-to-USB A cable, then install the Linux USB Ethernet driver; please refer to Appendix 2:Driver Installation...
Page 84
(TCP/IP) to open the following window; Figure 20: Setting IP Address Set the IP address of the USB virtual network interface as the same network segment as that SBC8140’s IP was set in, and then click OK; Page | 78...
The above information indicates the network has been created successfully. 3.8.6 Testing USB HOST 1. Insert a flash disk into the USB interface on the SBC8140, the system will display the following information; root@SBC8140:/# usb 1-1.4: new high speed USB device using ehci-omap and address 3 scsi0 : usb-storage 1-1.4:1.0...
SBC8140, and then execute the following instruction to start audio recording; root@SBC8140:~# arecord -t wav -c 1 -r 44100 -f S16_LE -v k The information in the HyperTerminal window is shown below; Recording WAVE 'k' : Signed 16 bit Little Endian, Rate 44100...
-t wav -c 2 -r 44100 -f S16_LE -v k The information in the HyperTerminal window is shown below; Playing WAVE 'k' : Signed 16 bit Little Endian, Rate 44100 Hz,...
The above information indicates the network is working properly. 3.8.9 Testing the CameraCam8000-A Connect the camera module (needs to be purchased separately), CCD camera and LCD screen to the SBC8140, and then execute the following instructions; root@SBC8140:~# saMmapLoopback The information in the HyperTerminal window is shown below;...
Capture: Number of requested buffers = 3 Capture: Init done successfully Display: Opened Channel Display: Capable of streaming Display: Number of requested buffers = 3 Display: Init done successfully Display: Stream on... Capture: Stream on... The images captured by the CCD camera can be seen on the LCD screen. 3.8.10 Testing the CDMA8000-U Module Please download the user manual for the module from: ...
3.8.12 Demonstration of the Android System Copy all the files under X:\linux\demo\Android\image (where X is the label of your DVD drive) to an SD card and insert it into the SBC8140, then power on the kit while pressing and holding the BOOT button (Button CN121);...
sync umount /media/LABEL1 umount /media/LABEL2 2. Insert the SD card into the SBC8140, then power on the kit while pressing and holding the BOOT button(Button CN12)and power on the kit; the information in the HyperTerminal window is shown below;...
Page 93
Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK Starting kernel ... //Middle section is omitted 中间部分省略 …… Formatted: Font: (Default) Courier New, Bold Arago Project http://arago-project.org dm37x-evm ttyS2 Arago 2010.07 dm37x-evm ttyS2 dm37x-evm login:root (enter root here to log in) Enter the user name root to log in the system when you see prompt information dm37x-evm login in the HyperTerminal window;...
This section will introduce the common process of application development through an LED example application. 1. Compose the source code led_acc.c to instruct the three LEDs on the SBC8140 to blink in the mode of an accumulator; #include <stdio.h> #include <unistd.h>...
Page 95
2. Execute the following instruction in an Ubuntu Linux system to implement cross compilation; arm-none-linux-gnueabi-gcc led_acc.c -o led_acc 3. Download the compiled files to the SBC8140 and enter the directory where the file led_acc is saved, then execute the following instruction to run the LED application;...
4 WinCE Operating System This chapter will mainly cover system and application development based on the SBC8140 under Windows Embedded CE 6.0 R3, as well as the software resources and features on the DVD-ROM, building a development environment, and how to compile projects and the BSP (Board Support Package).
4.3 Process of System Development This section will walk you through the system development process by introducing installation (integrated development environment), uncompressing/copying of the BSP and example projects, and the compilation of a first-level sysgen and the BSP. 4.3.1 Installing the IDE To build a WinCE IDE, a series of software (as listed in the following table) needs to be installed under Windows XP or Vista;...
10_ARMV4I_Release to an SD card and insert it into the SBC8140, then power on the kit; 4. Press the Space key on your PC’s keyboard to enter the eboot menu and type a to select a proper graphic output, and then type the number 0 to boot the system;...
This section will show you how to update the WinCE system in an SD card and NAND Flash. 4.5.1 Updating the System in an SD Card You can download the HP USB Disk Storage Format Tool 2.0.6 from: http://www.embest-tech.com/resource/download/HP-USB-Disk-S torage-Format-Tool.rar. Formatted: Font: Bold http://www.embedinfo.com/english/download/SP27213.exe Formatted: Normal And use it to format an SD card;...
Page 105
Figure 22: Format SD Card 1. Select FAT32 in the File system drop-down menu, and then click Start to format the SD card. 2. Copy files MLO, EBOOTSD.nb0 NK.bin from X:\WINCE600\image\ (where X is the label of your DVD drive) to the SD card;...
Page 106
3. Insert the SD card into the SBC8140 and power it on while pressing and holding the BOOT button (Button CN121); the information in the HyperTerminal window is shown below; Texas Instruments Windows CE SD X-Loader for EVM 3730 Built May 29 2012 at 14:43:06 Version BSP_WINCE_ARM_A8 1.01.00.03...
Page 107
4. When you see the HyperTerminal information counting down in seconds, please press the Space key on your PC’s keyboard to enter the eboot menu. 5. Type a in the following eboot menu; ----------------------------------------------------------- --------------------- Main Menu ----------------------------------------------------------- --------------------- [1] Show Current Settings [2] Select Boot Device [3] Select KITL (Debug) Device [4] Network Settings...
Once the booting process is completed, the WinCE system is updated and booted up successfully. Note: By default the SBC8140 boots from NAND Flash; pressing and holding the BOOT button before connecting the power can force it to boot from an SD card.
X:\WINCE600\image\ (where X is the label of your DVD drive) to the SD card, and then rename EBOOTNAND.nb0 to EBOOTND.nb0. 2. Insert the SD card into the SBC8140, and then power it on while pressing and holding the BOOT button; when you see the HyperTerminal information counting down in seconds, press the Space key to enter the eboot menu;...
C:\TI\wince_gfx_sgx_01_01_00_patch_01\PowerVR- SDK\OGLES1.1\Binaries\ Demos or the *.exe file under C:\WINCE600\PUBLIC\PowerVR\oak\target\Rev125\ ARMV4I\retail\ to the WinCE system of the SBC8140, and then double-click the demo to run it; 4.6.2 CAM8000-A Module 1. Modify the line set BSP_NODIGITAL_CAMERA in file mini8510.bat as shown below;...
(needs purchased separately) to the SBC8140 and power it on, then execute the CameraDshowApp_analog.exe (saved on the SD card) under a WinCE system to test the CAM8000-A module; 4.6.3 CAM8000-D Module 1. Modify the line set BSP_NODIGITAL_CAMERA in the file mini8510.bat as shown below;...
Page 112
SBC8140; 5. Connect camera module (needs purchased separately) to the SBC8140 and power it on, and then execute the CameraDshowApp_digital.exe (saved on the SD card) under a WinCE system to test the CAM8000-D module; Page | 106...
GPIO API and example applications. The APIs involved when developing applications based on the SBC8140 are using the Windows Embedded CE 6.0 API and have been expanded only in GPIO interface definition. The applications that control pin status can be found under X:\WINCE600\app\GPIOAppDemo (where X is the label of your PC’s DVD drive).
Page 114
IOCTL Code Descriptions IOCTL_GPIO_SETBIT The GPIO pin will be set as 1 IOCTL_GPIO_CLRBIT The GPIO pin will be cleared IOCTL_GPIO_GETBIT Read the GPIO pin status IOCTL_GPIO_SETMODE Set the working mode of the GPIO pin IOCTL_GPIO_GETMODE Read the working mode of the GPIO pin Read the corresponding IRQ number of the IOCTL_GPIO_GETIRQ GPIO pin...
Page 115
Id is the GPIO pin number; mode is the GPIO mode definition; the following table lists all the mode definitions; Mode Definitions Descriptions GPIO_DIR_OUTPUT Output mode GPIO_DIR_INPUT Output mode GPIO_INT_LOW_HIGH Triggered on rising edge GPIO_INT_HIGH_LOW Triggered on falling edge GPIO_INT_LOW Triggered by low level GPIO_INT_HIGH Triggered by high level...
Page 116
6. Read corresponding IRQ number of the GPIO pins; DWORD id = 0, irq = 0; DeviceIoControl(hFile, IOCTL_GPIO_GETIRQ, &id, sizeof(DWORD), &irq, sizeof(DWORD), NULL, NULL); Id is the GPIO pin number; irq returns its IRQ number; 7. Disable the GPIO device; CloseHandle(hFile);...
Appendix 1: Installing an Ubuntu Linux System An appropriate development environment is required for software development. The CD included with the product contains a development environment which needs to be installed under a Linux environment. If you are working on a PC running Windows, you have to create a Linux system first, and then you can install the environment.
Page 118
2. Click Next to create a new virtual machine. 3. Enter a name for the new virtual machine and select the operating system type as shown below: Enter a name in the Name field, e.g. Ubuntu, and select Linux in the Operating System drop-down menu, and then click Next.
Page 119
Note: If your PC has 1GB of RAM or lower, keep the default setting; If your PC has more than 1GB of RAM, you can allocate up to 1/4 to the virtual machine, for example, 512MB out of 2GB memory could be allocated to virtual machine.
Page 120
7. Select Fixed-size storage in the following window and click Next 8. Define where the hard disk data is stored and the default space of the virtual disk (8GB at least), and then click Next 9. Click Finish in the following window Page | 114...
Page 121
10. Your PC will then create a new virtual disk 11. A window with summary of the newly created virtual machine will be shown as below when the creation process is done. Please click Finish to complete the whole process. Page | 115...
1.2 Installing the Ubuntu Linux System After VirtualBox is installed, we can install the Ubuntu Linux system. Visit: http://www.Ubuntu.com/download/Ubuntu/download to download the ISO image file of Ubuntu and then follow the steps below: 1. Start VirtualBox from the Start menu and click Settings on the VirtualBox window.
Page 123
the right side of the window, and then find the ISO file you downloaded 3. Select the ISO file you downloaded and click OK as shown below 4. Click Start on the VirtualBox window, the Ubuntu installation program will start as shown below: Page | 117...
Page 124
5. Some prompt windows will pop up during the initiation process. You need only click OK all the way to the end of the process. 6. Click Install Ubuntu to start installation when the following window appears 7. Click Forward to continue the process Page | 118...
Page 125
8. Select Erase disk and install Ubuntu and click Forward Note: Selecting this option will only affect the virtual hard drive you created earlier and will not lead to any content loss on your physical hard drive. 9. Click Install Now in the following window to start the installation: Page | 119...
Page 126
10. Some simple questions need to be answered during the installation process. Please enter appropriate information and click Forward. The following window is the last question that will appear during the process: 11. After all the required information is properly entered in to the fields, select Log in automatically and click Forward.
Page 127
Note: The Normally the ISO file shown below will be ejected automatically by VirtualBox after restarting Ubuntu. If it is not, you can eject the ISO file manually in the Settings window of VirtualBox. The following window shows the settings window after the ISO file is ejected. 13.
Appendix 2: Driver Installation Of Linux USB Ethernet/RNDIS Gadget 1. If you don’t install drivers for the Linux USB Ethernet/RNDIS Gadget, the PC will find the new hardware and give you a hint on the screen, please select “From list or designated location”, then click “Next” 2.
Page 130
3. When the following appears, select “Continue” 4. Please wait until the installation is completed Page | 124...
Appendix 3: Making a Linux Boot Disk The following content will show you how to create a dual-partition flash disk for booting up a Linux system from the first partition, while saving the root filesystem in the second one; 1. Insert a TF card into a TF card reader and then connect the reader to your PC;...
Page 133
Note: If TF card has two or more partitions, there would be multiple paths such as /dev/sdc1, /dev/sdc2 and /dev/sdc3 corresponding to the partitions. 3. Execute the following instruction to unmount the device; $ umount /media/disk 4. Execute an fdisk instruction; $ sudo fdisk /dev/sdc Please make sure you type the device path for the whole device, not one of the partitions such as /dev/sdc1 or /dev/sdc2;...
Page 134
Command (m for help): [ x ] (type x to enter expert mode) Expert Command (m for help): [ h ] (type h to set heads) Number of heads (1-256, default xxx): [ 255 ] (set heads to 255) Expert Command (m for help): [ s ] (type s to set sectors) Number of sectors (1-63, default xxx): [ 63 ] (set sector to 8.
Page 135
[ +5 ] (enter +5) Command (m for help): [ t ] (type t) Selected partition 1 Hex code (type L to list codes): [ c ] (type c to set partition type) Changed system type of partition 1 to c (W95 FAT32 (LBA)) 11.
Page 136
14. Type w to save new partition records as shown below; Command (m for help): [ w ] The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table.
Appendix 4: TFTP Server Setup 1. Install client $>sudo apt-get install tftp-hpa $>sudo apt-get install tftpd-hpa 2. Install inet $>sudo apt-get install xinetd $>sudo apt-get install netkit-inetd 3. Configure the server First, create tftpboot under root directory, and set the properties as “a random user can write and read”...
Page 138
socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 = 100 2 4. Reboot the server: $>sudo /etc/init.d/xinetd restart $>sudo in.tftpd -l /tftpboot 5. Test the server Conduct a test;...
Appendix 1: ESD Precautions & Handling Procedures Please note that the board comes without any case/box and all components are exposed. Therefore, extra attention must be paid to ESD (electrostatic discharge) precautions. To effectively prevent electrostatic damage, please follow the steps below: ...
Appendix 2: Technical support & Warranty Embest Technology Co., Ltd. established in March of 2000, is a global provider of embedded hardware and software. Embest aims to help customers reduce time to market with improved quality by providing the most effective total solutions for the embedded industry. In the rapidly...
Embest Technology, or alteration from factory specifications, or configured or expanded with components that are not provided or recognized by Embest Technology; Product failures due to the software or systems installed by customers, inappropriate software settings or computer viruses;...
Note: Embest do not supply a maintenance service for LCDs. We suggest the customer immediately checks the LCD once in receipt of the goods. In the event that the LCD does not run or shows no display, the customer should inform Embest within 7 business days of delivery.
2.4 Value Added Services We will provide following value added services: Driver development based on Embest embedded platforms for devices such as: serial ports, USB interface devices, and LCD screens. Control system transplantation, BSP driver development, API software development.
Need help?
Do you have a question about the SBC8140 and is the answer not in the manual?
Questions and answers