Difference between revisions of "EM100pro"

From coreboot
Jump to: navigation, search
 
Line 1: Line 1:
 
= Linux Utility =
 
= Linux Utility =
  
We are working on a Linux utility to drive the EM100Pro. Get the sources with
+
We have developed a Linux utility to drive the EM100Pro. Get the sources with
 
  $ git clone http://review.coreboot.org/em100
 
  $ git clone http://review.coreboot.org/em100
  
Line 8: Line 8:
 
Here's how to use the utility:
 
Here's how to use the utility:
  
em100: EM100pro command line utility
+
em100: EM100pro command line utility
+
 
Example:
+
Example:
  ./em100 --stop --set M25P80 -d file.bin -v --start
+
  ./em100 --stop --set M25P80 -d file.bin -v --start -t -O 0xfff00000
+
 
Usage:
+
Usage:
  -c|--set CHIP:     select chip emulation
+
  -c|--set CHIP:                 select chip emulation
  -d|--download FILE: upload FILE into EM100pro
+
  -d|--download FILE:             download FILE into EM100pro
  -r|--start:         em100 shall run
+
  -u|--upload FILE:              upload from EM100pro into FILE
  -s|--stop:         em100 shall stop
+
  -r|--start:                     em100 shall run
  -v|--verify:       verify EM100 content matches the file
+
  -s|--stop:                     em100 shall stop
  -t|--trace:         trace mode
+
  -v|--verify:                   verify EM100 content matches the file
  -F|--firmware-update FILE: update firmware in EM100pro (dangerous)
+
  -t|--trace:                     trace mode
  -f|--firmware-dump FILE:  export firmware in EM100pro to file
+
  -O|--offset HEX_VAL:            address offset for trace mode
  -S|--set-serialno NUM:     set serial number to NUM
+
  -T|--terminal:                  terminal mode
  -p|--holdpin [LOW|FLOAT|INPUT]: set the hold pin state
+
  -F|--firmware-update FILE:     update EM100pro firmware (dangerous)
  -x|--device BUS:DEV use EM100pro on USB bus/device
+
  -f|--firmware-dump FILE:       export raw EM100pro firmware to file
  -l|--list-devices   list all connected EM100pro devices
+
   -g|--firmware-write FILE:      export EM100pro firmware to DPFW file
  -D|--debug:         print debug information.
+
  -S|--set-serialno NUM:         set serial number to NUM
  -h|--help:         this help text
+
  -p|--holdpin [LOW|FLOAT|INPUT]: set the hold pin state
 +
  -x|--device BUS:DEV             use EM100pro on USB bus/device
 +
  -x|--device DPxxxxxx            use EM100pro with serial no DPxxxxxx
 +
  -l|--list-devices               list all connected EM100pro devices
 +
  -D|--debug:                     print debug information.
 +
  -h|--help:                     this help text
  
 
= Chip Voltage =
 
= Chip Voltage =
Line 37: Line 42:
 
= USB Tracing =
 
= USB Tracing =
  
When using VMware player to run the Windows utilities, the EM100pro will get confused by Windows trying to set the device up after Linux already did. To avoid that, add the following line to your .vmx file:
+
When using VMware to run the Windows utilities, the EM100pro will get confused by Windows trying to set the device up after Linux already did. To avoid that, add the following line to your .vmx file:
  
 
  usb.quirks.device0 = "0x04b4:0x1235 skip-reset, skip-refresh, skip-setconfig"
 
  usb.quirks.device0 = "0x04b4:0x1235 skip-reset, skip-refresh, skip-setconfig"

Latest revision as of 02:11, 10 May 2018

Linux Utility

We have developed a Linux utility to drive the EM100Pro. Get the sources with

$ git clone http://review.coreboot.org/em100

Browse the source code here: http://review.coreboot.org/gitweb?p=em100.git;a=summary

Here's how to use the utility:

em100: EM100pro command line utility

Example:

 ./em100 --stop --set M25P80 -d file.bin -v --start -t -O 0xfff00000

Usage:

 -c|--set CHIP:                  select chip emulation
 -d|--download FILE:             download FILE into EM100pro
 -u|--upload FILE:               upload from EM100pro into FILE
 -r|--start:                     em100 shall run
 -s|--stop:                      em100 shall stop
 -v|--verify:                    verify EM100 content matches the file
 -t|--trace:                     trace mode
 -O|--offset HEX_VAL:            address offset for trace mode
 -T|--terminal:                  terminal mode
 -F|--firmware-update FILE:      update EM100pro firmware (dangerous)
 -f|--firmware-dump FILE:        export raw EM100pro firmware to file
 -g|--firmware-write FILE:       export EM100pro firmware to DPFW file
 -S|--set-serialno NUM:          set serial number to NUM
 -p|--holdpin [LOW|FLOAT|INPUT]: set the hold pin state
 -x|--device BUS:DEV             use EM100pro on USB bus/device
 -x|--device DPxxxxxx            use EM100pro with serial no DPxxxxxx
 -l|--list-devices               list all connected EM100pro devices
 -D|--debug:                     print debug information.
 -h|--help:                      this help text

Chip Voltage

EM100 uses different firmware for 1.8V and 3.3V chips. Furthermore, the firmware update function only accepts combined MCU and FPGA images.

TODO: Update tool to automatically select appropriate firmware.

USB Tracing

When using VMware to run the Windows utilities, the EM100pro will get confused by Windows trying to set the device up after Linux already did. To avoid that, add the following line to your .vmx file:

usb.quirks.device0 = "0x04b4:0x1235 skip-reset, skip-refresh, skip-setconfig"