ARM 용 라이터프로그램인 SAMBA 는 너무 사용하기에 너무 불편하고, 라이팅 하는데 오랜 시간이 걸립니다.

라이팅 속도가 빠르고 사용하기에 편한 H-JTAG 를 알아보겠습니다.

   

 

준비물

  • 보드(AT91SAM7S64 보드) -  TMS, TDI, TDO, TCK 핀이 사용됩니다.
  • JTAG 프로그램 케이블
  • 라이팅용 프로그램(H-JTAG)

   

   

   

   

프로그램 설치

http://www.hjtag.com/download.html(무료) 에서 다운로드하여 PC에 설치합니다.

   

 

 

 

프로그램 라이팅

 

바탕화면의 [H-JTAG] 을 실행한 후 [Detect target]로 연결된 디바이스를 검색합니다.

에러 메세지가 발생하지 않고, 글씨가 파란색으로 변하면 ARM 모듈과 연결이 정상적으로 된 것입니다.

 

여기서는 0x3F0F0F0F0F 라는 글씨가 표시되어 정상입니다.

 

 

 

 

   

연결이 성공하면, [F]모양의 아이콘(Start H-Flasher)을 클릭하여 H-Flasher 프로그램을 실행합니다.

   

[1. Flash Selection]에서 사용할 디바이스를 선택

 


 

 

 

2,3 번은 default 값으로 두고, [Programming] 에서 

  • [Flash]와[Target]을 체크해주고
  • 파일 [Type]를 선택하고,
  • Src File을 선택
  • Dst Addr 을 설정 [잘 모르면 0]
  • [Program]을 눌러 다운로드를 시작

만약 다운로드가 되지 않는다면, 케이블, 보드, 전원을 확인해보고 처음부터 다시 시도합니다.

 

 

 

 

   

 

 

 

다운로드가 진행됩니다.

 

 

 

   

보드를 리셋하여 동작을 확인합니다.

   

 

 

 

참고사항

 

SAMBA 프로그램으로 라이팅을 하게 되면,

보드를 초기화(플래시 삭제)해야 하고, 전원 ON/OFF해야 하고,

보드 라이팅(클릭을 5번이상 해야 함)을 해야 하고 리셋해야 하는 번거로움이 있는 반면

 H-JTAG는 설정을 한번만 해주면, 1초에 라이팅을 완료할 수 있어 편리합니다.

 

 

Posted by WhiteAT
,

 

윈도우 드라이버: 

WhiteAT_drive01.zip


펌웨어 파일:


main.bin



(첨부파일에는 기본적인 USB 통신기능만 있다.)

 

 

 

드라이버 설치를 완료하면 아래와 같은 장치가 추가된다.

(아래 쪽에 WAT302 Board-WhiteAT 이라고 있다.)

   

Posted by WhiteAT
,

   

예제코드:

at91sam7s64_Atmel_interrupt_3LED.zip

 

여러 개의 I/O 를 제어할 때,

main 에서 모두 처리하게 되면 복잡해지고
하나의 I/O 에서 딜레이가 필요할 때, 다른 I/O 에 영향을 줄 수 있다.

이런 것을 간단하게 처리할 수 있는 예입니다.

 


예제소스는
 - 1mS 마다 깜박이는 LED
 - 1S    마다 깜박이는 LED
 - 0.7S 마다 깜박이는 LED
=> 3개의 LED 의 깜박이는 시간을 간단하게 변경해서 LED를 제어하는 내용이다.

14초가 되면 동시에 ON되는 것을 알 수 있다.

Posted by WhiteAT
,

 

AT91SAM7S64 의 타이머/카운터

 

예제 소스: 

at91sam7s64_Atmel_interrupt.zip


- 3개의 16비트 타이머/카운터
- 각각 독립적이며
- 주파수 측정, 이벤트 횟수, 시간 간격 측정, 펄스 발생, 지연시간, PWM 을 만들 수 있음
- 클럭소스를 8 가지 중 1개를 선택 가능
                       

첨부한 소스는 타이머0의 C 채널을 이용하였습니다.

   

 

Posted by WhiteAT
,

 

간단히 LED 제어 예제로 SAMBA 프로그램 라이팅 방법을 사용해 보겠습니다.

예제: 

wat_at91sam_io.zip



SAMBA 라는 프로그램으로 보드에 라이팅 할 수 있습니다.

