TI DSP Programmer(v1.4) for TMS320LF240xA & TMS320F281x Device ( 모델명 : TDProg) 사용설명서 UUU 리얼시스 (RealSYS) Web: www.realsys.co.kr Tel: 031-420-4326 Fax: 031-420-4329-1 -
TDProg v1.4 Update History < Ver1.4 > 원도우프로그램수정사항 TMS320LF240xA Flash API Upgrade TMS320LF2402A/2403A/2406A/2407A의 Flash API를 v1.3으로 Upgrade TMS320F2810/2811/2812 Flash API Upgrade TMS320F2810/2811/2812의 Flash API를 v2.10로 Upgrade USB Device Driver Update Flash Erase, Write Timeout 값을변경 TMS320281x 의 Chip 버전별유의사항 (2006.08.28 테스트결과 ) 위의그림과같이 (CA버전) TI의 TMS320F281x Chip에는하단부에고유버전정보가있습니다. 그런데최근테스트결과 Chip 버전이 CE버전이하인경우 TDProg POD의 Firmware 버전이 v1.2이하에서는 Flash Writing이잘동작하나 Chip 버전이 CG버전이상인경우에는 Flash Writing이잘되지않습니다. 이경우 TDProg POD의 Firmware를 v1.3 이상으로 Upgrade하셔야합니다. TDProg POD의 Firmware(v1.4) 수정사항 TMS320LF240xA의 Flash API를 v1.3으로 Upgrade TMS320LF240xA의에러코드수정 TMS320F281x의 Flash API를 v2.10으로 Upgrade (Chip 버전이 CG인칩지원 ) Flash Erase, Write Timeout 값을변경 < 참조 > 지원 MCU 리스트 TMS320LF2402A/2403A/2406A/2407A TMS320F2810/2811/2812-2 -
TI DSP Programmer (TDProg) 제품소개 요즘사용하고있는많은 MCU는대부분 One-chip Solution 개념을도입하여내부에용량이크며다양한메모리타입을지원하고있으며개발자들도제품설계시 Simple한디자인을고려하여이러한 MCU를많이사용하고있다. 그런데제품양산시또는제품판매후 Firmware Update 등과같은 A/S시 MCU 내부메모리를 Write하고자할때값비싼 Gang-Writer를구입하거나, 이마저마땅한솔루션이없어많은개발자들이고민을하게된다. 이에당사는그동안 MCU 개발솔루션을제공하면서개발자들로부터요청받은위와같은문제를해결할솔루션를개발하게되었으며 TDProg는이중 TI의 C2000계열 MCU 사용자를위한제품입니다. TDProg 특징 SCI Boot기능을이용하여타겟 DSP의내부플래시메모리에 Writing & Verifying 타겟에다운로드할사용자프로그램 (COFF 파일 ) 을 TDProg에저장 TDProg에저장된사용자프로그램보호 TDProg에저장된사용자프로그램을간단한버튼조작으로타겟 DSP의내부플래시메모리에 Writing & Verifying PC Interface : USB1.1 or 2.0 호환 전원공급 : USB 전원 (5V), 5V 외부전원그리고휴대형 USB 5V 전원배터리팩 Windows98/Me/2K/XP 지원 현재지원하는 MCU : TMS320LF240xA(30, 40MHz)/TMS320F28x(150MHz) < 사용자프로그램보호 > TI DSP Programmer에서는 TDProg에저장된사용자프로그램을다른업체에서읽어사용하지못하기위해다운로드에관련된중요정보를읽지못하도록 User Program Secure Locking 기능이있는 MCU를사용하였읍니다. < 전원공급및절연처리 > 현재이제품은 TDProg에서타겟에전원을공급하여사용하는것을목적으로개발되었으며또한신호쪽에절연처리를하지않았으므로사용자께서는타겟보드에전원을공급하지않은상태에서타겟보드의전류소모량을고려하여 PC의 USB 전원 (100mA), 외부전원어댑터그리고당사에서판매하는 USB 전원배터리팩을선택하여사용하시길바랍니다. < Customizable Option > 절연처리또는사용자프로그램을보호하기위한기능추가와같이 TI C2000계열의전용 Writer 가필요하신경우에는 Customizing이가능하므로구매하시기전에당사에연락바람. - 3 -
TDProg 제품구성 1. Writer 구성 Write 버튼 USB 접속 LED상태녹색점멸 : 진행중녹색정지 : 정상동작완료적색정지 : 에러발생 Verify 버튼 DSP Target 접속 [ LED 상태정보 ] POW LED : 전원공급여부를표시 STAT LED : PC측과의 USB 데이타통신여부를표시함. GRN LED : Write, Verify 버튼을클릭할시사용되는 LED이며 Write, Verify 동작중에는깜빡거리며동작이성공적으로완료되면 ON 상태를유지합니다. RED LED : Write, Verify 버튼을클릭할시사용되는 LED이며 Write, Verify 동작이실패하면 ON 상태를유지합니다. [ Verify 기능관련 ] 현재 Verify 버튼기능은 TMS320F281x Devie에대해서만지원됩니다. TMS320LF240xA의경우에는 SCI Boot 프로그램구조상한바이트단위로 Write하면서 Verify가되어있어현재는타겟 DSP를 TMS320LF240xA를선택하고 Verify 버튼을클릭하시면 Error를발생시키면 RED LED 가 ON 됩니다. - 4 -
2. PC 및외부전원연결 +5V 전원입출력 ( 중앙 =5V, 주변 =GND) USB 커넥터 사용자께서는 PC와연결하여 PC측 USB 전원을사용하지않고 TDProg POD 단독으로타겟 DSP를 Write 하시고자할경우에는위의그림에서와같이 +5V 외부전원입력단자에전원을공급하거나또는당사에서판매하는휴대형 USB +5V 배터리팩을사용하시길바랍니다. [ 휴대형 USB 배터리팩 ] - 5 -
3. DSP Target Connector 1 번핀 < Target DSP Connector 핀구성 > 1 번핀 2 번핀 3 번핀 4 번핀 5 번핀 6 번핀 VCC(5V) TXD RXD /RESET /BOOT GND Output (POD->DSP) (POD<-DSP) (POD->DSP) (POD->DSP) - 6 -
4. TMS320F281x 과 TDProg 접속 MDXA R12 1K 5V CN8 RA2 SPICLKA 4 SPISTEA 3 2 TXD_A 1 1Kx4 1-2:Flash 2-3:Boot 3.3V 1 2 3.3V 5 6 7 8 3 SW1 BOOT RXD_A TXD_A /RESET 1 2 3 4 5 6 BOOT 부트모드 GPIOF4 GPIOF12 GPIOF3 GPIOF2 모드 (SCITXDA) (MDXA) (SPISTEA) (SPICLK) 1 x x x FLASH(0x3F7FF6) 실행 0 1 x x SPI 부트 (Serial EEPROM) 실행 0 0 1 1 SCI 부트 (SCI-A) 실행 0 0 1 0 H0 SARAM(0x3F8000) 실행 0 0 0 1 OTP (0x3D7800) 실행 0 0 0 0 GPIO B 포트 Parallel 부트실행 DSP2812는위의표와같이리세트동작시 4개의포트상태에따라동작모드를결정한다. 본회로에서는 FLASH-ROM 실행모드와 SCI 부트모드만을사용하므로 3개의핀 (MDXA, SPISTEA, SPICLK) 의상태는고정하고 1개의핀 (SCITXDA) 상태만스위치로변경사용하여동 작모드를결정하도록하였다. 신호처리 : MDXA = Low (pull-down) SPISTEA = SPICLK = High (pull-up) TXDA: SW1 = 1-2 (Low) FLASH-ROM 실행 SW1 = 2-3 (High) SCI 부트 주의사항 : 1. 보드외부에서이 4개의신호를사용할때별도의 pull-up 또는 pull-down 처리에유의한다. 만일 MDXA 핀에별도의 pull-up 처리하거나 TXD-A를 pull-down 처리하면원하는동작모드로동작하지않을수있다. 2. SCI 부트또는 FLASH-ROM을라이트할때는반드시 SCI 부트모드 (SW1=2-3) 로한상태에서실행해야되고, FLASH-ROM 실행시에 SW1=2-3으로하고리세트동작을실행한다. - 7 -
5. TMS320LF240xA 과 TDProg 접속 DSP240xA 는 BOOT_EN/XF(86) 신호가 LOW 이면부트모드로동작하는데, IOPC2 의상태에따라 SPI(High 상태 ) 또는 SCI(Low 상태 ) 부트로동작한다. 주의사항 : TDProg에서는 SCI 부트를사용하므로 IOPC2 신호에 1K ~ 4.7K pull-down 처리를해주어야한다. - 8 -
TDProg USB 디바이스드라이버설치 디바이스드라이버를설치하기에앞서먼저 TDProg용 USB POD와 USB cable 및구입시제공된 CD에 Device Driver가있는지확인하시길바랍니다. 1) PC와 USB POD를제공된 USB Cable로연결하시면다음과같은화면이나옵니다. 이때아래와같이 특정위치에서설치 옵션을선택하신후다음버튼을클릭하십시오. 2) 디바이스드라이버가있는폴더위치를지정하신후다음버튼을클릭하십시오. - 9 -
3) 아직제공된디바이스드라이버는 Windows의 Device Driver 호환인증을받지않았습니다. 따라서아래와같은화면이나타나시면 계속 버튼을클릭하신후설치를계속하시길바라며, 이는제품성능에아무런영향이없으므로사용자는염려할필요가없습니다. 4) 위의단계대로하신면일반적으로디바이스설치는정상적으로완료됩니다. 만약설치시문제가발생하면, 먼저 USB Cable이정상적으로연결되었는지, 또한 PC의 USB Host Controller가정상적으로동작하는지확인해주시길바랍니다. - 10 -
5) 정상적으로디바이스드라이버가설치된후제어판의장치관리자를보시면아래의그림과 같이나타납니다. TDProg 운용프로그램설치 1) 제공된 CD 에서제공된 TDProg_v1.4.exe 아이콘을더불클릭하시면설치가시작됩니다. 2) 설치한폴더를지정하신후 다음 버튼을클릭하시면정상적으로설치가완료되며, 바탕 화면에단축아이콘이생깁니다. - 11 -
TDProg 운용프로그램사용법 먼저프로그램사용하기에앞서위에서설명한하드웨어설치를참조하신후 USB POD 및사용자타겟보드를올바르게연결하시길바랍니다. < Main Program 화면구성 > 1 프로그램동작환경설정 MCU : 현재 TMS320LF240xA(30, 40MHz)/TMS320F281x(150MHz) 를지원합니다. 현재 TDProg는내부 FLASH Algorithm Code의사이즈문제로당사에서판매되는 RealDSP-UT와는달리고정된동작주파수만을지원합니다. 따라사사용자께서는 TMS320LF2401A 또는 TMS320F281x에서 100MHz/120MHz를사용할경우에는제품구입시말씀해주시면사용하시는동작주파수설정에맞추어서해드리겠읍니다. POD File Name : POD Write 동작시 TDProg에저장할사용자프로그램 (COFF File) 을대표할이름을나타냄 ( 최대 8자 ). 제품양산시버전관리용으로사용하시길바랍니다. - 12 -
< Option for TMS320F281x Device > Erase Option TMS320F281x의내부플래시롬은 Sector로구성되어있으며, 따라서 Erase 시 Sector 별로지울수있습니다. 또한사용자께서는내부플래시롬의일부영역을고정된 Data 영역으로사용하여자주지울필요가없는경우에는사용자프로그램 Write 시이영역을지울필요가없으므로다음과같이두가지옵션을두었습니다. Intelligent Erase : 읽어들인 COFF 파일의섹션정보를바탕으로전체플래시롬 Sector 영역중실지로 Write 하는 Sector 영역만지웁니다. Erase All : 무조건전체플래시롬 Sector 영역을지웁니다.( 최대 25sec 걸림 ) Unlock Key Code Option TMS320F281x는 CSM이라는기능이있는데이기능은 L0, L1 SARAM, Flash ROM 및 OTP ROM 영역에대하여 Code Security를사용자가설정할수있으며, 만약 CSM이설정된 (Secured Device라고부름 ) 타겟보드에대해서는이영역의메모리에 Read Access 할수없습니다. 일반적으로개발시에는사용하지않으며, 제품기능이완성되고제품양산시지적재산권보호차원에서이기능을사용합니다. 만약타겟보드의 CPU가 Secured된 Device이며다시사용자프로그램을내부 Flash ROM 에 Write하고자하는경우에는이옵션을사용하며, 또한아래에있는 8개의 KEY 값 (Password) 을올바르게입력하시길바랍니다. 입력한 8개의 KEY 값은 Flash Algorithm의 CSM Unlock에사용됩니다. < 주의 > 만약 8개의 Password들모두를 0x0000으로할경우에는그 Device는 Permanent Secured 가되어다시프로그램을 Update할수없습니다. - 13 -
Device 를 CSM Locked(Secured) 하는방법 될수있는한제품개발도중에는사용하지마시고, 제품양산시사용하시길바랍니다. < 제공되는예제의 DSP281x_CSMPasswords.asm 과 DSP2812.CMD 을참조바람 > - DSP281x_CSMPasswords.asm ----------------------------------------.sect csmpasswds.int 0xFFFF ; PWL0.int 0xFFFF : PWL1.int 0xFFFF ; PWL2.int 0xFFFF ; PWL3.int 0xFFFF ; PWL4.int 0xFFFF ; PWL5.int 0xFFFF ; PWL6.int 0xFFFF ; PWL7.sect csm_rsvd.loop (3F7FF5h 3F7F80h + 1).int 0x0000.endloop ------------------------------------------------------------------ 위 Assembly Code를사용자프로그램에추가한다. - DSP2812.CMD ----------------------------------------------------- MEMORY { CSM_RSVD : origin = 0x3F7F80, length = 0x000076 CSM_PWL : origin = 0x3F7FF8, length = 0x000008 } SECTIONS { csm_rsvd : > CSM_RSVD, PAGE = 0 csmpasswds : > CSM_PWL, PAGE = 0 } - 14 -
2 사용자프로그램 (COFF File) 경로설정과읽기타깃보드에다운로드할사용자프로그램 (COFF File) 의전체경로를지정할때사용합니다. 경로지정시옆에있는 버튼을눌러다운로드할파일을선택하시길바랍니다. 또한 COFF File의경로는현재최근에읽어들인 10개까지경로명을저장하므로사용자께서는최근에열었던파일을다시선택할경우에는 Combo Box에있는목록중하나를선택하십시오.... 버튼을눌러경로를지정하거나, COFF File Path Combo Box에나열된파일경로를변경시자동적으로지정된 COFF File을읽게됩니다. 또한프로그램시작시그전에마지막으로읽었던파일을자동적으로읽게됩니다. 3 기능버튼 A. Load 선택한 COFF File을읽어 PC의버퍼에데이터를 Load합니다. B. Reset 사용자타깃보드를리셋합니다. C. POD Info 현재 TDProg POD의 Firmware 버전및 TDProg에저장된사용자프로그램의정보 (POD File Name 및쓴날짜 ) 를읽어옵니다. D. Exit TDProg POD 프로그램을종료합니다. E. POD Write 선택한 COFF File의사용자프로그램데이타를 TDProg의내부메모리에 Write합니다. 이때 Write할 COFF File를대표할이름및날짜정보를같이기록합니다. F. POD Verify TDProg의내부메모리에저장된내용과 PC의버퍼에읽어들인사용자프로그램을비교검사합니다. G. Target Write 현재 PC의버퍼에읽어들인사용자프로그램을타겟보드의내부 Flash Memory에 Write 합니다. 4 현재진행상태표시부위의기능버튼중하나를선택하여동작시발생하는상황및에러정보를표시해줍니다. - 15 -