Flash Rom Write란
JTAG 케이블을 이용한 타겟보드 연결

윈도우용 프로그램, EZFlashW
EZ-PXA270에서 EZFlashW 실행
EZ-AU1200에서 EZFlashW 실행
EZ-S3C2440에서 EZFlashW 실행
EZ-X5에서 EZFlashW 실행

리눅스용 프로그램 EZFlash
EZ-PXA270에서 EZFlash 실행
EZ-AU1200에서 EZFlash 실행
EZ-S3C2440에서 EZFlash 실행
EZ-X5에서 EZFlash 실행

Flash Rom Write란?

타겟 보드의 부트로더를 수정하거나 하드웨어를 개발할 때 전용 디버거 장비를 사용할 수도 있지만 이런 장비가 없을 때는 타겟 보드에서 제공하는 JTAG 케이블을 이용하여 부트로더를 써 넣을 수 있습니다.

리눅스용 프로그램으로 EZFlash란 프로그램이 제공되며, Microsoft Windows(이하 MS윈도우) 용은 EZFlashW으로 제공됩니다.

JTAG 케이블을 이용한 타겟보드 연결

타겟 보드로 부트로더를 전송하기 위해서는 JTAG 케이블을 이용하여 개발 호스트와 타겟보드를 연결해야 합니다.

  • EZ-보드의 전원을 꺼 주십시오.
  • JTAG 케이블로 PC와 EZ-보드를 서로 연결합니다. 연결하는 방법은 아래의 이미지를 참고하십시오.

  • EZ-PXA270의 연결 모습입니다.
  • EZ-AU1200의 연결 모습입니다.
  • EZ-S3C2440의 연결 모습입니다.
  • 연결 후에 EZ-보드에 전원을 인가합니다. 전원 인가 후에 보드의 전원 LED가 켜지는 것을 확인하십시오.
주의 보드에 JTAG 케이블이 연결되어있으면 콘솔 시리얼 포트를 통한 통신이 이루어 지지 않습니다. 즉, 콘솔 포트를 연결하여 텔넷 프로그램을 실행 중이라고 하더라도 통신하실 수 없습니다. 그러므로 전원 인가 후에 보드의 정상 상태를 보드의 전원 LED가 켜지는 것으로 확인합니다.
  • EZ-X5의 연결 모습입니다.

윈도우용 프로그램, EZFlashW

EZFlashW는 MS윈도우에서 프린터 포트를 이용하여 쉽게 플래시에 데이터를 저장할 수 있습니다. 그러므로 MS 윈도우의 장치 관리자에 프린터 포트가 등록되어 있어야 합니다.

참고
  • 프린터 포트가 없다면 USB 포트를 이용하는 EZ-AT7 제품을 이용하십시오.
  • J-TAG 케이블을 이용할 때 보다 더욱 빠르고 안전합니다.
  • EZ-AT7은 별매 제품입니다.

EZFlashW는 다음과 같은 기능을 제공합니다.

  • AMD NOR 형 부트 블록 플래시를 쓰고 검사
  • NAND 형 부트 블록 플래시를 쓰고 검사
주의
  • 플랫폼의 추가는 추후 개발에 포함될 때마다 할 것이며, 소프트웨어 저작권은 에프에이리눅스㈜에 있습니다.
  • 이 프로그램은 윈도우2000, XP용으로만 제작되었습니다.

EZFlashW는 제품과 동봉된 CD에서 구하실 수 있으며 각 보드별로 아래의 폴더에 들어 있습니다.

EZ 보드 실행 명령
EZ-PXA270 /sw/flashRomWrite/ezflashw
EZ-AU1200
EZ-S3C2440
EZ-X5 /sw/ezflashw

