기존의 7710 cut 2.1 에서 3.1 로 넘어오면서 발생한 문제점들에 대한 설명과 그 해결책에 대해서 정리했다.

들어가기 전에

7710 cut 2.1 의 경우, 기존의 7710 회로도(2005. 04)에서 몇 가지 수정할 것들이 몇 개 있었다. 이것은 7710 H/W 수정사항 을 참고하기 바란다.
나 역시 7710 cut 3.1 타겟보드에서 cut 2.1 에서의 수정 사항을 그대로 반영하였다. 하지만 몇가지 문제가 발생했다.

문제점

프로그램 실행시, 아래와 같이DLL 셋업 루틴에서 더이상 진행하지 못하고, 오류 메세지를 냈다.

MB391/STi7710 BOARD CONFIGURATION VERSION [ 20 . 5 ]
 
CPU/DDR Frequency = 200 MHz
Setup 2 * Samsung K4H561638F-TCCC DDR RAM
MB391_ConfigureEmi finished
DLL setup
...
...
...

하지만, 신기한 것은 7710 의 오른쪽 모서리나, 옆의 저항들을 살짝 손으로 건드려 주면, DLL 셋업을 넘어가는 것이었다. 하지만 초기화까지는 성공적이었지만, main() 함수까지는 넘어가지 못했다. 참고로 7710ref/testapp/testapp1 을 실행시켰다.
여기까지의 문제를 정리하자면 다음과 같다.

  1. 손을 건드려야만 DLL 셋업 루틴을 넘어가는 것
  2. main() 함수를 넘어가지 못하는 것

총 2 대의 타겟보드를 만들었지만, 현상은 2 대 모두 동일했다.

문제 해결

우선 나의 경험을 바탕으로 설명하기 위해 2 번 문제부터 언급하겠다. 실제로 2 → 1 순으로 문제를 해결했다.

처음에는 나는 1 번과 2 번이 같은 원인으로 발생하는 것이라고 생각했다. 하지만, 달랐다. 원인은 DDR 메모리에 있었다. 2 대의 타겟보드 모두 DDR 메모리를 다시 납땜하자 main() 프로그램이 수행되었다. 하지만, 1 번 문제는 여전히 해결되지 않았다.

손을 건드려야만 초기화 루틴을 넘어가는 것이 확실했으므로, 나는 정확히 어느 지점인지 확인할 필요가 있었다. 그래서 침핀을 손가락에 테이프로 붙인 뒤에 프로그램을 실행시켜 가면서, 7710 주변을 건드려 보았다.
문제는 바로 'R346' 이었다. 이 곳을 침핀으로 건드려 보니, DLL 셋업이 잘 넘어갔다.
cut 2.1 에서는 NC 로 수정했으므로 cut 3.1 에서 역시 NC 로 처리했다. 한마디로 오픈(OPEN) 시켰다. 하지만, cut 3.1 에서는 풀 다운(PULL-DOWN)을 걸어주어야만 제대로 동작했다.

※ 참고로 ST 에서 제공한 CUT 2.1 기반의 Brick Board 회로도에서는 NC 처리 했었다. 그전에 7710 회로도(우리가 만든)에서는 풀 업(PULL-UP) 을 걸어주었었다.

결국 GND 로 점프를 날렸더니, 잘 동작하였다. cut 3.1 에 와서 새롭게 바뀐 점이라고 하겠다.

못다한 이야기

1 번 문제로 한참 고민할 때, 한 가지 이상한 점을 발견했다. 바로 손을 건드렸을 때, 나오는 메세지들 이었다.

----------------------------------------------------
MB391/STi7710 BOARD CONFIGURATION VERSION [ 20 . 5 ]
 
CPU/DDR Frequency = 200 MHz
Setup 2 * Samsung K4H561638F-TCCC DDR RAM
MB391_ConfigureEmi finished
DLL setup
DLL3 Locked OK
DLL Done
Frequency Synthesizer Setup
 
STi7710 DeviceId        = 33
STi7710 Cut             = 2
STi7710 Metal Fix       = 1
MB391 EPLD Firmware Ver = 15 . 15      <<<<<-------  이 숫자들이 프로그램을 돌릴 때마다 제 각각 이었다.
 
Setup Complete
----------------------------------------------------

위에서 표시한 부분이 cut 2.1 에서는 항상 일정했다. 하지만, cut 3.1 에서는 프로그램을 돌릴 때마다 달랐다. mb391.cfg 파일을 보니, 저 숫자들은 EMI BANK1 에 값들을 읽어서 나오는 값이었다. 바로 그렇다. 'R346' 은 'EMI_WAIT' 이다. 이 것이 오픈(OPEN) 포트 였기 때문에, 손을 댈 때 마다 제대로 된 값을 읽어올 수 없어서 그 때마다 값이 바뀌었던 것이었다.

  • computer/digitalarena/7710_에서_수정할_것들.txt
  • Last modified: 3 years ago
  • by likewind