ÀÓº£µðµå ½Ã½ºÅÛ °³¹ß À§ÇÑ BSPÀÇ È¿°úÀû °ü¸® ¹æ¹ý

ÀÓº£µðµå ÇÁ·Î¼¼¼¸¦ °®Ãá Ç÷§Æû FPGA´Â À¶Å뼺°ú ÅëÇÕ¼º, ¼º´ÉÀ» Á¦°øÇÑ´Ù. ÀÌÁ¦´Â ÇϳªÀÇ PLD ¾È¿¡ Á¤±³ÇÏ°í °íµµ·Î ¸ÂÃãÈ µÈ ÀÓº£µðµå ½Ã½ºÅÛÀ» °³¹ßÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ½Ç¸®ÄÜ ´É·ÂÀÌ ¹ßÀüÇÔ¿¡ µû¶ó ÇØ°á°úÁ¦´Â ¼³°è ¹æ¹ýÀ» È¿À²ÀûÀÌ°í »ý¼º ÀÖ°Ô À¯ÁöÇÏ´Â µ¥ ÁýÁߵǰí ÀÖ´Ù. ÀÓº£µðµå ½Ã½ºÅÛ °³¹ßºÐ¾ßÀÇ ÁÖ¿ä Ȱµ¿ °¡¿îµ¥ Çϳª´Â BSP(board support package)ÀÇ °³¹ßÀÌ´Ù. ÀÌ´Â ÀÓº£µðµå ¼ÒÇÁÆ®¿þ¾î ¾îÇø®ÄÉÀ̼ÇÀÌ ÇÁ·Î¼¼¼¿¡ ¿¬°áµÈ Çϵå¿þ¾î ÀÚ¿øµéÀ» ÃʱâÈ Çϰí À̵é°ú Åë½ÅÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ÀüÇüÀûÀÎ BSP ÄÞÆ÷³ÍÆ®µé °¡¿îµ¥´Â ºÎÆ® ÄÚµå, µð¹ÙÀ̽º µå¶óÀ̹ö ÄÚµå ¹× ÃʱâÈ Äڵ尡 Æ÷ÇԵǾî ÀÖ´Ù. BSPÀÇ °³¹ßÀº ÀåȲÇϰí Áö·çÇÑ ÇÁ·Î¼¼½º°¡ µÉ ¼ö ÀÖÀ¸¸ç, ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ ÄÞÇ÷º½º(ÇÁ·Î¼¼¼ ´õÇϱ⠰ü·Ã ÁÖº¯±â±âµé)°¡ º¯°æµÉ ¶§¸¶´Ù ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¸é ¾È µÈ´Ù. FPGAÀÇ °æ¿ì, ºü¸¥ ¼³°è ¹Ýº¹°ú Ç÷§Æû °íÀ¯ÀÇ À¶Å뼺 ´öºÐ¿¡ BSP °ü¸® ÀÛ¾÷ÀÌ ÇÑÃþ ´õ ¾î·Á¿öÁú ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ »óȲÀº BSP °ü¸®¸¦ À§ÇÑ È¿À²ÀûÀÎ ÇÁ·Î¼¼½º¸¦ Á¦°øÇØ¾ß ÇÒ Çʿ伺°ú Á߿伺À» º¸¿©ÁØ´Ù. ¿©±â¼´Â RTOS BSPÀǰ³¹ß ¹× °ü¸®¸¦ ´Ü¼øÈ ÇØÁÖ´Â ¼Ö·ç¼Ç¿¡ ´ëÇØ »ìÆì º¸°íÀÚ ÇÑ´Ù. WindRiver VxWorks È帧À» ÅëÇØ ÀÌ·¯ÇÑ °³³äÀ» ¼³¸íÇϰڴÙ. Xilinx ÇÁ·Î¼¼¼¸¦ À§ÇÑ ¼³°è¿¡´Â Çϵå¿þ¾î Ç÷§Æû ¾î¼Àºí¸® È帧°ú ÀÓº£µðµå ¼ÒÇÁÆ®¿þ¾î °³¹ß È帧ÀÌ ¼ö¹ÝµÈ´Ù. ÀÌ µÎ È帧 ¸ðµÎ°¡ X P S ( X i l i n x Platform Studio) Åø ³»¿¡¼ °ü¸®µÇ´Âµ¥, À̰ÍÀº Xilinx»çÀÇ EDK(embedded development kit)ÀÇ ÀϺÎÀÌ´Ù. ¼³°è´Â ´ë°³ ÇÁ·Î¼¼¼¿Í ¿©±â¿¡ ¿¬°áµÇ´Â ÄÞÆ÷³ÍÆ®µéÀ» XPS¿¡¼ ¾î¼Àºí¸µ ÇÏ°í ±¸¼ºÇÔÀ¸·Î½á ½ÃÀ۵ȴÙ. ÀÏ´Ü Çϵå¿þ¾î Ç÷§ÆûÀ» Á¤ÀÇÇÏ°í ³ª¸é, ½Ã½ºÅÛÀÇ ¼ÒÇÁÆ®¿þ¾î ÆÄ¶ó¹ÌÅ͵éÀ» ±¸¼ºÇÒ ¼ö ÀÖ´Ù. Platform StudioÀÇ ÁÖ¿ä ÇÇó °¡¿îµ¥ Çϳª´Â ÀÚ½ÅÀÌ ÇÁ·Î¼¼¼, ÁÖº¯±â±â ¹× ÀÓº£µðµå OS¸¦ ¼±Åà ¹× ±¸¼ºÇÑ ³»¿ëÀ» Åä´ë·Î ¸ÂÃãÈ µÈ BSP¸¦ ¸¸µé¾î³¾ ¼ö ÀÖ´Â ´É·ÂÀÌ´Ù. Platform Studio´Â PowerPC 405 ÇÁ·Î¼¼¼ ¹× ±× ÁÖº¯±â±âµéÀ» À§ÇØ ¸ÂÃãÈ µÈ Tornado 2.0.x (VxWorks 5.4)³ª Tornado 2.2.x (VxWorks 5.5) BSP¸¦ Xilinx Virtex-II Pro ¹× Virtex-4 FPGA·Î ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. »ý¼ºµÈ BSP´Â ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ ¸ðµç Áö¿ø ¼ÒÇÁÆ®¿þ¾î¸¦ Æ÷ÇÔÇÏ°Ô µÇ´Âµ¥, ¿©±â¿¡´Â ºÎÆ® ÄÚµå, µð¹ÙÀ̽º µå¶óÀ̹ö ¹× VxWorks ÃʱâȰ¡ Æ÷ÇԵȴÙ. ÀÏ´Ü PowerPC 405 ÇÁ·Î¼¼¼¸¦ °®Ãá Çϵå¿þ¾î ½Ã½ºÅÛÀ» Platform Studio¿¡¼ Á¤ÀÇÇÏ°í ³ª¸é, VxWorks¸¦ À§ÇÑ BSP¸¦ »ý¼ºÇϱâ À§ÇØ ´ÙÀ½ ¼¼ ´Ü°è¸¸ µû¸£¸é µÈ´Ù: 1. Software Settings ´ÙÀ̾ó·Î±× ¹Ú½º¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀÌ ½Ã½ºÅÛ¿¡ »ç¿ëÇÏ·Á´Â OS¸¦ ¼±ÅÃÇÑ´Ù. 2. ÀÏ´Ü OS¸¦ ¼±ÅÃÇÏ°í ³ª¸é, Library/OS Parameters ÅÇÀ¸·Î °¡¼ Tornado BSP¸¦ ¸ÂÃãÇü Çϵå¿þ¾î¿¡ ¸Âµµ·Ï ¸¸µé ¼ö ÀÖ´Ù. 3. Tools > Generate Libraries and BSP ¸Þ´º ¿É¼ÇÀ» ¼±ÅÃÇÏ¿© Tornado BSP¸¦ »ý¼ºÇÑ´Ù. ÀÌ·¸°Ô ÇØ¼ »ý¼ºµÈ BSP´Â Á¾·¡ÀÇ Tornado BSP¸¦ ´à¾ÒÀ¸¸ç, Platform Studio ÇÁ·ÎÁ§Æ® µð·ºÅ丮¿¡ À§Ä¡ÇÑ´Ù.
¼¼ºÎ»çÇ×ÀÇ ¸ÂÃãÈ
VxWorks¸¦ À§ÇØ XPS »ý¼ºµÈ BSP´Â Xilinx µð¹ÙÀ̽º µå¶óÀ̹ö ÄÚµåÀÇ ¹è Ä¡¸¦ Á¦¿ÜÇϰí´Â ´ëºÎºÐÀÇ ´Ù¸¥ Tornado BSPµé°ú ´à¾Ò´Ù. Tornad¿Í ÇÔ²² ¹èÆ÷µÇ´Â ±â¼ºÇ° µð¹ÙÀ̽º µå¶óÀ̹ö ÄÚµå´Â ´ë°³ Tornado ¹èÆ÷ µð·ºÅ丮ÀÇ target/src/drv µð·ºÅ丮¿¡ ´ã°Ü ÀÖ´Ù. Platform Studio¿¡ ÀÇÇØ ÀÚµ¿ »ý¼ºµÇ´Â BSP¿ëÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö ÄÚµå´Â BSP µð·ºÅ丮 ÀÚü¿¡ ´ã°Ü ÀÖ´Ù. ÀÌ·¯ÇÑ »ç¼ÒÇÑ Â÷ÀÌÁ¡Àº FPGA ±â¹Ý ÀÓº£µðµå ½Ã½ºÅÛµéÀÇ ¿ªµ¿ÀûÀÎ ¼º°Ý ¶§¹®ÀÌ´Ù. FPGA ±â¹ÝÀÇ ÀÓº£µðµå ½Ã½ºÅÛÀº »õ·Ó°Å³ª º¯°æµÈ IP·Î ÀçÇÁ·Î±×·¥ÇÒ ¼ö Àֱ⠶§¹®¿¡, µð¹ÙÀ̽º µå¶óÀ̹ö ±¸¼ºÀÌ ¹Ù²ð ¼ö ÀÖ´Ù. µû¶ó¼ µð¹ÙÀ̽º µå¶óÀ̹ö ¼Ò½º ÆÄÀϵéÀÇ º¸´Ù ¿ªµ¿ÀûÀÎ ¹èÄ¡¸¦ ¿ä±¸ÇÒ ¼ö ÀÖ´Ù. Xilinx µð¹ÙÀ̽º µå¶óÀ̹öµéÀº C·Î ±¸ÇöµÇ¸ç ¿©·¯ ¼Ò½º ÆÄÀÏµé °£¿¡ ¹èÆ÷µÈ´Ù. ¶ÇÇÑ µð¹ÙÀ̽º µå¶óÀ̹öµéÀ» À§ÇÑ OS µ¶¸³ÀûÀÎ ±¸Çö¹°°ú ¼±Åà »ç¾çÀÎ OS Á¾¼ÓÀûÀÎ ±¸Çö¹°ÀÌ ÀÖ´Ù. OS µ¶¸³ÀûÀÎ µå¶óÀ̹ö ºÎºÐÀº ¸ðµç OS³ª ÇÁ·Î¼¼¼¿Í »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÈ´Ù. À̰ÍÀº ±âÀú Çϵå¿þ¾îÀÇ ±â´ÉÀ» Ãß»óÈ ÇÏ´Â API(application program interface)¸¦ Á¦°øÇÑ´Ù. OS Á¾¼ÓÀûÀÎ µå¶óÀ̹ö ºÎºÐÀº µå¶óÀ̹ö¸¦ VxWorks¿Í °°Àº OS¿Í »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀûÀÀ½ÃÄÑ ÁØ´Ù. ÀÚµ¿»ý¼º µÇ´Â BSP´Â Tornado IDE(Project Facility)¿¡ ÅëÇյȴÙ. BSP´Â Tornado Á¦ÀÛ ÅøÀ» ÀÌ¿ëÇÑ ¸í·É¾î ¶óÀÎÀ̳ª ȤÀº Tornado ÇÁ·ÎÁ§Æ®·ÎºÎÅÍ ÄÄÆÄÀÏ µÉ ¼ö ÀÖ´Ù. ÀÏ´Ü BSP¸¦ »ý¼ºÇÏ°í ³ª¸é ¸í·É¾î ¶óÀÎÀ¸·ÎºÎÅÍ make vxWorks¸¦ ÀÔ·ÂÇÏ¿© ºÎÆÃ °¡´ÉÇÑ RAM À̹ÌÁö¸¦ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. Tornado 2.2.x¿¡¼´Â gnu ÄÄÆÄÀÏ·¯ ¿Ü¿¡µµ diab ÄÄÆÄÀÏ·¯°¡ Áö¿øµÈ´Ù. Platform Studio·Î »ý¼ºÇÑ Tornado BSP´Â makefileÀ» °®°í ÀÖ¾î¼, gnu ÄÄÆÄÀÏ·¯ ´ë½Å diab ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÏ°í ½ÍÀ» °æ¿ì ¸í·É¾î ¶óÀο¡¼ À̸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. TOOLS¶ó´Â ¸íĪÀÇ make º¯¼ö¸¦ ã¾Æ³» ±× °ªÀ» ¡°gnu¡± ´ë½Å¿¡ ¡°diab¡±·Î ¼³Á¤ÇÑ´Ù. ¸¸ÀÏ Tornado Project ¼³ºñ¸¦ »ç¿ëÇϰí ÀÖ´Ù¸é ÇÁ·ÎÁ§Æ®°¡ óÀ½ »ý¼ºµÉ ¶§ ¿øÇÏ´Â ÄÄÆÄÀÏ·¯¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. Tornado Project FacilityÀÇ Files ÅÇÀº Xilinx µð¹ÙÀ̽º µå¶óÀ̹öµéÀ» Tornado ºôµå ÇÁ·Î¼¼½º¿¡ ÅëÇÕ½ÃŰ´Â µ¥ »ç¿ëµÇ´Â ÆÄÀϵéÀÇ ¼öµµ º¸¿©ÁØ´Ù. ÀÌ·¯ÇÑ ÆÄÀϵéÀº Platform Studio¿¡ ÀÇÇØ ÀÚµ¿ »ý¼ºµÈ´Ù. ÈçÈ÷ »ç¿ëµÇ´Â µð¹ÙÀ̽ºµé °¡¿îµ¥ ÀϺδ OS¿Í ±ä¹ÐÇÏ°Ô ÅëÇյǾî ÀÖ´Â ¹Ý¸é, ´Ù¸¥ µð¹ÙÀ̽ºµéÀº µð¹ÙÀ̽º µå¶óÀ̹öµéÀ» Á÷Á¢ »ç¿ëÇÔÀ¸·Î½á ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ ¸ðµç µð¹ÙÀ̽º ¹× °ü·Ã µð¹ÙÀ̽º µå¶óÀ̹öµéÀº VxWorks ÀÎÅÍÆäÀ̽º¿¡ ±ä¹ÐÇÏ°Ô ÅëÇյǾî ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó ´À½¼ÇÏ°Ô ÅëÇյǾî ÀÖ´Ù. ÀÌ·¯ÇÑ µð¹ÙÀ̽ºµé¿¡ ´ëÇÑ ¾×¼¼½º´Â »ç¿ëÀÚ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ °ü·Ã µð¹ÙÀ̽º µå¶óÀ̹öµéÀ» Á÷Á¢ ¾×¼¼½ºÇÔÀ¸·Î½á °¡´ÉÇÏ´Ù. ÇÑÆí, ¿ªµ¿ÀûÀÎ ¸ÂÃãÇü BSP¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ±â¼úÀº XilinxÀÇ µ¶Á¡Àû Æ÷¸ËÀÎ MLD(Microprocessor Library Definition)¸¦ Åä´ë·Î Çϰí ÀÖ´Ù. ÀÌ Æ÷¸ËÀº ½áµåÆÄƼ º¥´õµé¿¡°Ô Xilinx Platform Studio¿¡ ´ëÇÑ Ç÷¯±×ÀÎ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÔÀ¸·Î½á ¸ÂÃãÇü ¶óÀ̺귯¸® ¹× ƯÁ¤ OS¿ë BSP¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. MLD ÀÎÅÍÆäÀ̽º´Â ´ë°³ ½áµåÆÄƼ ¾÷üµé¿¡ ÀÇÇØ À̵éÀÇ Æ¯Á¤ È帧¿¡ ¸Âµµ·Ï ÀÛ¼ºµÈ´Ù. ÀÌ´Â ´ÙÀ½°ú °°Àº ¾Öµå¿Â ±â´ÉµéÀ» °¡´ÉÄÉ ÇØÁØ´Ù: • ¸ÂÃãÇü µðÀÚÀÎ ·ê üŷ • ¸ñÇ¥ OS ȯ°æ¿¡ ¸Âµµ·Ï µð¹ÙÀ̽º µå¶óÀ̹öµéÀ» ¸ÂÃãÈ • BSP¸¦ OS Åø üÀο¡ ¸Â´Â Æ÷¸Ë°ú Æú´õ ±¸Á¶·Î ¸ÂÃã»ý¼º • OS/Ä¿³ÎÀ» °í·ÁµÇ°í ÀÖ´Â Çϵå¿þ¾î ½Ã½ºÅÛÀ» Åä´ë·Î ¸ÂÃãÈ
|