EZ-PXA270 에서 EZFlashW 실행

  ▶ EZFlashW를 위한 드라이버 파일 설치

  • MS윈도우의 장치관리자를 확인하여 프린터 포트가 옳바르게 설치되었는지 확인합니다.


  • EZFlashW를  하기 위한 드라이버를 설치합니다.
    [CD롬]/sw/flashRomWrite/ezflashw/install/Install.exe를 실행합니다.

 ▶ EZFlashW 실행

  • EZFlashW 프로그램을 실행합니다. 실행 파일 이름은 [CD롬]/sw/flashRomWrite/ezflashw/EZFlashW.exe 입니다.

  • EZFlashW를 실행한 모습입니다.


    이 화면의 메인 화면으로 각 사용하고 하는 기능을 선택할 수 있습니다.
    • 보드 설정 : 보드를 선택합니다.
    • 다운로드 이미지 설정 : 보드에 전송할 부트로더 이미지 파일을 선택합니다.
    • 쓰기 시작 : 보드에 쓰기를 시작합니다.
    • 중지 : 쓰기 작업을 중지합니다.
    • 검사 : 쓰기 작업이 제대로 실행되었는지 확인합니다.
    • 프로그램 종료 : 프로그램을 종료합니다.

  • [보드 설정]에서 EZ-X7을 선택하신 후, [파일명] 버튼으로 이미지 파일을 선택합니다. 보드의 전원을 켜신 후 [쓰기 시작] 버튼을 클릭하여 부트로더 쓰기를 시작합니다.


  • CD로 제공되는 부트로더의 경우 약 20분 정도 소요됩니다. 아래는 작업이 완료된 모습입니다.

  ▶ 보드 재부팅

  • 쓰기가 완료되면 EZ-보드 전원을 끄시고 JTAG 케이블을 제거합니다.
  • EZ-보드 전원을 켜시고 부팅 메시지가 출력되는지 확인합니다.
EZ-AU1200 에서 EZFlashW 실행

  ▶ EZFlashW를 위한 드라이버 파일 설치

  • MS윈도우의 장치관리자를 확인하여 프린터 포트가 옳바르게 설치되었는지 확인합니다.


  • EZFlashW를  하기 위한 드라이버를 설치합니다.
    [CD롬]/sw/flashRomWrite/ezflashw/install/Install.exe를 실행합니다.

 ▶ EZFlashW 실행

  • EZFlashW 프로그램을 실행합니다. 실행 파일 이름은 [CD롬]/sw/flashRomWrite/ezflashw/EZFlashW.exe 입니다.

  • EZFlashW를 실행한 모습입니다.


    이 화면의 메인 화면으로 각 사용하고 하는 기능을 선택할 수 있습니다.
    • 보드 설정 : 보드를 선택합니다.
    • 다운로드 이미지 설정 : 보드에 전송할 부트로더 이미지 파일을 선택합니다.
    • 쓰기 시작 : 보드에 쓰기를 시작합니다.
    • 중지 : 쓰기 작업을 중지합니다.
    • 검사 : 쓰기 작업이 제대로 실행되었는지 확인합니다.
    • 프로그램 종료 : 프로그램을 종료합니다.

  • [보드 설정]에서 EZ-AU1200을 선택하신 후, [파일명] 버튼으로 이미지 파일을 선택하니다. EZ-보드의 전원을 켜신 후, [쓰기 시작] 버튼을 클릭하여 부트로더 쓰기를 시작합니다.


  • CD로 제공되는 부트로더를 쓰기할 경우 약 20 분 정도 소요됩니다. 아래는 작업이 완료된 모습입니다.

  ▶ 보드 재부팅

  • 쓰기가 완료되면 EZ-보드 전원을 끄시고 JTAG 케이블을 제거합니다.
  • EZ-보드 전원을 켜시고 부팅 메시지가 출력되는지 확인합니다.