[PC에 SAMBA 를 설치한 후에는 반드시 리부팅을 해야 합니다.]

 

 

플래시 내용 지우기(MCU 데이터 지우기)

 

- 점퍼를 연결한 후 usb전원을 연결합니다.
- 약 10초(길게는 15초) 후에는 플래시가 초기화 됩니다.

 

 

 

 

 

플래시 초기화 확인


- USB의 전원을 끊고,
- 점퍼의 연결을 끊고(점퍼를 빼고)
- USB 전원을 다시 연결합니다.
- 새로운 USB 장치[Atm6124.xxxxxxxxx어쩌구저쩌구]가 추가될 것입니다.
=> 여기까지 MPU의 ROM 초기화를 완료한 것입니다.

 

 

 

 


플래시에 프로그래밍(라이팅 하기)


- SAMBA 프로그램 실행
- 라이팅할 파일을 선택한 후 다운로드 버튼 클릭으로 다운로딩 시작
- YES, NO 선택하는 메세지 박스가 2번 뜨는데 모두 YES 선택
- 프로그램 완료 후 보드 리셋(즉, USB 케이블을 다시 연결)

=> 새롭게 라이팅한 프로그램이 실행됩니다.

LED ON/OFF 하는 예제를 첨부하였으니, main.bin 파일을 직접 다운로드 해 보면 됩니다.

약 1초마다 LED가 깜박이는 것을 확인 할 수 있습니다.

Posted by WhiteAT
,

 

AT91SAM7S64 회로 구현 시 몇 가지 주의사항이 있습니다.

1. TST, JTAGSEL, ERASE 핀을 사용하지 않을 때에는 GND 에 연결해야 합니다.

- 외부 노이즈에 의해 순간적으로 HIGH가 될 수 있는데,

  이럴 경우에 동작 중에 프로그램이 지워지거나(TST, EARSE) 프로그램에 정지(JTAGSEL) 될 수 있습니다.

 

Posted by WhiteAT
,

  

UART0 제어 코드:


wat_at91sam_uart0.zip







UART1 제어 코드:

wat_at91sam_uart1.zip






UART0 <-> UART1 중계 코드:


wat_at91sam_uart0_1.zip




Posted by WhiteAT
,

 

AT91SAM7S 시리즈 드라이버 설치

 

AT91SAM7S64를 배우기 위해서는 AT91SAM7S64 컨트롤러가 장착된 보드가 필요합니다.^^.

 

그 외에 한가지가 더 필요합니다.^^ (부트로더 사용시)

USB 케이블(5.0V 전원용, 파워 서플라이 대용이죠^^ )

 

 

 

 

드라이버 설치

 

보드 최초 연결 또는 드라이버 정보가 변경되었을 경우 드라이버를 설치해야 합니다.

처음 연결할 때는 아래와 같은 [새 하드웨어 발견] 메시지를 보여줄 겁니다.

 

 

 

 

 

그리고 [새 하드웨어 검색 마법사 시작] 창이 뜹니다.

[일단 한번 거절해 줍니다.^^ 아니오, 지금 연결 안 함]

 

 

 

 

atm6124.Inf 파일이 있는 경로를 지정해 줍니다.

 

 

 

 

 

적당한 드라이버 검색을 시작합니다.

 

 

 

 

 

하드웨어를 설치할 것인지의 물음에 OK 를 해주면

 

 

 

 

 

설치를 시작합니다.

 

 

 

 

설치 완료

 

 

 

 

 

 

 

장치 관리자에서 드라이브가 설치 된 것을 볼 수 있습니다.

(장치 명: atm6124.Sys ATMEL AT91xxxxx Test Board)

 

Posted by WhiteAT
,

 

AT91SAM7S 시리즈 사용시 주의 사항

 

AT91SAM7S64 회로 구성시 주의할 사항을 정리하였습니다.


1. TST, JTAGSEL, ERASE 핀을 사용하지 않을 때에는 GND 에 묶어 두어야 합니다.
      
        - 외부 노이즈에 의해 순간적으로 HIGH가 될 수 있는데,

이럴 경우에 플래시 내용이 삭제 되거나 (TST, EARSE 핀)

동작 중에 정지되는 경우가 있습니다 (JTAGSEL 핀)

 

 

Posted by WhiteAT
,