SDK - Serial console

From edgertronic high speed video camera
Jump to: navigation, search


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:


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


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



You might also want to look at the list of u-boot commands and the current environment variable settings using


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
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
importbootenv=echo Importing environment from mmc ...; env import -t ${loadaddr} ${filesize}
loadbootenv=fatload mmc 0 ${loadaddr} uEnv.txt
loaduimage=fatload mmc 0 ${loadaddr} uImage
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.


Extended features