EZ-S3C2440 에서 EZFlashW 실행

  ▶ EZFlashW를 위한 드라이버 파일 설치

  • MS윈도우의 장치관리자를 확인하여 프린터 포트가 옳바르게 설치되었는지 확인합니다.


  • EZFlashW를  하기 위한 드라이버를 설치합니다.
    [CD롬]/sw/flashRomWrite/ezflashw/install/Install.exe를 실행합니다.

  ▶ EZFlashW 실행

  • EZFlashW 프로그램을 실행합니다. 실행 파일 이름은 [CD롬]/sw/flashRomWrite/ezflashw/EZFlashW.exe 입니다.

  • EZFlashW를 실행한 모습입니다.


    이 화면의 메인 화면으로 각 사용하고 하는 기능을 선택할 수 있습니다.
    • 보드 설정 : 보드를 선택합니다.
    • 다운로드 이미지 설정 : 보드에 전송할 부트로더 이미지 파일을 선택합니다.
    • 쓰기 시작 : 보드에 쓰기를 시작합니다.
    • 중지 : 쓰기 작업을 중지합니다.
    • 검사 : 쓰기 작업이 제대로 실행되었는지 확인합니다.
    • 프로그램 종료 : 프로그램을 종료합니다.

  • [보드 설정]에서 사용하시는 보드를 선택하신 후, [쓰기 시작] 버튼을 클릭하여 EZ-보드에 부트로더 쓰기를 시작합니다.


  • 부트로더의 크기에 따라 2분에서 5분 정도 소요됩니다. 아래는 작업이 완료된 모습입니다.

  ▶ 보드 재부팅

  • 쓰기가 완료되면 EZ-보드 전원을 끄시고 JTAG 케이블을 제거합니다.
  • EZ-보드 전원을 켜시고 부팅 메시지가 출력되는지 확인합니다.

EZ-X5에서 EZFlashW 실행

참고 아래의 설명은 EZ-X5에서 커널 2.4를 사용했을 때의 설명입니다. 최근의 커널 2.6 환경으로 설치하시면 (1) EZ-S3C2440과 같은 커널 2.6 보드와 같은 부트로더 소스를 이용하여 부트로더 이미지를 생성할 수 있으며, (2) 같은 EZFlashW 프로그램을 이용하여 부트로더를 타겟보드로 다운로드할 수 있습니다.

  ▶ EZFlashW 실행

  • EZFlashW 프로그램을 실행합니다. 실행파일 이름은 [CD롬]/sw/ezflashw/ezflashw.exe 입니다.

  • 다양한 기능을 선택할 수 있는 메뉴 윈도우가 출력됩니다. 메뉴 중에 [Flash Writer]를 클릭합니다.


  • Flash Writer 윈도우가 출력됩니다. (1) 번의 파일 선택 버튼을 클릭하신 후 부트로더 이미지 파일을 선택합니다. 선택된 이미지 파일의 전체 이름이 (2)에 출력됩니다. 이미지 파일을 선택하셨다면 (3)의 [Write] 버튼을 클릭하여 쓰기를 시작합니다.


  • [Write] 버튼을 클릭하시면 타겟보드로 부트로더 쓰기를 진행하면서 상황을 보여 줍니다.

  • 쓰기가 완료되면 아래의 그림에서처럼 쓰기 완료 메시지가 출력됩니다.

  ▶ 보드 재부팅

  • 쓰기가 완료되면 EZ-보드 전원을 끄시고 JTAG 케이블을 제거합니다.
  • EZ-보드 전원을 켜시고 부팅 메시지가 출력되는지 확인합니다.

리눅스용 프로그램, EZFalsh

EZFlash는 리눅스에서 프린터포트를 이용하여 플래시에 데이터를 저장할 수 있는 프로그램으로 아래의 기능을 제공합니다.

  • AMD NOR 형 부트 블록 플래시를 쓰고 검사
  • NAND 형 부트 블록 플래시를 쓰고 검사
  • EZFlash프로그램 시작하기

제품과 함께 동봉된 CD의 /sw/ezflash/ezflash 를 실행한다.

