강좌 <>: 부트모드및플래시롬프로그램 벼는익을수록고개를숙인다는데 하지만모두고개를숙이고있으면심심하므로 작성일자 :.. 어설픈초보의강좌는계속됩니다. ㅎㅎ목표 : 이번강좌에서는하드웨어적인면에서도좀살펴보고, JTAG 디버거툴말고, 다른방법으로플래시롬을굽는방법에대해서도살펴보겠습니다. 이런부류의임베디드 ARM을공부하는이유는응용보드를제작사용하고자함이므로, 회로도작성, PCB 제작, 프로그램다운로드등여러가지면에서두루살펴볼필요가있을것같습니다. 초보인제가대충살펴보니, ARM 제조업체 ( 아트멜, ST, 루미너리 (TI에서인수 ) 에서부트기능과관련프로그램을제공해주는것같습니다. 본강좌에서는먼저 STM를사용하고있으므로, ST사의관련프로그램다운로드방법, 회로도작성시고려사항, 예제실습에대해살펴보겠습니다. ST 사의플래시롬다운로드프로그램은이름도긴 Flash loader demonstrator 로되어있고, 아래의웹에서다운로드가능합니다. http://www.st.com/mcu/modules.php?name=mcu&file=familiesdocs&fam=#software PC 현재버전은 9 년 월 Ver.. ( 용량은 M 바이트정도 ) 이네요. 실행화면은아래와같으며, UART 통신포트 ( 물로 USB COM 포트로도가능하겠지요 ) 를사용하여프로그램다운로드가가능합니다. Flash Loader 실행화면 : 그러면왜이러한부트프로그램이필요한가? JTAG 디버거로프로그램하면되지 일단, JTAG 디버거는고가이고 ( 짝퉁은저렴하지만 ), 커넥터핀수를많이필요로하고 개발중에는스텝동작과모니터링동작이필요하지만, 양산시에또는현장에서프로그램 upgrade 할때는간단한통신케이블을사용하여다운로드할수있으면좋겠지요? 그래서개발시편리성을위해서 JTAG 커넥터부착, 생산관리의편리성을위해부트커넥터를마련해놓으면좋을것같습니다. 통신케이블 (TX,RX,GND) ARM 보드 프로그램부트모드로동작다운로드 Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT밸리 호
STM 의부트모드 STM 소자핀을잘살펴보면 개의부트핀 (BOOT, ) 이있습니다. 이핀의상태를제어하여부트모드또는프로그램실행모드로동작합니다. 부트모드 : 리세트동작에서 핀이 상태이면내부 Flash 메모리프로그램을실행합니다. BOOT=, = 상태이면시스템부트모드로동작하여 UART에서신호가오기를기다립니다. 개의핀상태가모두 인 SRAM 부트모드는실제제품동작에서는잘사용하지않으므로고려하지않고, UART 부트동작또는플래시롬실행만고려하는경우에는 BOOT=으로고정하고, 만제어사용사용하면편리하겠지요. 매뉴얼을살펴보면 low-,medium-, high-density 장치에서는 USART 을사용하여부트동작을하고, XL-density 장치에서는 USART,USART 로가능하고, Connectivity line 장치에서는 USART, USART, CAN, USB 으로도부트가가능하다고하는데, 일단 USART 으로사용하면되겠습니다. Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT 밸리 호
회로도작성예 : STM _ 핀 STM 핀으로회로도를그려보았습니다. 향후, 단독형다운로더를고려하여 CN_BOOT 를만들어보았는데, 자동부트동작을위해서, 핀도필요할것같습니다 STM 핀회로예 ) ) 핀 JTAG 커넥터는공간부담이커서커넥터수를줄이는것도검토 99 9 9 9 9 9 9 9 9 9 9 9 RS.Kx U CN JTMS 9 PE - FSMC_A VDD PE - FSMC_A9 VSS PE - FSMC_A N.C JTMS PE - FSMC_A JTMS - PA 9 PE - FSMC_A USBDP -CANTX- PA CN_JTAG VBAT USBDM -CANRX- PA 9 URX RS PC - TAMPER_RTC URX - PA UTX.Kx PC - OSC_IN UTX - PA9 PC - OSC_OUT PA VSS SDIO_D - PC9 VDD SDIO_D - PC OSC_IN IS_MCK - SDIO_D - PC JP OSC_OUT OUT IS_MCK - SDIO_D D - PC V NRST FSMC_D - PD PC - ADC_IN FSMC_D - PD BOOT URX PC - ADC_IN FSMC_A - PD 9 UTX PC - ADC_IN FSMC_A - PD PC - ADC_IN FSMC_A - PD VSSA FSMC_D - PD VREF- FSMC_D - PD9 RS VREF FSMC_D - PD VDDA SPI_MOS MOS-IS IS_SD SD-PB PA-WKUP-ADC_IN SPI_MISO - PB PA-ADC_IN SPI_SCK-IS_CK-PB PA - UTX - ADCIN SPI_NSS-IS_WS-PB VDD VSS F SMC_NBL - PE F SMC_NBL - PE SDIO_DD - CANTX - PB9 SDIO_DD - CANRX - PB IC_SDA - PB IC_SCL - PB C_SMBAI - IS_SD - PB/ JNTRST - PB - PB FSMC_NE - FSMC_NCE - PD FSMC_NWAIT - PD F SMC_NWE - PD F SMC_NOE - PD FSMC_CLK - PD SDIO_CMD - PD FSMC_D - CANTX - PD FSMC_D D - C ANR X - PD SDIO_CK - PC SDIO_D - PC SDIO_D - PC - PA - PA C pf C C pf C pf X.kHz R M VA 9 _IN PA -DAC-SPI_NSS-ADC_IN PA - DAC - SPI_SCK-ADC_IN PA - SPI_MISO - ADC_IN PA - SPI_MOSI - ADC_IN PC - ADC_IN 9 pf X MHz STMFxE - LQFP CN CN_BOOT 9 9 9 PA-URX-ADC VSS VDD PC - ADC_IN PB - ADC_IN PB - ADC_IN9 PB - BOOT PE - FSMC_D PE - FSMC_D PE9 - FSMC_D PE - FSMC_D PE - FSMC_D PE - FSMC_D9 PE - FSMC_D PE - FSMC_D PE - FSMC_D PB - IC_SCL - U TX PB - IC_SDA - URX VSS VDD C.uF.Kx SW RESET 부트커넥터 ( 자동부트검토 ) V CP REG LMMPX-. VIN VOUT TAB CP CP CP L BID VA CP CP X Flash ROM System mem(boot) BOOT 은 으로고정 BOOT G C uf.uf C uf CP.uF.uF.uF.uF.uF.uF Embedded SRAM Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT 밸리 호
회로도작성예 : STM _ 핀 STM 핀으로회로도를그려보았습니다. 향후, 단독형다운로더를고려하여 CN_BOOT를만들어보았는데, 자동부트동작을위해서, 핀도필요할것같습니다 핀 JTAG 커넥터는공간부담이커서커넥터수를줄이는것도검토 STM 핀회로예 ) C pf C9 C pf pf C pf X MHz X.kHz R M U 9 VDD VSS X-PB9 X-PB OOT A-PB L-PB AI-PB T-PB CANTX CANRX B IC_SDA IC_SC C_SMBA JNTRST O-PB R-PD TIM_ETR J 9 -PC -PC -PC -PA -PA VBAT VDD PC - TAMPER_RTC VSS PC - OSC_IN JTMS-PA PC - OSC_OUT CANTX-USBDP-PA PD-OSC_IN CANRX-USBDM-PA PD-OSC_OUT URX-PA NRST UTX-PA9 9 PC - ADCIN TIM_CH-PA UCK- URX- UTX- PC - ADCIN TIM_CH-PC9 PC - ADCIN TIM_CH-PC PC - ADCIN TIM_CH-PC VSSA TIM_CH-PC VDDA SPI_MOSI-PB PA-WKUP-ADCIN SPI_MISO-PB PA-ADCIN SPI_SCK-PB PA-UTX-ADCIN SPI_NSS-PB RX-ADCIN _NSS-ADCIN _SCK-ADCIN _MISO-ADCIN _MOSI-ADCIN CIN CIN CIN CIN9 OT C_SCL-UTX C_SDA-URX PA-UR VSS VDD PA-SPI PA-SPI PA-SPI PA-SPI PC-ADC PC-ADC PB-ADC PB-ADC PB-BOO PB-IC PB-IC VSS VDD 9 9 9 STMFx - LQFP JTMS URX UTX JTMS JP BOOT RS.Kx RS.Kx CN 9 9 CN_JTAG RS.Kx V URX UTX CN CN_BOOT 부트커넥터 ( 자동부트검토 ) C uf V REG LMMPX-. VIN VOUT CP TAB.uF G C uf CP9.uF CP.uF BOOT 은 으로고정 CP.uF CP.uF L BID VA CP.uF CP.uF C.uF BOOT X SW RESET Flash ROM System mem(boot) Embedded SRAM Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT 밸리 호
Flash Loader 실행순서. ARM 보드의 USART에컴퓨터 COM 포트를접속 (TX, RX, GND 개신호접속 ). 신호의레벨은일치 (TTL, RS 등 ) 해주어야되며, 교차형태 (TX RX, RX TX) 로연결함.. ARM 보드를부트모드로동작 BOOT=, = 상태에서리세트버튼을누르거나, 전원 OFF ON. Flash Loader 프로그램실행 <> Next 누름 <> 사용 COM 포트로설정후 Next> <> 장치가검색되었음 : Next 누름 Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT 밸리 호
Flash Loader 실행순서 <> 플래시롬지우기 <> 플래시롬성공적으로지워졌음 이 Erase 동작은생략해도됨 Download 동작에서지우는동작병행가능 부트모드스위치 COM 포트 TX, RX, GND 개신호 시험용 ARM보드 USART 리세트버튼커넥터 ( 부트동작반복시편리 ) Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT밸리 호
Flash Loader 실행순서 <> 프로그램다운로드 <> 파일선택 : 이전강좌의 delay 예제선택 <> 성공적으로프로그램 파일이없는경우 : IAR 에서부가적인파일생성항목체크하여생성 체크시다운로드후자동실행도미 Tel:--, Fax:-- 경기도안양시동안구호계동 안양 IT 밸리 호