GoPro HD Hero 1080

GoPro Hardware

UART / JTAG

UART & JTAG Pinout

Pin Function
1 JTAG_TDO ?
2 JTAG_CLK ?
3 JTAG_TMS ?
4 JTAG_TDI ?
5 JTAG_RST ?
6 GND (DGND)
7 UART0_RX
8 UART0_TX
9 A2_GPIO22 ?
10 3,3V

Hero BUS

Hareware Connector

Pinout

Pin Function Type
1 GND O
2 R video – component Pb/Cb or composite (composite video out activated by grounding ID2 and ID3, component video out activate by grounding ID2) O
3 G video - component Y O
4 B video - component Pr/Cr O
5 USB +5V power O
6 USB +5V power ? O
7 USB Data D+ (DP-B) I/O
8 USB Data D- (DM-B) I/O
9 GND O
10 Audio output right channel (HPR) O
11 Audio output left channel (HPL) O
12 Power/Mode (PWR/MODE) button I
13 V3.6 ? O?
14 Audio input right channel (IN1R) I
15 Audio input left channel (IN1L) I
16 IR input (IR receiver) I
17 Trig digital output O
18 GND O
19 ID1 digital input I
20 ID2 digital input I
21 ID3 digital input I
22 ID4 digital input I
23 Adapter output – power output for external equipment (follows internal battery power) O
24 Adapter output - power for ext. adapter? O?
25 WBAT+ input - ext. power for camera? I?
26 WBAT+ input - ext. power for camera? I?
27 GND O
28 I2C DATA I/O
29 I2C CLK O
30 GND O

Source: http://chdk.setepontos.com/index.php?topic=5890.msg59875#msg59875 & http://chargeconverter.com/blog/?p=71

GoPro LCD BacPac

Hardware

  • Video Decoder: Texas Instruments TVP5150A
  • Display: Wintek WD-Q2432x-6FLWb (320×240 pixel)
  • SDRAM: HY57V641620FTP

Firmware Version

http://goprouser.freeforums.org/stickie-list-of-firmware-versions-and-dates-t2689.html

Firmware Version can be determind from Still Image JPG EXIF Data „Software/Firmware“ (Example: Ver01.01.54).

Firmware

firmware.bin

When a .bin firmware file is modified, the crc is not the same as the original file and firmfl do not proceed with the flash. The checksum value is at position 0x00000800h of each bin files. When we modify a .bin we need to update the crc in the firmware .bin with the new and then firmfl accept the modified file for flashing!
Source: http://goprouser.freeforums.org/the-gopro-hero-hd-bus-interface-t797-400.html#p21415

Firmware v01.01.56

UART Output

Startup
   _____         ___.                        .__  .__
  /  _  \   _____\_ |__ _____ _______   ____ |  | |  | _____
 /  /_\  \ /     \| __ \\__  \\_  __ \_/ __ \|  | |  | \__  \