실행 파일명 보드에 따라 아래와 같습니다.

EZ 보드 실행 명령
EZ-PXA270 /sw/FlashRomWriter/ezflash
EZ-AU1200
EZ-S3C2440
/sw/ezflash
EZ-X5 /sw/ezflash.x5

실행 방법은 실행 파일 이름에 보드명과 이미지 파일 이름을 입력합니다.

./ezflash board_name image_filename

  • board_name
    지원하는 보드를 알고 싶다면 ./ezflash 와 같이 아무런 옵션을 주지 않고 실행하면 표시된다.
    (주의)이전 EZ-X5에서 제공된 ezflash.x5에서는 이 기능이 없습니다.
  • image_filename
    다운로드 할 파일명을 적어 줍니다. 여기서는 부트로더를 타겟보드에 올려야 하므로 타겟 보드의 부트로더 이미지 위치를 적어 줍니다.

EZ 보드별 실행 명령 예는 아래와 같습니다.

EZ 보드 실행 명령
EZ-PXA270 ./ezflash EZ-PXA270 ezboot_image/ezboot.ez-pxa270
EZ-AU1200 ./ezflash EZ-AU1200 ezboot_image/ezboot.ez-au1250
EZ-S3C2440 ./ezflash EZ-S3C2440 ezboot_image/ezboot.s2440
EZ-X5 ./ezflash.x5 ezboot.x5 -w

EZ-PXA270 에서 EZFlash 실행

  // 작업의 편의를 위해 CD롬에 있는 파일을 /ez-pxa270으로 복사 한 후에
  // 진행하겠습니다.

]# mount /dev/cdrom/ /mnt/cdrom                       // CD로 마운트
mount: block device /dev/cdrom is write-protected, mounting read-only
]# mkdir /ez-pxa270                                   // 루트 디렉토리에 ez-au1200 디렉토리 생성
]# cd /ez-pxa270                                      // 생성된 디렉토리로 이동
]# cp -a /mnt/cdrom/sw/FlashRomWriter/ezflash .       // CD에서 ezflash와 부트로더 이미지 파일 복사
]# cd ezflash                                         // ezflash 디렉토리로 이동
]# chomd 777 ezflash                                  // ezflash를 실행 가능하도록 수정
]# ./ezflash EZ-X7 ezboot_image/ezboot.ez-pxa270      // 부트로더 이미지 쓰기 실행
------------------------------------------------------
ezflash - 1.0 [Nov 22 2007] make by you youngchang
------------------------------------------------------
board      : EZ-X7
processor  : PXA270
core       : XScale
method     : JTAG 바운더리 스캔 방식(BSDL)
------------------------------------------------------
image file : ezboot_image/ezboot.ez-pxa270
------------------------------------------------------

JTAG INTERFACE TEST [BYPASS]
BYPASS OK
CORE IDCODE [79265013]
EXTEST MODE SET
------------------------------------------------------
FLASH DETECT START
DETECT NOR [004A:22BA] Excel Semiconductor ESI ES29LV400EB
TOTAL SIZE :      512 K Byte
PAGE SIZE : 256 Byte ERASE SIZE : 8192 Byte
------------------------------------------------------
ERASE END
FLASH WRITE START WRITE: |======================================== 100% ---> 100% 후에 자동 삭제됩니다. WRITE END FLASH VERIFY START VERIFY: |======================================= 100% ---> 100% 후에 자동 삭제됩니다. VERIFY END
]#
참고 제대로 쓰기가 되었는지 확인하는 "VERIFY" 중에는 Ctrl-C로 작업을 중지하셔도 부트로더 쓰기에 영향을 미치지 않습니다.

