Embedded Linux
위치로그  |  태그  |  Diary  |  RF  |  Love  |  안부게시판

JTAG 에 해당하는 글2 개    [목록보기▼]

개발환경 구축 - JTAG
     HBE-XM-Belverde | 2009/03/19 18:53

2009/03/19 18:53 2009/03/19 18:53
http://embedded.kr/entry/JTAG-Compile 참고

코어와 상관없이 디바이스 모든 외부핀을 쓰거나 읽을 수 있도록 하는 장치.
실험시간에 쓰는 JTAG 장비는 flah 메모리에 데이터를 저장하기 위한 방법으로 사용.
잘못된 부트로더 이미지를 사용하여 타겟보드가 부트로더로 부팅되지 않을 때 JTAG 장비를 이용하여 flash  메모리에 부트로더 이미지를 쓸 수 있다.

[root@localhost ~]$ mkdir /root/2000
[root@localhost ~]$ cd 2000
[root@localhost 2000]$ mount /dev/cdrom /mnt/cdrom
[root@localhost 2000]$ cp /mnt/cdrom/tools/jtag/Jflash.tar.gz ./
[root@localhost 2000]$ tar xvzf Jflash.tar.gz
[root@localhost 2000]$ cd Jflash
[root@localhost Jflash]$ mv data/* ./
[root@localhost Jflash]$ cp ../xm_boot/xm_boot ./
[root@localhost Jfalsh]$ ./jflashmm -p pxa27x32 xm_boot

/root/2000 이라는 작업디렉토리를 만들어 JTAG 이용 할 수 있는 프로그램을 복사하여 압축파일을 푼다.
압축 푼 디렉토리로 이동하여 부트로더 컴파일 한 이미지(실험시간에 /root/학번/xm_boot/ 디렉토리에서 부트로더를 컴파일 함)를 jflashmm 이 있는 디렉토리로 복사한다.
jflashmm 이라는 프로그램을 이용하여 타겟보드의 플래쉬 메모리에 부트로더 이미지를 저장 할 수 있다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

태그 : , ,
트랙백0 | 댓글쓰기0
Trackback address : http://embedded.kr/trackback/32
[로그인][오픈아이디란?]
아이디 : 비밀번호 :
내용 :
비밀글로 등록

JTAG Compile
     X-Hyper255A | 2006/08/09 11:37

2006/08/09 11:37 2006/08/09 11:37
JTAG란?
이반적으로 JTAG라는 말 보다는 Boundary-Scan이란 말을 더 많이 사용한다. JTAG는 칩 내부에 Boundary Cell이란 것을 두어 외부의 핀과 일대 일로 연결시켜 프로세서가 할 수있는 동작을 중간에  Cell을 통해 모든 동작을 인위적으로 수행할 수 있어 여러가지 하드웨어 테스트나 연결 상태 등을 체크 할 수있다.

JTAG 기능
프로세서 상태와는상관없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어 들일 수 있는 기능을 제공한다.
  • 디바이스 내에서 모든 외부와의 연결점을 가로챈다.(외부로 나가는 각각의 핀들과 일대 일로 연결)
  • 각각의 sell은 serial-regisher(boundary scan register)형성하기 위해서 서로 연결되어 있다.
  • 전체적인 인터페이스는 5개의 핀에 의해서 제어된다 (TDI, TMS, TCK, nTRST, TDO)
  • 회로의 배선과 소자의 저기적 연결상태 Test
  • 디바이스간의 연결상태 Test
  • Flash memory fusing

JTAG Building
#cd /home/embed/xhyper/Jflash-PXA255
#vi Compile_switches.h
/*****************************************                                                                   
**  FILENAME:       Compile_switches.h
**
**  PURPOSE:        collects the optional switches for this program.
**
**  LAST MODIFIED:  2003.06.03
*****************************************/
//#define DEBUG
//#define INSIGHT_JTAG
#define PARALLEL_JTAG
                                              
/*
* HyBus pxa255 board platform
*/
#define XHYPER255A   // 16bit flash memory
//#define XHYPER255B   // 32bit flash memory

레드헷 리눅스 9.0에서는 void main() 함수를 쓰지 않고 int main() 함수를 씀으로 바꿔줘야 한다. 아래 빨간색 int로 바꿔 주자.
#vi main.c
/*
*******************************************************************************
*
* FUNCTION:         main
*
* DESCRIPTION:      Entry point for utility
*
* INPUT PARAMETERS: uses optional input parameters:
*                       argv[1] = filename to flash (binary files only)
*                       argv[2] = program options, currently only 'P' for Program
*                       argv[3] = block number (used to compute base_address)*
* RETURNS:          void
*
*******************************************************************************
*/
int main( int argc, char *argv[] )
{
   time_t start;
       DWORD fsize = 0;
       DWORD last_non_zero = 0 ;
       DWORD last_non_ff = 0;
//      DWORD li;
       int block_number = 0;
#make clean
rm -f *.o Jflash-Xhyper255
#make
g++ -O2 -s -g -D__linux__ Jflash.cpp -o Jflash-Xhyper255
/tmp/ccp8kA4v.o(.text+0x42b): In function `main':
/home/embed/xhyper/Jflash-PXA255/Jflash.cpp:199: the `gets' function is dangerous and should not be used.
#ls
Compile_switches.h  Jflash.dsw  RelNote_Jflash_CL.htm  jflash
Debug               Jflash.h    SWLicense.pdf          jflash_cl.exe
Giveio.zip          Jflash.ncb  giveio.inf             load_sample.bat
Jflash-Xhyper255    Jflash.opt  giveio.ini             xhyper255jtag.h
Jflash.cpp          Jflash.plg  giveio.sys
Jflash.dsp          Makefile    instdrv.exe

Jflash-Xhyper255 바이너리 파일이 만들어 져 있을 것이다. Bootloader Compile 한 후 간단한 사용 방법을 보자.
이올린에 북마크하기(0) 이올린에 추천하기(0)

태그 : ,
트랙백0 | 댓글쓰기0
Trackback address : http://embedded.kr/trackback/9
[로그인][오픈아이디란?]
아이디 : 비밀번호 :
내용 :
비밀글로 등록

[PREV] [1] [NEXT]

BLOG main image
Notice
전체 (26)
Linux (15)
X-Hyper255A (7)
HBE-XM-Belverde (4)
개발환경 구축 - TFTP 서버 셋팅
개발환경 구축 - JTAG
개발환경 구축 - Cross compi...
임베디드 시스템 개발 환경 설정
아이디와 비밀번호 한꺼번에...
find kernel Fedora VMware PXE Netboot 리눅스 명령어 bootp wget GRUB 실험 Ubuntu server 우분투 개발환경 구축 minicom 안녕리눅스 Toolchain sshd 설치 서버설정 Rewrite tftp 임베디드 Ubuntu xinted root 비밀번호 JTAG
좋은 정보 감사합니다. 출처...
2009 - firenux
Total : 73656
Today : 10
Yesterday : 26
태터툴즈 배너
rss
 
 
 
위치로그 : 태그 : 방명록 : 관리자
고을@’s Blog is powered by Tattertools.com