SBC8140 Single Board Computer User Manual Version 1.
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., Ltd. Revision History: Version Date Description 1.0 20/03/2013 Original Version 1.
Table of Contents 1 Product Overview ............................................................ 1 1.1 Introduction ................................................................. 1 1.2 Kit Contents ................................................................. 1 1.3 Product Features ........................................................... 2 1.3.1 Mini8510 Core Board ............................................................... 2 1.3.2 Expansion Board .............................................
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 ................................................
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.
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.
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. It is connected with the SBC8140 expansion board through two 1.27mm space 2x45-pin dip connectors.
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.
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.
1.3.2 Expansion Board Figure 3: SBC8140 Expansion Board Operational Parameters: Dimensions: 165x115mm Operation temperature: 0 ~ 70°C Operating Humidity: 20% ~ 90% (Non-condensing) Power Supply: 5V/2A Audio/Video Interfaces: LCD/touch-screen interface (24-bit RGB full-colour output; 50-pin FPC connector) Standard VGA interface, supports 1024x768 resolution by default Audio input interface (3.5mm audio jack) Dual-channel audio output interface (3.
10/100Mbps Ethernet interface (RJ45 connector) High-speed USB 2.0 OTG interface with PHY (480Mbps mini-USB interface) Four high-speed USB 2.
1.
1.
1.6 Hardware Dimensions 1.6.
1.6.
1.
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 The MINI8510 core board uses the DM3730 – TI’s 45-nm high-performance processor with low power and enhanced digital media processing capability.
2.1.
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 TPS65930 communicates with the CPU through the I2C protocol. It supplies 1.2V and 1.8V to keep CPU working properly. Additionally, the TPS65930 features Audio in, Audio out, OTG PHY, Keyboard, ADC and GPIO functions. 2.2.2 H9DA4GH2GJAMCR Memory The H9DA4GH2GJAMCR is a two-in-one memory which combines 512MB of NAND Flash and 256MB of SDRAM DDR. The NAND Flash is accessed through the GPMC bus, while the SDRAM is accessed through the Controller (SDRC). 2.2.
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. The devices require only four small 0.1µF external charge-pump capacitors.
2.3 Hardware Interfaces and LEDs on Mini8510 Figure 10: MINI8510 2.3.
Pins Definitions Descriptions 12 G_D2 GPMC data bit 2 13 G_D11 GPMC data bit 11 14 G_D1 GPMC data bit 1 15 G_D4 GPMC data bit 4 16 G_D0 GPMC data bit 0 17 G_A2 GPMC address bit 2 18 G_A3 GPMC address bit 3 19 G_A1 GPMC address bit 1 20 G_A6 GPMC address bit 6 21 G_A4 GPMC address bit 4 22 G_A7 GPMC address bit 7 23 G_A5 GPMC address bit 5 24 G_A8 GPMC address bit 8 25 G_A9 GPMC address bit 9 26 G_D15 GPMC data bit 15 27 G_A10 GPMC address bit 10 28 GND2 G
Pins Definitions Descriptions 34 SPI1_CS3 SPI Enable 3 35 SPI1_CS0 SPI Enable 0 36 SPI1_SIMO Slave data in, master data out 37 SPI1_SOMI Slave data out, master data in 38 SPI1_CLK SPI Clock 39 GND3 GND 40 GPIO0 GPIO0 /card detection 1 41 MMC2_D2/SPI3_CS1 42 MMC2_D3/SPI3_CS0 43 MMC2_D0/SPI3_SOMI 44 MMC2_D1 MMC/SD Card Data bit 1 MMC2_CMD/SPI3_SIM MMC/SD O data in, master data out 46 MMC2_CLK/SPI3_CLK MMC/SD Output ClockSPI Clock 47 BSP3_DR/UART2_RTS 48 BSP3_CLK/UART
Pins Definitions Descriptions 53 UART1_TX UART1 Transmit data 54 UART1_RX UART1 Receive data 55 UART1_RTS UART1 Request To Send 56 USB1HS_STP 57 USB1HS_D3 58 USB1HS_D5 59 USB1HS_6 60 USB1HS_D7 61 USB1HS_D1 62 USB1HS_D2 63 USB1HS_D4 64 USB1HS_D0 65 USB1HS_NXT 66 USB1HS_CLK 67 GND6 68 USB1HS_DIR 69 SYS_CLKOUT1 Dedicated for external transceiver Stop signal Dedicated for external transceiver Bidirectional data bus Dedicated for external transceiver Bidirectional data bus
Pins Definitions Descriptions 70 LEDA LED leg A 71 LEDB LED leg B 72 ADCIN0 ADC input0 (Battery type) 73 NRESPWRON Power On Reset 74 NRESWARM 75 SYSEN System enable output 76 GND6 GND 77 REGEN Enable signal for external LDO 78 ADCIN1 79 KC0 Keypad column 0 80 KC1 Keypad column 0 81 KC2 Keypad column 0 82 KC3 Keypad column 0 83 AUDIO_IN Analogue microphone bias 1 84 AUDIO_OR 85 AUXR 86 AUDIO_OL 87 GND7 GND 88 VBAT1 Power supply (3V - 4.2V 1.
2.3.
Pins Definitions Descriptions 20 MMC1_D3 MMC/SD Card Data bit 3 21 GND2 GND 22 MMC1_CLK MMC/SD Output Clock 23 MMC1_CMD MMC/SD command signal 24 VMMC1 25 UART3_RX UART3 Receive data 26 UART3_CTS UART3 Clear To Send 27 UART3_TX UART3 Transmit data 28 UART3_RTS UART3 Request To Send 29 DSS_ACBIAS 30 DSS_VSYNC LCD Vertical Synchronization 31 GND3 GND 32 DSS_HSYNC LCD Horizontal Synchronization 33 DSS_CLK LCD Pixel Clock 34 DSS_D6 LCD Pixel Data bit 6 35 DSS_D8 LC
Pins Definitions Descriptions 43 DSS_D5 LCD Pixel Data bit 5 44 DSS_D4 LCD Pixel Data bit 4 45 GND4 GND 46 DSS_D2 LCD Pixel Data bit 2 47 DSS_D3 LCD Pixel Data bit 3 48 DSS_D0 LCD Pixel Data bit 0 49 DSS_D15 LCD Pixel Data bit 15 50 DSS_D11 LCD Pixel Data bit 11 51 DSS_D23 LCD Pixel Data bit 23 52 DSS_D22 LCD Pixel Data bit 22 53 DSS_D14 LCD Pixel Data bit 14 54 DSS_D19 LCD Pixel Data bit 19 55 DSS_D13 LCD Pixel Data bit 13 56 DSS_D21 LCD Pixel Data bit 21 57 DS
Pins Definitions Descriptions 67 GND6 GND 68 TV_OUTC 69 TV_OUTY 70 VDD33_1 71 IIC3_SCL 72 IIC3_SDA 73 IO25 General-purpose IO 183 74 IO27 General-purpose IO 183 75 BOOTJUMP Boot configuration mode bit 5.
Pins Definitions 88 GND8 89 VDD18_2 90 BKBAT Descriptions GND Power supply from TPS65930 (VIO 1.8V) Backup battery 2.3.3 CN3 JTAG Interface Pins Definitions Descriptions 1 VDD18 1.8V output 2 TMS Test mode select 3 TD1 Test data input 4 NTRST Test system reset 5 TD0 Test data output 6 RTCK Receive test clock 7 TCK Test clock 8 EMU0 Test emulation 0 9 EMU1 Test Emulation 1 10 GND GND 2.3.
Pins Definitions Descriptions 6 D4 Digital image data bit 4 7 D5 Digital image data bit 5 8 D6 Digital image data bit 6 9 D7 Digital image data bit 7 10 D8 Digital image data bit 8 11 D9 Digital image data bit 9 12 D10 Digital image data bit 10 13 D11 Digital image data bit 11 14 GND1 GND 15 PCLK Pixel clock 16 GND2 GND 17 HS Horizontal synchronization 18 VDD50 5V 19 VS Vertical synchronization 20 VDD33 3.
Pins 30 Definitions VDD18 Descriptions 1.8V 2.3.5 LED Indicators LEDs Definitions Descriptions D1 LED1 User custom LED D2 LED2 User custom LED D3 LED3 User custom LED D4 LED4 User custom LED D5 VDD18 Power indicator D6 VBAT Power indicator 2.
2.4.1 Power Jack Pins Definitions Descriptions 1 GND GND 2 +5V Power supply (+5V) 2A (Type) 2.4.
Pins Definitions Descriptions 19 DSS_D16 LCD Pixel data bit 16 20 DSS_D17 LCD Pixel data bit 17 21 DSS_D18 LCD Pixel data bit 18 22 DSS_D19 LCD Pixel data bit 19 23 DSS_D20 LCD Pixel data bit 20 24 DSS_D21 LCD Pixel data bit 21 25 DSS_D22 LCD Pixel data bit 22 26 DSS_D23 LCD Pixel data bit 23 27 GND GND 28 DEN 29 HSYNC LCD Horizontal Synchronization 30 VSYNC LCD Vertical Synchronization 31 GND GND 32 CLK LCD Pixel Clock 33 GND GND 34 X+ X+ Position Input 35
Pins Definitions Descriptions 43 IIC_SDA IIC serial bidirectional data 44 GND GND 45 VDD18 1.8V 46 VDD33 3.
2.4.3 Audio Output Interface Pins Definitions Descriptions 1 GND GND 2 NC NC 3 Right Right output 4 NC NC 5 Left Left output 2.4.4 Audio Input Interface Pins Definitions Descriptions 1 GND GND 2 NC NC 3 MIC MAIN P Right input 4 NC NC 5 MIC MAIN N Left input 2.4.
Pins Definitions Descriptions 8 CTS Clear To Send 9 NC NC 2.4.6 Ethernet Interface Pins Definitions Descriptions 1 TX+ TX+ output 2 TX- TX- output 3 RX+ RX+ input 4 VDD25 2.5V Power for TX/RX 5 VDD25 2.5V Power for TX/RX 6 RX- RX- input 7 NC NC 8 NC NC 9 VDD 3.3V Power for LED 10 LED1 Speed LED 11 LED2 Link LED 12 VDD 3.3V Power for LED 2.4.
Pins 5 Definitions GND Descriptions GND 2.4.8 USB HOST Interface Pins Definitions Descriptions 1 VBUS +5V 2 DN USB Data- 3 DP USB Data+ 4 ID USB ID 2.4.
2.4.10 LED Indicators LEDs Definitions Descriptions D4 LED_POWER 3.3V power indicator D5 User LED User custom LED 2.4.
3 Linux Operating System 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.
u-boot: 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. 3.
Software usb otg Descriptions Code Type USB OTG 2.0 driver (currently only supports USB device mode) Source code usb ehci USB ehci driver Source code VGA Supports VGA signal output Source code audio Sound card driver (support recording/playback) audio Source code camera Camera driver Source code Key Key driver led LEDs driver Source code Android Android system v2.2 Source code DVSDK DVSDK 4_00_00_22 system Source code Demo 3.
mkdir $HOME/tools cp /media/cdrom/linux/tools/mkimage $HOME/tools cp /media/cdrom/linux/tools/signGP $HOME/tools cp /media/cdrom/linux/tools/mkfs.ubifs $HOME/tools cp /media/cdrom/linux/tools/ubinize $HOME/tools cp /media/cdrom/linux/tools/ubinize.cfg $HOME/tools 3. Adding Environment Variables; Execute the following instructions to add installed tools into the environment variables; export PATH=$HOME/arm-eabi-4.4.
After all the instructions are executed, the 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 make omap3sbc8140_config make signGP x-load.bin mv x-load.bin.
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 make uImage After the above operations are executed, the uImage file will be generated in the directory arch/arm/boot. 5. Making Filesystem; To make a Ramdisk filesystem please visit: http://www.elinux.
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. The following example shows the process of making a custom system. 1. Entering Configuration Menu; By default, the configuration file is saved under /linux-2.
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. 3.
Software u-boot Description Paths NAND u-boot-03.00.02.07/drivers/mtd/nand/ ONENAND u-boot-03.00.02.07/drivers/mtd/onenand/ MMC/SD u-boot-03.00.02.07/drivers/mmc FAT u-boot-03.00.02.07/fs/fat/ u-boot-03.00.02.07/drivers/net/dm9000x. NET c Supports Kernel Linux-2.6 .x ROM/CRAM/EXT2/EX T3/FAT/NFS/ linux-2.6.32-sbc8140/fs/ JFFS2/UBIFS filesystems linux-2.6.32-sbc8140/drivers/serial/8250. serial Serial interface driver rtc Hardware clock driver linux-2.6.32-sbc8140/drivers/rtc/rtc-twl.
Software usb ehci VGA Description Paths linux-2.6.32-sbc8140/drivers/usb/host/eh USB ehci driver ci-hcd.c Support VGA signal linux-2.6.32-sbc8140/drivers/i2c/chips/ch output 7033.c linux-2.6.32-sbc8140/sound/soc/omap/om Sound audio card (support driver ap3sbc8140.c audio recording/playback) linux-2.6.32-sbc8140/sound/soc/codecs/t wl4030.c Digital: linux-2.6.32-sbc8140/drivers/media/video /omap34xxcam.c camera Camera driver Catalogue: linux-2.6.32-sbc8140/drivers/media/video /tvp514x-int.
3.4.1 NAND Flash Driver Figure 14: Working Principle of NAND Flash NAND flash is used as a block device and has a filesystem built into it. The interaction between users and NAND Flash is facilitated by a specific filesystem.
3.4.2 SD/MMC Driver Figure 15: Working Principle of SD/MMC The SD/MMC card drivers under a Linux system typically include four parts - SD/MMC core, mmc_block, mmc_queue and SD/MMC driver; 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.
3.4.3 Display Subsystem Driver Figure 16: Working Principle of Display Subsystem The hardware of the display subsystem includes a graphics channel, two video channels and two overlay management units; one of the units is responsible for the digital interface, another for the analogue interface. The digital interface manages the LCD output, while the analogue one manages the TV output.
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. Video Buffer Library: The Video Buffer Library is a part of the V4L2.
driver can support only one codec device associated a with camera controller. Codec Driver: The Codec driver needs to comply with the V4L2 master-slave interface standard and should be registered to the V4L2 as a slave device. Replacing the codec can be accomplished by rewriting the codec driver, without any change to the camera driver. CCDC Library: As a hardware module for data input, the CCDC receives data from sensors/decoders.
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. Platform Driver: The Platform driver contains the audio DMA engine and audio interface drivers (e.g. I2S, AC97, PCM) for that platform.
linux-2.6.32-sbc8140/sound/soc/ 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; The source file: board-omap3sbc8140.c is saved under /linux-2.6.32-sbc8140/arch/arm/mach-omap2/; static struct gpio_keys_button gpio_buttons[] = { { .code = KEY_F1, .gpio = 26, .
.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; The file sbc8140.h is saved under /u-boot-03.00.02.
.owner = THIS_MODULE, #ifdef CONFIG_PM .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
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 struct gpio_keys_button *bdata, *button) { char *desc = button->desc ? button->desc : "gpio_keys"; int irq, error; setup_timer(&bdata->ti
" 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, desc, bdata); if (error) { dev_err(dev, "Unable to claim irq %d; error %d\n", irq, error); goto fail3; } return 0; fail3: gpio_free(button->gpio); fail2: return error; } Inter
static void gpio_keys_work_func(struct work_struct *work) { … gpio_keys_report_event(bdata); … } static void gpio_keys_report_event(struct gpio_button_data *bdata) { struct gpio_keys_button *button = bdata->button; struct input_dev *input = bdata->input; unsigned int type = button->type ?: EV_KEY; int state = (gpio_get_value(button->gpio) ? 1 : 0) ^ button->active_low; input_event(input, type, button->code, !!state); input_sync(input); 3.5.2 GPIO_LEDs Driver 1.
*/ .active_low = true, }, { .name = "led3", .gpio = 139, /* gets replaced */ .active_low = true, }, }; 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; The file: sbc8140.h is saved under /u-boot-03.00.02.
Sets GPIOs 136, 137, 138 and 139 as M4 (GPIO mode) and IDIS (input not allowed) 1) The Driver Design; source file: leds-gpio.c is 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", .
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 , Trent Piepho
{ … ret = gpio_request(template->gpio, template->name); … ret = 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 System Update This section will briefly introduce the system update process on an SD card and NAND Flash. 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.
Select FAT32 in the File system drop-down menu, and then click Start to format the SD card. Note: HP USB Disk Storage Format Tool will erase the partitions of SDTF card. Use other format tool may cause the failure of the TF card booting 2. Updating Image Files; 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; Texas Instruments X-Loader 1.
** Unable to read "boot.scr" from mmc 0:1 ** reading uImage 2548700 bytes read reading ramdisk.gz 15345565 bytes read Booting from ramdisk ... ## Booting kernel from Legacy Image at 81000000 ... Image Name: Linux-2.6.32 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2548636 Bytes = 2.4 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux...................................................... ...
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 256MB = 256MB total Memory: 176768KB available (4388K code, 378K data, 164K init, 0K highmem) Hierarchical RCU implementation. NR_IRQS:402 Clocking rate (Crystal/Core/MPU): 26.0/266/600 MHz Reprogramming SDRC clock to 266000000 Hz dpll3_m2_clk rate change failed: -22 GPMC revision 5.0 IRQ: Found an INTC at 0xfa200000 (revision 4.
regulator: VSIM: 1800 <--> 3000 mV normal standby i2c_omap i2c_omap.2: bus 2 rev4.0 at 400 kHz i2c_omap i2c_omap.3: bus 3 rev4.0 at 400 kHz Switching to clocksource 32k_counter musb_hdrc: version 6.
brd: module loaded loop: module loaded omap2-nand driver initializing NAND device: Manufacturer ID: 0xad, Chip ID: 0xbc (Hynix NAND 512MiB 1,8V 16-bit) cmdlinepart partition parsing not available Creating 5 MTD partitions on "omap2-nand": 0x000000000000-0x000000080000 : "X-Loader" 0x000000080000-0x000000260000 : "U-Boot" 0x000000260000-0x000000280000 : "U-Boot Env" 0x000000280000-0x000000680000 : "Kernel" 0x000000680000-0x000020000000 : "File System" PPP generic driver version 2.4.
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 2 hub 2-0:1.0: USB hub found hub 2-0:1.
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 NET: Registered protocol family 17 NET: Registered protocol family 15 Power Management for TI OMAP3. Unable to set L3 frequency (400000000) Switched to new clocking rate (Crystal/Core/MPU): 26.
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 0 omap_vout omap_vout: Buffer Size = 3686400 omap_vout omap_vout: : registered and initialized video device 1 RAMDISK: gzip image found at block 0 EXT2-fs (ram0): warning: mount
| | | | |-----.-----.-----.| | | | | | | __ | | |--- .----..-----.-----. ---'| '--.| .-'| || --'| | | | ' | | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution SBC8140 ttyS0 Angstrom 2008.1-test-20090127 SBC8140 ttyS0 SBC8140 login: root (enter root to log in) The above information indicates that the Linux system has booted up successfully from the SD card.
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) Starting X-loader on MMC Reading boot sector 231872 Bytes Read from MMC Starting OS Bootloader from MMC... Starting OS Bootloader... U-Boot 2010.06-rc1-svn84 (Mar 04 2013 - 12:00:27) OMAP3630-GP ES2.
11648 bytes read HW ECC selected NAND write: device 0 offset 0x0, size 0x2d80 12288 bytes written: OK reading flash-uboot.bin 231872 bytes read SW ECC selected NAND write: device 0 offset 0x80000, size 0x389c0 233472 bytes written: OK reading uImage 2548700 bytes read SW ECC selected NAND write: device 0 offset 0x280000, size 0x26e3dc 2549760 bytes written: OK reading ubi.
Texas Instruments X-Loader 1.47 (Mar 1 2013 - 17:05:22) Starting X-loader on MMC Reading boot sector 231872 Bytes Read from MMC Starting OS Bootloader from MMC... Starting OS Bootloader... U-Boot 2010.06-rc1-svn84 (Mar 04 2013 - 12:00:27) OMAP3630-GP ES2.
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; OMAP3 SBC8140 # setenv defaultdisplay lcd OMAP3 SBC8140 # setenv dispmode LVDS OMAP3 SBC8140 # saveenv 3.
root@SBC8140:# echo 0 > /sys/class/leds/led2/brightness 4. Execute the following instructions to test LED3; root@SBC8140:# echo 1 > /sys/class/leds/led3/brightness root@SBC8140:# echo 0 > /sys/class/leds/led3/brightness When executing each instruction, the corresponding LED will be turned on or turned off. 3.8.2 Testing a Touch-Screen Boot up the SBC8140 from NAND Flash and start testing; 1.
root@SBC8140: # hwclock The information in HyperTerminal window is shown below; Mon Aug 8 20:01:01 2011 0.000000 seconds The above information indicates that system clock has been stored in the hardware clock; 4. Reboot the system and execute the following instructions to recover the system clock; root@SBC8140: # hwclock -s root@SBC8140: # date The information in the HyperTerminal window is shown below; Mon Aug 8 20:01:01 2011 0.
2. Execute the following instruction to view the contents of the SD card; root@SBC8140:/media# ls mmcblk0p1/ The information in the HyperTerminal window is shown below; flash-uboot.bin u-boot.bin mlo x-load.bin.ift_for_NAND uImage ramdisk.gz ubi.img 3.8.5 Testing a USB Device Testing of a USB device is accomplished by creating a network communication between the miniUSB interface on the kit and a USB interface on the PC; 1.
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:253 errors:0 dropped:0 overruns:0 frame:0 TX packets:43 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:35277 (34.4 KiB) TX bytes:10152 (9.9 KiB) 3. Right-click My Network Places on the desktop of your PC and select Properties to open the Network Connections window; you can find a new Local Area Connection in the window; 4.
5. Use a ping command in the HyperTerminal window to test if the network works properly; root@SBC8140:~# ping 192.168.1.15 The information in the HyperTerminal window is shown below; PING 192.168.1.15 (192.168.1.15): 56 data bytes 64 bytes from 192.168.1.15: seq=0 ttl=128 time=0.885 ms 64 bytes from 192.168.1.15: seq=1 ttl=128 time=0.550 ms The above information indicates the network has been created successfully. 3.8.6 Testing USB HOST 1.
3.8.7 Testing the Audio Function The SBC8140 has input/output interfaces which support audio recording and playback. The filesystem is integrated with the alsa-utils audio recording and playback tool. You can test it by following the steps below ; 1. Insert a microphone into the 3.
2. Insert an earphone into the 3.
The information in the HyperTerminal window is shown below; eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.192.192.203 Bcast:192.192.192.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:185 Base address:0x2000 2.
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: http://www.timll.com/chinese/uploadFile/cdma8000.
Notice: WCDMA8000-U is an optional module. It must be purchased separately. 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); The information in the HyperTerminal window is shown below; 60 Texas Instruments X-Loader 1.
mmc1 is available reading x-load.bin.ift_for_NAND 11668 bytes read HW ECC selected NAND write: device 0 offset 0x0, size 0x2d94 12288 bytes written: OK reading flash-uboot.bin 1152640 bytes read SW ECC selected NAND write: device 0 offset 0x80000, size 0x119680 1153024 bytes written: OK reading uImage 2573772 bytes read SW ECC selected NAND write: device 0 offset 0x280000, size 0x2745cc 2574336 bytes written: OK reading ubi.
3.8.13 Demonstration of the DVSDK System The DVSDK (Digital Video Software Development Kit) is software released by TI to build connections between ARM processors and DSPs. Applications are running on the ARM end which process IO interfaces and applications. ARM uses VISA APIs interface provided by the Codec Engine to process videos, images and audio signals; and then the Codec Engine communicates with the Codec Engine server created by DSP using a DSP/BIOS Link as well as xDIAS and xDM protocols.
Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK 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; 3.
height=(int)480 /GstPipeline:pipeline0/GstTIDmaiVideoSink:tidmaivideosink0. GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)UYVY, framerate=(fraction)30000/1001, width=(int)720, height=(int)480 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock A video clip will be played on the LCD screen. Note: For the details of DVSDK, please visit TI’s website or TMS320DM3730_Software_Developers_Guide.
int main(int argc, char *argv[]) { int f_led1, f_led2, f_led3; unsigned char i = 0; unsigned char dat1, dat2, dat3; if((f_led1 = open(LED1, O_RDWR)) < 0){ printf(“error in open %s”,LED1); return -1; } if((f_led2 = open(LED2, O_RDWR)) < 0){ printf(“error in open %s”,LED2); return -1; } if((f_led3 = open(LED3, O_RDWR)) < 0){ printf(“error in open %s”,LED3); return -1; } for(;;){ i++; dat1 = i&0x1 ? ‘1’:’0’; dat2 = (i&0x2)>>1 ? ‘1’:’0’; dat3 = (i&0x4)>>2 ? ‘1’:’0’; write(f_led1, &dat1, sizeof(dat1)); write(f_l
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.
4.
Categories Codes DM9000 network card driver Source Code USB OTG driver Source Code USB EHCI driver Source Code VRFB driver Source Code DSPLINKK/CMEMK driver Binary Code AAC/MPEG2/MPEG4/H264 Hardware decode filter SDK Code Types DSP Binary Code GPIO keyboard driver Source Code PWM(TPS65930) driver Source Code ADC(TPS65930) driver Source Code ONENAND driver Source Code Analogue Camera driver Source Code Digital Camera driver Source Code DMA driver Source Code RTC driver Source C
4.3 Process of System Development This section will walk you through the system development process by introducing the installation of an IDE (integrated development environment), uncompressing/copying of the BSP and example projects, and the compilation of a first-level sysgen and the BSP. 4.3.
Operation Uncompress Uncompress Uncompress Source Address Destination Address X:\WNCE600\bsp\mini8510. rar X:\WINCE600\bsp\COMMON C:\WINCE600\PLATFORM\COMMON\ _TI_V1.rar SRC\SOC X:\WINCE600\bsp\dvsdk_wi nce_01_11_00_02.rar X:\WINCE600\SGX\wince_gf x_sgx_01_01_00_patch_01 Install _setup.
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; 4.
Driver Names Paths SPI bsp\COMMON_TI_V1\COMMON_TI\SPI bsp\COMMON_TI_V1\COMMON_TI\MCBSP MCBSP driver bsp\COMMON_TI_V1\OMAP3530\MCBSP Series port driver bsp\COMMON_TI_V1\COMMON_TI\SERIAL bsp\COMMON_TI_V1\COMMON_TI\KEYPAD 6X6 keyboard driver bsp\mini8510\SRC\DRIVERS\TPS659XX_KEYPAD bsp\mini8510\SRC\DRIVERS\TPS659XX_WAVE Audio driver bsp\COMMON_TI_V1\TPS659XX\WAVE bsp\OMAP35XX_TPS659XX_TI_V1\omap35xx\BLOCK NAND driver bsp\COMMON_TI_V1\COMMON_TI\BLOCK bsp\COMMON_TI_V1\COMMON_TI\DSS Display driver ( LCD/DVI
Driver Names Paths mini8510\SRC\DRIVERS\USBHS VRFB driver bsp\ COMMON_TI_V1\COMMON_TI\VRFB DSPLINKK/CMEMK bsp\3rdParty\dvsdk_wince_01_11_00_02 AAC/MPEG2/MPEG4/H264 DSP hardware decode filter bsp\3rdParty\dvsdk_wince_01_11_00_02 bsp\COMMON_TI_V1\COMMON_TI\KEYPAD GPIO keyboard driver bsp\mini8510\SRC\DRIVERS\TPS659XX_KEYPAD PWM(TPS65930)driver bsp\ COMMON_TI_V1\TPS659XX\TLED ADC(TPS65930)driver bsp\ COMMON_TI_V1\TPS659XX\MADC bsp\mini8510\SRC\DRIVERS\CAMERA Camera driver bsp\mini8510\SRC\DRIVERS\C
If you need more examples of the development of WinCE drivers, please select: Start All Programs Microsoft Visual Studio 2005 Microsoft Visual Studio Document Content(C) Windows Embedded CE 6.0 Develop a Device Driver From your PC’s desktop. 4.5 System Update 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.
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 the files MLO, EBOOTSD.nb0 and NK.bin from X:\WINCE600\image\ (where X is the label of your DVD drive) to the SD card; Notice: HP USB Disk Storage Format Tool will erase the partitions of TF card. Use other format tool may cause the failure of the TF card bootingIf partitions need to be retained, please use the format function of Windows system.
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; 60 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 open ebootsd.
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.
[8] DVI 1280x720 60Hz [0] Exit and Continue Selection (actual LCD 480x272 60Hz):4 7.
Please refer to 3.6.1 Updating System in an SD Card to find how to format an SD card. After the SD card formatting is done, copy the files MLO, EBOOTSD.nb0, EBOOTNAND.nb0, NK.bin and XLDRNAND.nb0 from 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.
Figure 23: Select PowerVR branch 2. Select Build > Build Solution on the menu bar of the Visual Studio 2005 window to generate an nk.bin file, and then use it to overwrite the file with the same name on the SD card; 3. Copy all the files located in the folder: C:\TI\wince_gfx_sgx_01_01_00_patch_01\PowerVRSDK\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.
Figure 24: DirectShow Branch 3. Select Third Party > BSP > mini8510:ARMV4I > drivers > camera in the Catalogue Items View tree view on the left side of the Visual Studio 2005 window, and then select Build > Rebuild Solution on the menu bar to start compiling; 4. Copy the generated file CameraDshowApp_analog.exe from C:\WINCE600\platform\mini8510\files\ to an SD card, and then insert it into the SBC8140; 5.
2. Check the options under the DirectShow branch in the Catalogue Items View tree view on the left side of the Visual Studio 2005 window as shown below; Figure 25: DirectShow Branch 3. UNSELECT Third Party > BSP > mini8510:ARMV4I > drivers > camera in the Catalogue Items View tree view on the left side of the Visual Studio 2005 window, and then select Build > Rebuild Solution on the menu bar to start compiling; 4. Copy the generated file CameraDshowApp_digital.
Notice: If still sink is selected in Capture Parameters window when running the CameraDshowApp_digital.exe, application memory space should be set as 170000KB or higher by selecting Control Panel > System in WinCE system to ensure that DirectShow Graph can run properly. 4.7 GPIO API and Example Applications This section will show you how to develop applications under a WinCE environment by giving an introduction to GPIO API and example applications.
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 The tables below contain examples of GPIO applications; 1.
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 GPIO_DEBOUNCE_ENABLE Debounce enabled 5.
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); Note: GPIO pin definitions: 0~191 MPU Bank1~6 GPIO pin, 192~209 TPS65930 GPIO 0~17. GPIO pins 0~191 must be defined as GPIO in both xldr/platform.c and oalib/oem_pinmux.c.
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. An easy method for achieving this is to use virtual machine software such as VirtualBox to install Ubuntu Linux on an emulated/virtual PC.
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. 4.
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. 5. If this is the first time you have installed VirtualBox, you need to select Create new hard disk in the following window, and then click Next 6.
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.
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.
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. A Settings window will be shown as below 2.
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.
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.
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.
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. 12. The installation of Ubuntu may take between 15 minutes to an hour depending on your PC. A prompt window will be shown as below after installation is done.
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. Once the restart is complete, the Ubuntu system is ready for use.
Page | 122
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.
3. When the following appears, select “Continue” 4.
Page | 125
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; execute the following instruction in an Ubuntu system to view the device name of the TF card; $ dmesg | tail Device Information: ... [ 6854.215650] sd 7:0:0:0: [sdc] Mode Sense: 0b 00 00 08 [ 6854.
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; 5.
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 63) 8.
[ +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. Type a and 1 to set the TF card to bootable mode; Command (m for help): [ a ] Partition number (1-4): [ 1 ] 12.
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. The new table will be used at the next reboot. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. 15.
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” $>cd / $>sudo mkdir tftpboot $>sudo chmod 777 tftpboot Secondly, add in /etc/inetd.conf: $>sudo vi /etc/inetd.
socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 } 4. Reboot the server: $>sudo /etc/init.d/xinetd restart $>sudo in.tftpd -l /tftpboot 5. Test the server Conduct a test; create a file under folder /tftpboot $>touch abc Enter into another folder $>tftp 192.168.1.15 (192.168.1.15was the server IP) $>tftp> get abc If the download is successful, this means the server has been installed.
Appendix 5: FAQ Please visit: http://www.elinux.org/SBC8600_FAQ.
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: Avoid carpets in cool, dry areas. Leave development kits in their anti-static packaging until ready to be installed.
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.
Issues occur when users compile/run the embedded OS which has been modified by themselves. Customers encounter issues related to their own applications. Customers experience problems caused by unauthorised alteration of our software source code 2.2 Maintenance service clause 1. Product warranty will commence on the day of sale and last 12 months provided the product is used under normal conditions 2.
Embest Technology takes no responsibility for fulfilling any warranty (verbal or written) that is not made by Embest Technology and not included in the scope of our warranty. 3. Within the period of warranty, the cost for sending products to Embest should be paid by the customer. The cost for returning the product to the customer will be paid by Embest. Any returns in either direction occurring after the warranty period has expired should be paid for by the customer. 4.
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. Other value added services including supply of power adapters and LCD parts. Other OEM/ODM services. Technical training. Please contact Embest with any technical support queries: http://www.embest-tech.