EZ-AU1200에서 EZFlash 실행

  // 작업의 편의를 위해 CD롬에 있는 파일을 /ez-au1200으로 복사 한 후에
  // 진행하겠습니다.

]# mount /dev/cdrom/ /mnt/cdrom                       // CD로 마운트
mount: block device /dev/cdrom is write-protected, mounting read-only
]# mkdir /ez-au1200                                   // 루트 디렉토리에 ez-au1200 디렉토리 생성
]# cd /ez-au1200                                      // 생성된 디렉토리로 이동
]# cp -a /mnt/cdrom/sw/ezflash .                      // CD에서 ezflash와 부트로더 이미지 파일 복사
]# cd ezflash                                         // ezflash 디렉토리로 이동
]# chomd 777 ezflash                                  // ezflash를 실행 가능하도록 수정
]# ./ezflash EZ-AU1200 ezboot_image/ezboot.ez-au1250  // 부트로더 이미지 쓰기 실행
------------------------------------------------------
ezflash - 1.0 [Sep 20 2007] make by you youngchang
------------------------------------------------------
board      : EZ-AU1200
processor  : au1200
core       : MIPS
method     : JTAG 바운더리 스캔 방식(BSDL)
------------------------------------------------------
image file : ezboot_image/ezboot.ez-au1250
------------------------------------------------------
JTAG INTERFACE TEST [BYPASS]
BYPASS OK
CORE IDCODE [1040228F]
EXTEST MODE SET
------------------------------------------------------
FLASH DETECT START
DETECT NOR [007F:22BA] (null) ESI ES29LV400EB
TOTAL SIZE : 512 M Byte
PAGE SIZE : 256 Byte
ERASE SIZE : 8192 Byte
------------------------------------------------------
ERASE END FLASH WRITE START WRITE: |======================================== 100% ---> 100% 후에 자동 삭제됩니다. WRITE END FLASH VERIFY START VERIFY: |======================================= 100% ---> 100% 후에 자동 삭제됩니다. VERIFY END
]#
참고 제대로 쓰기가 되었는지 확인하는 "VERIFY" 중에는 Ctrl-C로 작업을 중지하셔도 부트로더 쓰기에 영향을 미치지 않습니다.

 

EZ-S3C2440에서 EZFlash 실행

  // 작업의 편의를 위해 CD롬에 있는 파일을 /ez-s3c2440으로 복사 한 후에
  // 진행하겠습니다.

]# mount /dev/cdrom/ /mnt/cdrom                    // CD로 마운트
mount: block device /dev/cdrom is write-protected, mounting read-only
]# mkdir /ez-s3c2440                               // 루트 디렉토리에 ez-s3c2440 디렉토리 생성
]# cd /ez-s3c2440                                  // 생성된 디렉토리로 이동
]# cp -a /mnt/cdrom/sw/ezflash .                   // CD에서 ezflash와 부트로더 이미지 파일 복사
]# cd ezflash                                      // ezflash 디렉토리로 이동
]# chomd 777 ezflash                               // ezflash를 실행 가능하도록 수정
]# ./ezflash EZ-S3C2440 ezboot_image/ezboot.s2440  // 부트로더 이미지 쓰기 실행
------------------------------------------------------
ezflash - 1.0 [Sep 20 2007] make by you youngchang
------------------------------------------------------
board      : EZ-S3C2440
processor  : S3C2440
core       : ARM9
method     : JTAG 바운더리 스캔 방식(BSDL)
------------------------------------------------------
image file : ezboot_image/ezboot.s2440
------------------------------------------------------
JTAG INTERFACE TEST [BYPASS]
BYPASS OK
CORE IDCODE [0032409D]
EXTEST MODE SET
------------------------------------------------------
FLASH DETECT START
DETECT NAND [EC:76] Samsung NAND 64M 3.3V 8-bit
TOTAL SIZE :    65536 M Byte
PAGE  SIZE :      512 Byte
ERASE SIZE :    16384 Byte
------------------------------------------------------
ERASE END                                                                      
FLASH WRITE START
WRITE: |========================================   100%  ---> 100% 후에 자동 삭제됩니다. 
WRITE END                                                                      
FLASH VERIFY START
VERIFY: |=======================================   100%  ---> 100% 후에 자동 삭제됩니다. 
VERIFY END                                                                     
]#
참고 제대로 쓰기가 되었는지 확인하는 "VERIFY" 중에는 Ctrl-C로 작업을 중지하셔도 부트로더 쓰기에 영향을 미치지 않습니다.

