Plx드라이버(v7.11)은 PlxCm이라는 일종의 command-shell을 제공한다.
PLX드라이버의 여러기능을 조회하거나 테스트할 수 있다.
Samples/PlxCm/App디렉토리에 있는 PlxCm을 실행시키면 명령을 받기위한 프롬프트가 나온다.
여기서 help명령을 내리면 여러가지 명령목록이 나오는 데 다음과 같은 명령들에 대해 알아보기로 한다.

PlxCm_1.png



'ver'는 shell의 버젼정보를 보여준다.

PlxCm_2.png


'dev'명령은 리눅스의 'ls'명령과 같이 목록을 보여주는 것이다. ls는 파일목록이고, dev는
PLX-PCI디바이스목록을 보여준다.

PlxCm_3.png


왼편에 커서('==>')가 보이는데 현재 오퍼레이션 대상이 되는 디바이스를 표시한다. 대상디바이스를 변경하기 위해서는
다음과 같이 dev명령의 파라메터로 디바이스번호를 준다.

PlxCm_4.png


'scan'는 본체에 붙어있는 디바이스의 목록을 보여준다.

PlxCm_5.png


현재 디바이스의 capability를 표시해 줄 수도 있다.

PlxCm_6.png


'pci'명령은 현재 디비이스의 PCI정보를 읽어온다.

PlxCm_7.png


'reg'명령은 현재 디바이스의 BAR0에 있는 레지스터의 내용을 보여준다.

PlxCm_8.png


bash쉘에서처럼 PlxCm도 자체적으로 변수들을 가지고 있다.
'vars'명령은 현재 변수목록을 보여준다.

PlxCm_9.png

V0변수는 BAR0의 주소, V2는 BAR2의 변수값을 가지고 있다.


BAR2는 128KB DPRAM의 주소가 매핑되어 있다.

db를 이용하여 DPRAM을 읽을 수 있다. 다음 명령은 DPRAM내 0x4000부터 128바이트를 보여준다.

PlxCm_10.png
보여지는 사이즈를 제한하기 위해서는 2번째 파라메터를 지정한다.


'set'명령을 이용하여 사용자변수를 만들 수 있다.

PlxCm_11.png

이렇게 만든 변수는 'exit'전까지 유효하다. shell을 빠져나가면, 사용자변수는 사라진다.


다음은 사용자변수를 이용하는 예이다.

PlxCm_12.png

'eb'명령어는 지정된 주소(여기서는 A2변수값)부터 데이타(0x11, 0x22, 0xEE, 0xFF)를 Write하기 위한 것이다.


마지막으로 'eep_save'와 'eep_load'명령은 PLX카드의 eeprom의 내용을 읽어내거나 구울수 있게 한다.
PlxCm_13.png