SDK - Serial console
← |
⌂ Home |
→ Extended features |
The camera supports a serial console to allow developer control over u-boot and Linux. The signals on external trigger connector (2.5mm jack labelled I/O) can be configured as the serial console by holding down the trigger button when the camera is powered on.
Contents |
Serial cable
You will need to buy the parts and assemble the serial cable yourself.
CAUTION: The signaling at the external trigger connector is 3.3V TTL. Connection to a standard RS232 serial port may cause damage that is not covered under warranty.
You must use a 3.3V serial interface like one built from the following:
- TTL-232R-3V3-PCB Simple way to connect 3.3V TTL interface to USB.
- 2.5mm stereo plug to bare wire cable.
Pinout
- Tip - RXD (Receive Data - input to camera)
- Ring - TXD (Transmit Data - output from camera)
- Sleeve - GND
Activating serial console
Plug in an external trigger. Hold the trigger button and the multi-function button and power on the camera.
If U-boot detects an external trigger button and multi-function button were held down during power-on, the serial console is enabled and the u-boot automatic boot is interrupted and the camera has the serial console active waiting for the user to enter a u-boot command. To boot into Linux, run the u-boot command boot.
At the first yellow blink of the system LED you can unplug the external trigger and plug in the serial cable. Open a decent terminal emulator (like picocom or teraterm, definitely not hyperterm). Use 115200 baud, eight bit, no parity serial port settings.
command:
sudo picocom -b 115200 -r -l /dev/ttyUSB0
Example u-boot commands
Normally you will want the camera to boot as normal, so run the u-boot
boot
command.
You might also want to look at the list of u-boot commands and the current environment variable settings using
help printenv
With the output being similar to:
DM368 SSC1 # help ? - alias for 'help' askenv - get environment variables from stdin base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dcache - enable or disable data cache dhcp - boot image via network using DHCP/TFTP protocol echo - echo args to console editenv - edit environment variable env - environment handling commands exit - exit script ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) false - do nothing, unsuccessfully fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' gpio - gpio commands help - print command description/usage i2c - I2C sub-system icache - enable or disable instruction cache iminfo - print header information for application image imxtract- extract a part of a multi-image itest - return true/false on integer compare lcdawake- Switch LCD to its awake mode lcdinit - Initializes LCD display lcdregget- reads LCD controller's register lcdregset- writes LCD controller's register lcdsleep- Switch LCD to its sleep mode loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mdc - memory display cyclic mm - memory modify (auto-incrementing address) mmc - MMC sub system mmcinfo - display MMC info mtest - simple RAM read/write test mw - memory write (fill) mwc - memory write cyclic nfs - boot image via network using NFS protocol nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host pinmux - SoC pin multiplexing printenv- print environment variables reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables showvar - print local hushshell variables sleep - delay execution for some time source - run script from memory sspi - SPI utility command test - minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol true - do nothing, successfully usb - USB sub-system usbboot - boot from USB device version - print monitor version
DM368 SSC1 # printenv baudrate=115200 bootargs=console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off bootcmd=if mmc rescan 0 ; then if run loadbootenv ; then run importbootenv ; if test -n ${uenvcmd} ; then run uenvcmd; fi ;fi ;fi bootdelay=20 bootfile="uImage" ethact=DaVinci-EMAC ethaddr=00:1b:c5:09:60:03 importbootenv=echo Importing environment from mmc ...; env import -t ${loadaddr} ${filesize} loadaddr=0x82000000 loadbootenv=fatload mmc 0 ${loadaddr} uEnv.txt loaduimage=fatload mmc 0 ${loadaddr} uImage stderr=serial stdin=serial stdout=serial trigger_asserted=true ver=U-Boot 2010.12-rc2-01007-gbec9f7f (Nov 18 2013 - 10:13:42)
You can learn more about u-boot from the official Das U-Boot website.
← |
⌂ Home |
→ Extended features |