EZ-X5에서 EZFlash 실행

참고 아래의 설명은 EZ-X5에서 커널 2.4를 사용했을 때의 설명입니다. 최근의 커널 2.6 환경으로 설치하시면 (1) EZ-S3C2440과 같은 커널 2.6 보드와 같은 부트로더 소스를 이용하여 부트로더 이미지를 생성할 수 있으며, (2) 같은 EZFlash 프로그램을 이용하여 부트로더를 타겟보드로 다운로드할 수 있습니다.
  // 작업의 편의를 위해 CD롬에 있는 파일을 /ez-x5로 복사 한 후에
  // 진행하겠습니다.

]# mount /dev/cdrom/ /mnt/cdrom          // cd 롬 마운트
mount: block device /dev/cdrom is write-protected, mounting read-only
]# mkdir /ez-x5                          // 루트에 ez-x5 디렉토리 생성
]# cd /ez-x5
]# cp -a /mnt/cdrom/sw/ezflash.x5 .      // ezflash 실행파일을 복사
]# mkdir image                           // EZ-X5 용 부트로더 이미지 파일을 위한 디렉토리 생성
]# cp -a /mnt/cdrom/sw/image/ezboot.x5 image/  // 부트로더 이미지 파일 복사
]# cd ezflash.x5/                        // ezflash 실행파일 디렉토리로 이동
]# chomd 777 ezflash.x5                  // ezflash.x5를 실행 가능도하도록 수정
]# ./ezflash.x5 ../image/ezboot.x5 -w    // 부트로더 이미지 쓰기를 실행


------------------------------------------------------------
ezflash pax255 v1.0 ( 2003-06-27)
make by J.D&T Co.,Ltd ( You Young-chang, fooji )
============================================================
  Options 
  -p        : JTAG port test      [ !!! single option    ]  
  -c        : PXA255 CELL test    [ !!! single option    ]  
  -f        : FLASH test          [ !!! single option    ]  
  -r        : Flash Read          [                      ]  
  -w        : Flash Write         [ default option       ]  
  -v        : Flash Verify        [                      ]  
  -b base   : Flash base Address  [ default : 0x00000000 ]  
  -o offset : Flash write Address [ default : 0x00000000 ]  
  -s size   : Flash r/w   size    [                      ]  
------------------------------------------------------------
> Init JTAG Interface...
> 3 [-w]
------------------------------------------------------------
------------------------------------------------------------
> Flash Write From File....
> Setting Data
>   Base   Address : 0
>   Offset Address : 0
>   Size           : 50320
>   File Name      : ../image/ezboot.x5
  Put Bypass Value [ 01001000101010110111011011001011  ]
  Get Bypass Value [  10010001010101101110110110010110 ]
  Bypass Passing Ok.
------------------------------------------------------------
  Get ID Register Value [011010010010011001000000000100111110110110010110]
  Stepping Value          [0110] : 
  Part Number [1001001001100100] : PXA255
  Manufacturer ID  [00000001001] : Intel Corporation
------------------------------------------------------------
# IR Setting..Value [00000] 
  Detect AM29LV400 (BOTTOM)Flash : 22BA
  SIZE 4M-BIT [512Kbyte]
------------------------------------------------------------
    Erase : OK                                                                 
    Writing: |=========================================  100%  ---> 100% 후에 자동 삭제됩니다. 
    Write : OK                                                                 
> Flash Write End.....
------------------------------------------------------------
program end
]#