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.
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 |