/    |    \  Y Y  \ \_\ \/ __ \|  | \/\  ___/|  |_|  |__/ __ \_
\____|__  /__|_|  /___  (____  /__|    \___  >____/____(____  /
        \/      \/    \/     \/            \/               \/
 Ambarella System Software Running on PrKERNELv4
----------------------------------------------------------------
 Ambarella(R) Copyright (C) 2004-2007

Branch: SDK20100506
Built: wpmeng@szbuild Tue Mar 29 19:46:10 CST 2011

Memory Usage:
fios/dma:           0xc0000000 - 0xc007ffff [0x00080000]
rtos + app:         0xc0100000 - 0xc07ee81f [0x006ee820]
cached heap:        0xc07f0000 - 0xc349ffff [0x02cb0000]
non-cached heap:    0xc34a0000 - 0xc34fffff [0x00060000]
dsp:                0xc3500000 - 0xc7ffffff [0x04b00000]
total memory: 0x08000000
cache id trademark: 0x41
cache id architecture: 0x6
Architecture (ARMv5TEJ)
cache id part number: 0x926
cache id revision: 0x5
cache type: write back
separate i-cache and d-cache
cache type d-cache size: 16 KB
cache type d-cache associativities: 0x4
cache type d-cache multiplier: 0x0
cache type d-cache line size: 32 byte
cache type i-cache size: 16 KB
cache type i-cache associativities: 0x4
cache type i-cache multiplier: 0x0
cache type i-cache line size: 32 byte
Initialize Host Port Tx Module
rtc in pwc mode
Initialize SCM
Initialize STK task
Initialize debou task
Initialize FL1 block driver ...
fl1prf2 - fat pages:32, dat pages:32, fat buf:4, data buf:8
Initialize SD0 block driver ...
sdprf2 - fat pages:64, dat pages:32, fat buf:4, data buf:8
Initialize SD2 block driver ...
sdprf2 - fat pages:64, dat pages:32, fat buf:4, data buf:8
Initialize AMB flash host controller
HYNIX HY27US08561A_32MB_PG512 with (id: 0xad75ad75) (banks: 1)
Initialize AMB SD host controller 0
ROMFS: initialized
FW_PART: initialized
**** UCLD START 184 ****
tlv320aic3101_init()
Load main(code) ucode to 0xc7e00000 successful, size = 581552
Load sub0(me) ucode to 0xc7f00000 successful, size = 824796
Load default binary ucode to 0xc7eb9c00 successful, size = 262144
**** UCODE DONE 338 ****
**** AORC DONE 338 ****
tlv320aic3101_sfreq_conf()
IIS flag (0x00)
TLV320AIC3101 ADC flag (0x44)
TLV320AIC3101 DAC flag (0xd8)
tlv320aic3101_sfreq_conf()
Global audio cachable heap is created successfully......
Global audio cachable heap is created successfully(10)......
Global audio non-cache heap is allocated successfully......
Global audio non-cache heap is created successfully (11)......
audio tasks init done
DRAM_DSP_BASE register setting is 0x7E007F
Initialize cavlc task
Format cache 385048 1104 1160
bits buffer addr = 0xC33CA7E0
desc buffer is zero or negative
AMBA_YUVMON: the YUV device didn't support auto detect
allocate tsmux_par_t size 3280
allocate data_tracksize 96
 allocate tsmux_misc_t 224
allocate tsmux_par_t size 3280
allocate data_tracksize 96
 allocate tsmux_misc_t 224
AMBA tsmux was inited before, maybe avchd already init
register illegal video signal id
Recoder module init OK
-----------------c2305ce0 32
-----------------c2305d00 32
========== cavlc encode init ===========
========== cavlc encode init ===========
Player state transition manager ready
Player video pipeline controller ready
Playback video manager ready
========== cavlc decode init ===========
DeMux manager ready
Player photo pipeline controller ready
Playback photo manager ready
DeMux manager ready
Player sound pipeline controller ready
Playback sound manager ready
DeMux manager ready
Player thumb pipeline controller ready
Playback thumb manager ready
DeMux manager ready
State transition manager ready, mbx_id = 5
CAVLC Boot.........
Host control manager ready
@@@@@@@@@@@@@@@  DemoApp start to init  --- 473
Recorder Mux Manager ready, mbxid = 6
Player DeMux manager ready
amba_editor_task is ready
User preference didn't match version definition
Save default preference
Re-load default preference
[yqx]app_init_status
[3D]off 3d init===================>
[yqx]sys_status.pref->adc3_lcd_emb_shutdown=0
[yqx]sys_status.pref->adc3_lcd_emb_turn_on=0
SENSOR OUTPUT
Dummy LCD
Unknown YUV signal
[yqx]app_init_herobus_id sys_status.hero_bus_id 0xf
@@@@@@ (VOUT-0 SW. Scalar) Remain HEAP_MPLID: 27779196 @@@@@@
@@@@@@ (VOUT-0 OSD Buffer) Remain HEAP_MPLID: 25935960 @@@@@@
@@@@@@ (G-Blending Buffer) Remain HEAP_MPLID: 24753812 @@@@@@
[load_calib_data] calib_id:2  calib_size:4096 size:4096
[CAL]load calib ID:2 size:4096
[load_calib_data] calib_id:3  calib_size:430080 size:430080
[CAL]load calib ID:3 size:430080
[load_calib_data] calib_id:4  calib_size:2048 size:2048
[CAL]load calib ID:4 size:2048
[CAL]init site 01: enable:1 status:0x00 size:2048(af)
init_gyro_params, MEAN_X:52, MEAN_Y:52, STD_X:0, STD_Y:0
init_gyro_params, SENSE_X:21504, SENSE_Y:21504
[CAL]init site 02: enable:1 status:0x00 size:256(gyro)
[CAL]init site 03: enable:1 status:0x00 size:256(mshutter)
[CAL]init site 04: enable:1 status:0x00 size:256(iris)
[CAL]init site 05: enable:1 status:0x00 size:512(lsc)
[CAL]init site 06: enable:1 status:0x00 size:71680(vignette)
[CAL]init site 07: enable:1 status:0x04 size:256000(badpixel)
[CAL]init site 08: enable:1 status:0x01 size:256(wb)
[CAL]init site 09: enable:1 status:0x00 size:256(iso)
[CAL]init site 10: enable:1 status:0x00 size:256(blc)
[app_init_yhdc5170_mode] sys_status.pref->def_mode 0
[app_init_yhdc5170_mode] sys_status.pref->def_mode offset -21521
[yqx]sys_status.hero_bus_id15
amba_img_select_video_source +++ > start
amba_img_select_video_source +++ > sensor_init
[yqx]sensor_init mode=2
Chip Version = 6145
Chip Version = 6145
###Binning mode:1
=== This is Micron MT9P401 ver#8 ===
----- Enering img_init_slowshutter  TIME:899 -----
----- Leaving img_init_slow_shutter TIME:899 -----
amba_img_select_video_source +++ > 3
amba_img_select_video_source +++ > 4
amba_img_select_video_source +++ > 5
amba_img_select_video_source +++ > byebye
set_device
ON : dsp default configuration

-----------Flicker rate : 60Hz.-----------
-------------Frame rate :  30.------------


------Set wb gain zero!!-------

default cmd buffer has created
OFF : dsp default configuration
================ Booting DSP start to encode
 **** BOOT START 922 ****
wait_load_ucode_done(1)
del UCLD task
===============================
u_code version = 2010/7/12 17.0
===============================
[GPIO43][1]
@@@@@@@@@@@@@@@@@@@@  DemoApp boot DSP  --- 938
 **** BOOT DONE in ENCODE_MODE, time: 979 ****
DSP boot done in ENCODE_MODE
*** Chip ID: 0 ***
================ Booting DSP end

-----------Flicker rate : 60Hz.-----------
-------------Frame rate :  30.------------

decompressed badpix mask exceed limitation
unpacked badpixel mask: page:1 count:536 size:6338 byte

-----------Flicker rate : 60Hz.-----------
-------------Frame rate :  30.------------

Flashlight mode is OFF
DemoApp DCF set to type 2
DemoApp DCF format set to MP4, audio CODEC set to AAC
*****************************************************************
*                                             ###### set_max_file_num fnum 0
@@@@@@@@@@@@@@@  DemoApp start to handle messages  --- 1487
@@@@@@@@@@@@@@@  DemoApp boot to preview  --- 1487
[yqx] REC_DSC_SENSOR_GUI_SHOW_BASIC
[yqx] only BAT1
[jim] usb connect =0

                 [app_test_extra_trick] OK test_trick_id:0
 *
*                           ambsh ;)                            *
*                                                               *
*****************************************************************

rtos mesg enabled
dsp mesg disabled
type 'help' for help

a:\> [jim] usb connect =0


-----------Enable anti flicker detection -----------
Initialize USB BITSTREAM Class
[jim] usb connect =0

FRMON_VDSP: 3003ms past validating Vdsp monitor.
[jim] usb connect =0

[jim] usb connect =0


-----------Anti flicker : 50Hz.-----------


-----------Flicker rate : 50Hz.-----------
-------------Frame rate :  50.------------

Finalize USB BITSTREAM Class
Initialize USB BITSTREAM Class
[jim] usb connect =0

[jim] usb connect =0

[jim] usb connect =0

Finalize USB BITSTREAM Class
Initialize USB BITSTREAM Class
[jim] usb connect =0

[jim] usb connect =0

[jim] usb connect =0

application receives user command 0xFFFE000A
[jim] usb connect =0

[jim] usb connect =0

=========================
======= Power Off =======
=========================
application receives user command 0xFFFEA00A
Finalize USB BITSTREAM Class
Initialize USB BITSTREAM Class
@Shutdown System

UART (serial) console

On Camera start firmware does some output via UART. We have access to *nix style shell called ambsh (Ambarella Shell).

Commands

help

a:\> help
supported built-in commands:
        bp              cardmgr         cat             cd
        chmod           config          cp              cpu
        date            deletedir       descrypt        dmesg
        dramcfg         drives          dsputil         echo
        eeprom          eval            false           ffuc
        format          help            history         ioerr
        jobs            kill            ls              md5
        mesg            mkboot          mkdir           morph
        mv              nanddb          nice            poweroff
        pref            ps              pwd             ramdisk
        readb           readl           readw           reboot
        reset           resume          rm              rmdir
        savebin         sleep           suspend         sysmon
        t               test            time            touch

corefreq

a:\> corefreq
core freq: 216000000

ps

a:\> ps
 ID  PRI      STAT ACT WUP SUS  NAME
  3    3     SLEEP   0   0   0  abs_prktask
  4    5     SLEEP   0   0   0  abs_prktask
  5    1  WAIT_SEM   0   0   0  abs_prktask
  6    5     SLEEP   0   0   0  abs_prktask
  7    5     SLEEP   0   0   0  abs_prktask
  8   96  WAIT_FLG   0   0   0  print_daemon_task
  9   16 WAIT_RDTQ   0   0   0  peri_task
 10  101 WAIT_RDTQ   0   0   0  button_task
 11   99 WAIT_RDTQ   0   0   0  scardmgr_task
 12   60 WAIT_RDTQ   0   0   0  flusher_task
 13   51 WAIT_RDTQ   0   0   0  stktask_func
 14   50 WAIT_RDTQ   0   0   0  debou_task
 15   50  WAIT_MBX   0   0   0  prfile2
 17   64 WAIT_RDTQ   0   0   0  audio_decode_task
 18   64 WAIT_RDTQ   0   0   0  audio_encode_task
 19   64 WAIT_RDTQ   0   0   0  audio_input_process_task
 20   64 WAIT_RDTQ   0   0   0  audio_output_process_task
 21   64 WAIT_RDTQ   0   0   0  external_audio_codec_task
 22   15  WAIT_FLG   0   0   0  iav_vdsp
 23   14  WAIT_FLG   0   0   0  iav_vout
 24   47 WAIT_RDTQ   0   0   0  cavlc_task
 25   82  WAIT_FLG   0   0   0  Async Operation Manager
 26   32  WAIT_FLG   0   0   0  Image Manager
 27   13  WAIT_FLG   0   0   0  Digital Zoom
 28   85  WAIT_FRMON_VDSP: 3040ms past validating Vdsp monitor.
FLG   0   0   0  Amba YUV signal monitor
 29   34  WAIT_FLG   0   0   0  Framerate monitor (AVSYNC)
 30   83  WAIT_FLG   0   0   0  Storage monitor
 31   84  WAIT_FLG   0   0   0  PCBR monitor
 32   35  WAIT_FLG   0   0   0  Framerate monitor (VOUT)
 33   36  WAIT_FLG   0   0   0  Framerate monitor (VOUT2)
 34   35  WAIT_FLG   0   0   0  Framerate monitor (VDSP)
 35   81  WAIT_FLG   0   0   0  DCF_Refresh_tsk
 36   80  WAIT_FLG   0   0   0  amba Movie Editor
 37   41  WAIT_FLG   0   0   0  Recorder State Transition Manager
 38   71  WAIT_FLG   0   0   0  Recorder Mux Manager
 39  103   DELAYED   0   0   0  Preview YUV Processor
 40   72  WAIT_FLG   0   0   0  Player FLOW CTRL Manager
 41   73  WAIT_FLG   0   0   0  Player DeMux Manager
 43   55 WAIT_RDTQ   0   0   0  Host Control Manager
 44  102   DELAYED   0   0   0  APP Button Task
 45   14  WAIT_FLG   0   0   0  Snapshot
 46  120     READY   0   0   0  ambsh
 47  120   RUNNING   0   0   0  ps

dramcfg

a:\> dramcfg
DRAM_CFG:     0xb000000a
DRAM_TIMING:  0x365b663a
DRAM_TIMING2: 0x0000002a
DRAM_MODE:    0x00001652
DRAM_EMR1:    0x00000004
DRAM_EMR2:    0x00000000
DRAM_EMR3:    0x00000000

yyinfo

a:\> yyinfo
cmd mallocs:    7
cmd frees:      6
env mallocs:    7
env frees:      5
pipe mallocs:   0
pipe frees:     0
file opens:     0
file closes:    0

drives

a:\> drives
4 drives present in system
drive 'A' - NFTL Media
drive 'D' - SD/MMC
drive 'L' - SDIO
drive 'Z' - ROMFS

romfs

a:\> romfs
Usage: ls - list ROMFS files
       inodes - list ROMFS inode tree
       load [name] [addr] - load data to memory
       save [slot] [name|all] [fpos]- save file to storage
       log_init [slot] - log the statistics of ROMFS initialized flag
       log_vf [slot] [name1] [name2]- log the statistics of ROMFS file verification. Where name1 specify the romfs name to be save and name2 specify the file to be compared
a:\> romfs ls
fonts.bin       49754
bitmaps.bin     383779
strings.bin     29146
logo.jpg        44534
logo_with_web.jpg       45127
no_thm.jpg      13768
invalid.jpg     14281
mode_menu00.jpg 11432
mode_menu01.jpg 11373
mode_menu02.jpg 11336
mode_menu03.jpg 11353
mode_menu04.jpg 11401
mode_menu05.jpg 11308
mode_menu06.jpg 11268
mode_menu07.jpg 11341
mode_menu08.jpg 11328
poweron_12k.pcm 45600
poweroff_12k.pcm        28800
shutter_12k.pcm 6176
short_shutter_12k.pcm   1086
optone_12k.pcm  9300
error_12k.pcm   13920
poweron_11k.pcm 41896
poweroff_11k.pcm        26460
shutter_11k.pcm 5676
short_shutter_11k.pcm   1000
optone_11k.pcm  8546
error_11k.pcm   12790
poweron_8k.pcm  30402
poweroff_8k.pcm 19200
shutter_8k.pcm  4120
short_shutter_8k.pcm    724
optone_8k.pcm   6202
error_8k.pcm    9282
1_48k.aac       171
1_44k.aac       185
1_32k.aac       256
2_48k.aac       342
2_44k.aac       372
2_32k.aac       512
2_48k.ac3       768
2_44k.ac3       768
2_32k.ac3       768
6_48k.ac3       1536
6_44k.ac3       1536
6_32k.ac3       1536
file count      46

savebin

Memory Dump Command

a:\> savebin d:\memdump.bin 0xC0000000 l 134217728

t

Access to all kind of unit test (factory test / development / debug) commands. There is a lot of option to disable/enable/set the exposure, anti-flicker, white balance, raw capture and more.

a:\> t
supported test commands:
        help
        rdau
        wrau
        iavinfo
        app
        img
        app
        fast_ecn
        chk_low_spd
        fioffs_thruput
        fioffs_uc
        fioffs_randvrfy
        fioprf_lgfvrfy
        fioprf_randvrfy
        fioprf_thruput
        sd
        flash_op
        flash
        idc
        stepper_motor
        gps
        pwm
        gpio
        adc
a:\> t help
The 't' command is a collection of unit tests.
Usage: t img -mepraw [mode] [shutter_idx] [agc_idx]: Video/Still manual-exposure raw capture
mode = 0, Video Raw Capture
mode = 1, Still Raw Capture
shutter_idx, by Driver
agc_idx, by Driver

Usage: t img -blc: get the current black level
t img -blc [val]: set the current black level
t img -blc cal_rd: read the calibration black level values
t img -blc cal_rst: reset the calibration black level values

Usage: t img -me [mode] [shutter_idx] [agc_idx]: Video/Still manual-exposure raw capture
mode = v, Video Raw Capture
mode = s, Still Raw Capture
shutter_idx, by Driver
agc_idx, by Driver

Usage: t img -raw [mode] [num]: Video/Still raw capture
mode = 0, Video Raw Capture (section 1)
mode = 1, Still Raw Capture (section 1)
num = 1~100, Capture numbers

Usage: t img -3a [on|off|]: turn on/off 3A
img -3a [info] : display 3A status

video ae_info: ev:%4d sht:%4d agc:%4d iris:%4d dgain:%4d flash:%d
still ae_info: ev:%4d sht:%4d agc:%4d iris:%4d dgain:%4d flash:%d
Usage: t img -ae [on|off]: turn on/off AE
img -ae [info] : display AE status
img -ae [slowshutter] : turn on/off slowshutter

Usage: t img -awb [on|off]: turn on/off AWB
img -awb [info] : display AWB status

------------------->>>>AF cap setting information<<<<---------%d
--------------->>>>continuous AF cap setting<<<<----------------------
-------------------->>>>still AF cap setting<<<<---------------------------
Usage: t img -af [on|off]: turn on/off AF
img -af [capinfo] : display AF status
img -af [cap] : set AF capability
img -af [cst] : set continuous AF setting
img -af [sst] : set still AF setting
img -af [ifc] : still af quality check
img -af [snap] : take pictures

Usage: t img -adj [on|off]: turn on/off ADJ
img -adj [info] : display ADJ

t img -adj load [mode] [path]: read header file from SD card
mode = [v|s], v: video mode s: still mode

t img -adj status [mode]: show the current status of video/still adjust parameters
mode = [v|s], v: video mode s: still mode

Usage: t img -lens [cmd] [p1] [p2] [p3]:
Supported cmd:
linfo: lens information
init: initial lens
park: lens park
zi: Zoom in
zo: Zoom Out
zpi: Zoom PI On/Off
zst: Get Zoom status
fn: Focus Near
ff: Focus Far
fpi: Focus PI On/Off
fst: Get Focus status
iris: Set aperture
irisq: Query aperture index to set to desired Fno
irist: Get aperture status
sh: Shutter Operation
zck: Check and test Zoom motor
fck: Check and test Focus motor
cal: Calibrate lens

Usage: t img -agc: get the current agc of sensor
t img -agc range: get the min/max agc value
t img -agc [db]: set the current agc of sensor
db = [min db] ... [max db]
(3|6|9|12.... has to be multiple of 3)

Usage: t img -agcidx [v1] [v2] [v3]: AGC_Idx change and Capture
v1 = 0~161, v2 = v3 = " ", Changing the AGC_Idx
v1 = v2 = 0~161, v3 = " ", Changing the AGC_Idx and one Video-Raw
Capturing
v1 < v2, 0~161, v3 = " ", Changing the AGC_Idx and Continue
Video-Raw Capturing with 1-step
v1 < v2, 0~161, v3, 1~10, Changing the AGC_Idx and Continue
Video-Raw Capturing with v3-step

binning_modebinning_modebinning_modebinning_modebinning_modebinning_mode =%d
Usage: t img -bpc [command] [param]... :bad pixel correction utility

t img -bpc set [mode] [level] [value]: set bad pixel correction
mode = [v|s], v: video mode s: still mode
level = [0..5], 0: static, 1-5: dynamic
value = [0..255], fixed value (8bits) of bad pixel mask

t img -bpc init: init detection process
t img -bpc exit: exit detection process

t img -bpc run [mode][type][num][thd][db][time]: run detection process
mode = [v|s], v: video mode s: still mode
type = [0|1], 0: bright pixel 1: dark pixel
num = [1..30], picture number
thd = [0..200], detection threshold, 0%%-100%%
db = [0,3,6..21], sensor agc in db
time = [30|50|60|100], sensor shutter time in 1/time sec

t img -bpc pack [mode]: compress bad pixel mask
t img -bpc unpack [mode]: cdecompress bad pixel mask
mode = [v|s], v: video mode s: still mode

t img -bpc load: load compressed bad pixel mask from preference
t img -bpc save: save compressed bad pixel mask to preference
t img -bpc info: display bad pixel information

t img -bpc test [mode]: set a test pattern (4x4 grid) for bad pixel mask
mode = [v|s], v: video mode s: still mode

t img -bpc wr[mode][filename]: save to bad pixel map to SD card
mode = [v|s], v: video mode s: still mode

t img -bpc rd [mode][filename]: load bad pixel map to ARM form SD card
mode = [v|s], v: video mode s: still mode

t img -bpc verify [mode]: verify bad pixel bitmap
mode = [v|s], v: video mode s: still mode

t img -bpc set2 [level][correction_mode]: set dynamic bad pixel correction

Usage: t img -dzoom info: get digital zoom information
t img -dzoom status: get digital zoom status
t img -dzoom [dir] [speed] [dist]: digital zoom control
dir = 0, ZOOM IN
dir = 1, ZOOM OUT
dir = 2, STOP
speed = [1..5] 1 is slowest, 5 is fastest
dist = relative step from current position

Usage: t img -agc: get the current fine gain of sensor
t img -agc range: get the min/max fine gain value
t img -agc [idx]: set the current fine gain of sensor
idx = [min index] ... [max index]

Usage: t img -f_tst [mode]: Strobe Test
mode = 0, Display the Strobe Status
mode = 1, Charge the Strobe and Fire
mode = 2, Manually Enable the Strobe Charging
mode = 3, Manually Disable the Strobe Charging
mode = 4, Automatic Charging the Strobe

Usage: t img -fr [mode] [fr]:set frame rate of slow shutter
mode = 1, SENSOR_HD
mode = 2, SENSOR_SD
mode = 4, SENSOR_HD_PAL
mode = 5, SENSOR_SD_PAL
mode = 8, SENSOR_SDWIDE
mode = 9, SENSOR_SDWIDE_PAL
fr = [60|30|15|8|4]

Usage: t img -iris: get the current iris
t img -iris range: get the min/max iris value
t img -iris [idx]: set the current iris value
idx = [min index] ... [max index]

Usage: t img -bfd on : turn on ucode bad frame detection(BFD)
t img -bfd off : turn off ucode bad frame detection(BFD)

Usage: t img -eis on|off: turn on|off eis
t img -eis log [filename] [sec]: log gyro data
filename = filename of the saved file
sec = how many seconds

Usage: t img -sht_cc [v1] [v2] [v3]: E-Shutter change and Capture
v1 = 1~511, v2 = v3 = " ", Changing the E-Shutter
v1 = v2 = 1~511, v3 = " ", Changing the E-Shutter and one Video-Raw
Capturing at agc = 0dB
v1 < v2, 1~511, v3 = " ", Changing the E-Shutter and Continue
Video-Raw Capturing with 1-step at agc = 0dB
v1 < v2, 1~511, v3, 2~50, Changing the E-Shutter and Continue
Video-Raw Capturing with v3-step at agc = 0dB

Usage: t img -vnc [mode] [enable] [tile] [pattern]: test vignette compensation
mode = [v|s], v: video mode s: still mode
enable = 0:disable, 1:enable
tile = 0:64Hx64V, 1:64Hx128V,
2:128Hx64V, 3:128Hx128V
pattern = [0..3], hard-coded pattern

Usage: t img -flicker [mode]: set antiflicker algorithm
mode = [0..2]

t img -wb_cal [v1] [v2] [v3] [v4]: White Balance Adjust
v1 = 0, 1, 2, 3 or 4, 0: Calculate the Golden Gain
1: Calculate the Low Color-Temperature AWB Adjust Gain
2: Calculate the High Color-Temperature AWB Adjust Gain
3: Reset the AWB Adjusting Gain(1024)
4: Save and Show the AWB Adjusting Gain
5: Show the AWB Adjusting Gain
v2 , if v1 = 1, or 2, v2 is meaning the reference Ravg
v3 , if v1 = 1, or 2, v3 is meaning the reference Gavg
v4 , if v1 = 1, or 2, v4 is meaning the reference Bavg

Usage: t img -vin [mode]: choose HD/SD/PHOTO mode
mode = [0..2]
mode = 0, HD mode
mode = 1, SD mode
mode = 2, PHOTO mode
mode = 3, SDWIDE mode
mode = 4, HD 30 mode

Usage: t img -aeb [num] [ev_bias 0] ... [ev_bias num]:
num = 1..5
ev_bias = -127..127 with 32 unit EV

Usage: t img -face ldimg [file name] [width] [height] [action]: load test image file
[action]:1 : face tracking, 2: smile detection, 3: red eye removal
t img -face ftrack 1 : face tracking enable
t img -face ftrack 0 : face tracking disable
t img -face strack 1 : smile detection enable
t img -face strack 0 : smile detection disable

Usage: t img -exif load [file name] : load test image file
img -exif [last] : get exif data of last image file in sd card
img -exif [cur] : get exif data of current image file in sd card

Usage: t img [OPTION] VALUE...
Supported options:
-3a: 3A(AE/AWB/AF/ADJ) control
-aeb: AEB test function
-agc: agc control
-agcidx: agcidx control
-bfd: turn on/off ucode bad frame detection(BFD)
-blc: black level correction
-bpc: bad pixel correction
-dzoom: digital zoom control
-eis: electronic image stabilizer(EIS) test function
-face: Face Detect test function
-fagc: fine agc control
-flicker: antiflicker test function
-f_tst: strobe test
-fr: slow shutter control
-iris: iris control
-idsp: idsp information
-lens: lens calibration and test functions
-mem: profile of ucode's memory usage
-raw: still/video raw capture
-raw_enc: raw-encode function
-sht_cc: e-shutter change and capture
-vnc: vignette compensation
-vin: video input function
-exif: private exif info
Try 't img [OPTION] --help' for more information.

[reg_addr] : audio codec internal register address (in decimal) .....
[no] : how many following registers value will be read out .....

Source: http://goprouser.freeforums.org/gopro-hd-960-firmware-hack-t3699.html

a:\> t gpio dump
gpio0:   HW 1
gpio1:   HW 1
gpio2:   HW 0
gpio3:   HW 0
gpio4:   HW 0
gpio5:   HW 1
gpio6:   HW 1
gpio7:   SW 1
gpio8:   HW 0
gpio9:   SW 1
gpio10:  SW 1
gpio11:  HW 0
gpio12:  HW 0
gpio13:  SW 0
gpio14:  HW 1
gpio15:  HW 1
gpio16:  HW 0
gpio17:  HW 0
gpio18:  HW 1
gpio19:  HW 0
gpio20:  HW 0
gpio21:  HW 0
gpio22:  HW 0
gpio23:  SW 0
gpio24:  HW 0
gpio25:  HW 0
gpio26:  HW 0
gpio27:  HW 0
gpio28:  HW 0
gpio29:  HW 1
gpio30:  HW 0
gpio31:  HW 0
gpio32:  HW 0
gpio33:  HW 0
gpio34:  HW 0
gpio35:  HW 0
gpio36:  HW 0
gpio37:  HW 0
gpio38:  HW 0
gpio39:  SW 0
gpio40:  HW 0
gpio41:  SW 1
gpio42:  SW 0
gpio43:  SW 0
gpio44:  SW 0
gpio45:  HW 0
gpio46:  SW 1
gpio47:  SW 0
gpio48:  SW 1
gpio49:  HW 0
gpio50:  SW 0
gpio51:  SW 0
gpio52:  HW 0
gpio53:  SW 1
gpio54:  SW 1
gpio55:  HW 0
gpio56:  HW 0
gpio57:  HW 0
gpio58:  SW 1
gpio59:  HW 0
gpio60:  HW 0
gpio61:  HW 0
gpio62:  HW 0
gpio63:  HW 0
gpio64:  SW 1
gpio65:  HW 0
gpio66:  HW 0
gpio67:  HW 0
gpio68:  HW 0
gpio69:  HW 0
gpio70:  SW 1
gpio71:  SW 1
gpio72:  SW 1
gpio73:  SW 1
gpio74:  SW 0
gpio75:  SW 1
gpio76:  SW 1
gpio77:  HW 0
gpio78:  HW 0
gpio79:  HW 0
gpio80:  HW 0

firmfl

a:\> firmfl ?
valid targets for firmfl are:
        prog
        prog_only
        prepro
        postpro
        gen
valid targets for firmfl are:
        prog
        prog_only
        prepro
        postpro
        gen

Probably this will flash new firmware:

firmfl prog d:\firmware.bin

Source: http://goprouser.freeforums.org/gopro-brick-revival-t4114.html

Usefull Command

Disable RTOS messages like [jim] usb connect =0

mesg rtos off

autoexec.ash

After power on firmware check if the script file autoexec.ash exist on SD-Card and execute the commands at the ambsh shell. Unix linebreak is required!

Links

 
hardware/goprohdhero.txt · Zuletzt geändert: 2013/05/08 00:25 von pixeldoc
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki