실시간 프로세싱 및 멀티미디어 구현을 위한 최고 성능의 SoC 출시

TI(대표이사 켄트 전)는 향상된 확장성과 다양한 주변장치를 통합한 고집적 SoC 제품군인Sitara™ AM57x 프로세서 제품군을 출시했다. Sitara AM57x 프로세서는 Sitara 프로세서 플랫폼의 최고 성능 디바이스로, 고성능 프로세싱 및 HLOS(high-level operating system)를 실행하는 ARM® Cortex®-A15 코어를 포함한 고유의 이종 멀티코어 아키텍처를 통해 광범위한 임베디드 및 산업용 애플리케이션에 적합하도록 설계되었다. 또한 AM57x 프로세서는 분석과 실시간 계산을 위한 TI의 C66x 디지털 신호 프로세서(DSP), 제어 기능을 위한 PRU(programmable real-time unit) 및 ARM Cortex-M4 코어, 향상된 사용자 인터페이스와 멀티미디어 애플리케이션을 위한 비디오 및 그래픽 액셀러레이터를 통합해 동급 최강의 성능을 제공한다. (관련 영상은 http://www.multivu.com/players/English/70647530-ti-sitara-am57x-processor/ 참조)

새로운 Sitara AM57x 프로세서 제품군은 처음부터 고성능과 다양한 기능의 통합을 염두에 두고 설계되었다. 그 결과, 프로세서는 개발자에게 쿼드코어 ARM Cortex-A9 프로세서보다 40% 이상 더 높고, 다양한 임베디드 시장에 사용되고 있는 표준 듀얼코어 ARM Cortex-A9 프로세서보다 280% 향상된 타의 추종을 불허하는 성능을 제공한다.

 

 

Sitara AM57x 프로세서의 강력한 통합 기능
Sitara AM57x 프로세서는 컴퓨팅, 실시간 제어, 커넥티비티 및 멀티미디어 기능을 업계에서 가장 높은 수준으로 통합하고 있어 개발자는 각각의 기능을 위해 여러 개의 칩을 사용하는 대신 단일 칩으로 설계를 간소화할 수 있다. 이러한 통합은 산업용 사물 인터넷(IIoT), 공장 자동화, 머신 비전, 임베디드 컴퓨팅, 휴먼 머신 인터페이스(HMI), 로봇 공학, 의료 영상, 항공전자 등의 산업용 애플리케이션에 적합하다. 
- 컴퓨팅: 개발자는 두 가지 서로 다른 유형의 컴퓨팅 코어의 고유 조합으로부터 이점을 얻을 수 있다. 컴퓨팅 코어는 둘 다 최대 2개의 ARM Cortex-A15 코어와 C66x DSP를 포함하고 있으며, 각각은 서로 다른 최적의 작업을 수행하기 때문에 동종 멀티코어 아키텍처보다 강력한 성능을 제공한다. AM57x 프로세서의 멀티코어 아키텍처는 적합한 코어에 작업을 자유로이 분배할 수 있는 유연성을 제공함으로써 단일 칩을 이용한 통합 시스템 설계와 업계 최고 성능을 구현한다. 
- 제어: AM57x 프로세서는 고성능 코어 외에도 2개의 ARM Cortex-M4 코어와 4개의 PRU를 탑재해 개발자에게 모터 제어 또는 센서 모니터링 같은 산업용 애플리케이션에 요구되는 낮은 지연, 실시간 제어 기능을 제공한다.
- 커넥티비티: 프로세서는 실시간 필드버스 및 기타 산업용 통신 프로토콜 구현을 위한 ICSS(industrial communication subsystem)를 탑재하고 있다. 또한, PCIe, SATA, 기가비트 이더넷, USB 3.0과 같은 고속 주변장치를 통합해 높은 시스템 유연성을 제공한다. 이러한 기능은 고성능 ARM Cortex-A15 코어 및 DSP와 함께 AM57x 프로세서가 데이터를 빠르게 송수신할 수 있게 한다. 
- 멀티미디어: 디바이스는 향상된 그래픽 사용자 인터페이스를 위한 최대 2개의 SGX544 3D와 1개의 GC320 2D 그래픽 액셀러레이터, 고화질 비디오 재생을 위한 1080p60 비디오 액셀러레이터 및 멀티 디스플레이 지원, 그리고 이벤트 레코딩이나 사진 촬영, 바코드 리딩을 위한 다중 카메라 입력을 통합하고 있다.

AM57x 프로세서는 TI 전력 관리 IC인 TPS659037에 의해 전원이 공급된다. 또한 AM57x EVM에는 TI의 WiLink™ 8 모듈 을 꽂을 수 있는 커넥터가 포함돼 있어 Wi-Fi®와 블루투스® 커넥티비티를 모두 제공할 수 있다.

 

 

다양한 플랫폼에 확장 가능한 소프트웨어 플랫폼을 통한 맞춤형 솔루션 구현
TI는 핀 호환 가능한 AM57x 프로세서 제품군과 함께 TI의 Sitara 및 DSP 프로세서 포트폴리오를 단일 개발환경에서 지원하는 새로운 프로세서 SDK를 통해 확장성을 재정의하고 있다. 프로세서 제품군은 공통 코드 기반 의 SW플랫폼을 통해 저가 제품군부터 고성능 제품군 (AM335x, AM437x, AM57x 제품군)을 지원함으로써 개발자는 프로젝트마다 새로운 소프트웨어 플랫폼을 다시 배울 필요가 없다. 프로세서 SDK는 TI의 프로세서 포트폴리오를 위한 단일 소프트웨어 플랫폼으로, 메인라인 LTS(long term stable) 리눅스® 커널(RT-Linux 포함 예정), 리나로(Linaro™) 툴 체인, Yocto 프로젝트™ 호환 파일 시스템을 포함한 일관된 소프트웨어 플랫폼을 제공한다. 이러한 일관된 소프트웨어 플랫폼을 통해 개발자에게 일관된 개발환경을 제공함으로 소프트웨어 자원의 효율을 극대화할 수 있다. 또한 프로세서SDK에는 최적의 실시간 처리를 위해 TI-RTOS 도 지원하고 있다. 그밖에 DSP 전문지식이 전혀 없어도 개발자가 DSP를 이용할 수 있게 하는 Khronos OpenCL™ 같은 프로그래밍 프레임워크를 통해 보다 쉽게 개발할 수 있도록 지원한다.

 

 

광범위한 개발 및 지원 에코시스템
TI는 BeagleBoard.org와 협력하여 Sitara AM5728 프로세서 기반의 새로운 BeagleBoard-X15 community보드를 개발함으로써, 오픈 소스 하드웨어 개발자 커뮤니티를 통한 자유로운 개발이 가능하다. TI 디자인 네트워크 회원사의 서드파티 솔루션을 통해 하드웨어 가속화 비디오 코덱과 같은 검증된 하드웨어 모듈과 관련 소프트웨어 제품을 추가적으로 제공받을 수 있다. 아데니오 임베디드(Adeneo Embedded)에서는 윈도우 임베디드 컴팩트(Windows Embedded Compact) 2013 와 안드로이드Android™ 5.0 를 제공하고 있으며, 멘토 임베디드(Mentor Embedded), 그린 힐스(Green Hills), QNX, 윈드 리버(Wind River)에서는 상용 RTOS와 같은 솔루션을 제공함으로써, 개발자들은 AM57x 프로세서에서 다양한 운영체제를 유연하게 사용할 수 있다. 이티암(Ittiam), 파이텍(PHYTEC), D3 엔지니어링(D3 Engineering), 컴퓨랩(CompuLab), DAB-EMBEDDED 및 Z3 테크놀로지(Z3 Technology)등에서는 선구축된 하드웨어 모듈을 제공함으로써 고객들은 이를 이용하여 개발 사이클을 단축시킬 수 있다.

 

임베디드 기초 강좌 4 부록 - ARM MCU 실습해 보기..

 

 

 

[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 아이씨뱅큐의 지원을 받아 작성

되었습니다]

 

 

안녕하세요. 고명호 입니다. 

 

지난시간에는 임베디드 분야의 새로운 트렌드인 ARM 코어에 대해서 살펴 보았습니다. 

 

이번에는 ARM코어를 사용한 MCU를 간단히 리뷰해 보고, 

 

코딩하는 방법에 대해서 알아 보겠습니다.

 

ARM 코어가 내장된 시기는 이미 임베디드 분야에서도 MCU의 내장 메모리가 상당히 

 

커진 관계로 어셈블리 언어를 이용할 필요가 별로 없어 졌습니다. 

 

그래서 속도가 필요한 몇몇 루틴을 제외하고는 대부분의 코드를 C 또는 C++로 작성을 

 

하게 됩니다. 

 

예전에는 ARM 코어를 사용한 임베디드 보드를 이용해서 프로그래밍을 하기 위해서는

 

먼저 ARM코어 전용의 업로드 툴을 준비하고, 부트로더부터 작성하고 

 

그이후에 C 런타임 환경을 만든뒤에 C언어의 main루틴을 실행하였습니다.

 

대부분의 칩 제조사에서는 자사의 MCU나 CPU에 맞는 부트 코드를 제공해 주며 

 

또한 프로그래밍에 필요한 컴파일러나 디버깅 툴은 ARM사에서 제공을 해 주었습니다.

 

그런데 ARM사에서 발매한 컴파일러는 성능은 매우 뛰어나지만 가격또한 매우 비쌉니다.

 

마찬가지로 ARM사에서 판매하는 디버깅 도구인 TRACE32 역시 수천만원을 호가하는 

 

매우 고가의 장비라서 임베디드 프로그래밍이 초기투자에는 

 

윈도우 프로그래밍보다도 비용이 더 많이 들었습니다.

 

그렇지만, ATMEL 칩에서와 마찬가지로 GCC

 

(gnu compiler collection - gnu 에서 만든 컴파일러 셋입니다.)컴파일러가   

 

ARM용으로 개발이 되어 무료로 사용할 수 있게 되었고, 또한 저렴한 JTAG 디버거가 발매되어서 

 

개인 개발자도 고성능 임베디드 코어를 이용할 수 있게 되었습니다.

 

이번에 리뷰해볼 Nucleo-F401RE 개발보드는 STMicroelectronics에서 발매된 개발보드인데

 

http://www.icbanq.com/P005661371/S

 

 

 

 

 

 

 

가격이 무려 ... 

 

 

14000원입니다. -,.-

 

14만원이 아니에요.. 개발보드 안에 ST-LINK라는 디버깅및 업로드 툴까지 내장하고도 가격이 

 

저렇습니다.

 

32비트 ARM코어를 내장하고 디버거까지 내장된 개발보드가 아두이노보다 쌉니다.~ 

 

심지어는 아두이노 실드와 호환이 되는 female 핀까지 있어서 - 약간은 수고스러우나 - 

 

프로그래밍을 해 주면 아두이노 실드도 이용할 수 있습니다.

 

아두이노의 경우에는 디버거가 없어서 코드 추적이 불가능한데요... 

 

이것은 가능합니다. 변수 확인도 가능하죠..

 

그렇다면 개발환경이 열악하냐.. 하면 그것도 아닙니다.

 

https://developer.mbed.org/

 

개발도구를 설치할 필요도 없이 그냥 온라인으로 개발이 가능합니다. @.@

 

간단한 개발에는 도구를 설치하느라 걸리는 시간이 거의 없는것 입니다.

 

(물론 개발도구를 설치해서 오프라인으로 개발도 가능합니다. 

 

오프라인으로 개발을 하면 디버깅및 코드 추적이 가능해 집니다.)

 

이번에는 먼저 간단하게 온라인 개발도구를 이용해서 개발을 해 보도록 하겠습니다.

 

기본 사이트에 들어가시면 

 

http://www.mbed.org/

 



(그림1)

 

ARMmbed라고 써있네요. 예전에는 그냥 mbed만 써 있었는데...

 

(ARM사에서 mbed 사이트의 혁신적인 면을 보고서 파트너 쉽 관계를 맺었다고 합니다.)

 

그리고 오른쪽 위의 실제 개발자 사이트로 넘어가는 버튼을 누르면..

 

다음과 같은 개발자 화면이 나옵니다.

 

https://developer.mbed.org/

 

(그림2)

 

여기서 등록을 하시고, 왼쪽 위쪽의 platforms 항목을 눌러서 내가 가진 개발보드를 

 

추가하면 이 개발보드에 맞는 결과물을 얻을 수 있습니다.

 

 

한눈에 보기에도 많은 개발보드를 지원하는 것을 알 수 있습니다.

 

여기서 다시 오른쪽 위의 compiler 버튼을 클릭하면 온라인 IDE 개발도구를 실행시킬수 있습니다.

 

 

 

(그림4)

 

IDE개발도구에서는 내 컴퓨터에 설치된 일반 IDE개발도구를 쓰듯이 그냥.. 쓰시면 됩니다. 

 

NEW를 눌러서 새로운 프로젝트를 만들면 기본적인 템플리트를 지정해 줄 수 있습니다. 

 

 

저는 화면에서 보듯이 일단 LED를 깜박이기 위해서 neucleo_blink_led라는 항목을 선택했습니다만 

 

이 밖에도 I2C나 SPI및 PWM등의 제어에 필요한 예제들을 제공해 주므로 가장 적당한 템플리트로 

 

먼저 시작하시면 됩니다.

 

그리고 여기서 프로그램을 작성한 후 compile 버튼을 누르면 컴파일이 진행 되고 

 

 

 

 

 

 

(그림4)

 

(물밑에서 일어나는 작업들은 알 필요가 없습니다. 개발보드에 맞는 부팅 환경은 사이트에서

 

 다 알아서 해 주죠.)

 

브라우저에서 생성된 binary code 결과물을 다운로드 받게 됩니다. 

 

 

 

 

 

위에 다운로드 받은거 보이시죠??

 

이 결과물을 내가 가진 개발보드에 올리면 바로 실행이 가능합니다.

 

참 쉽죠?? ㅎ ㅎ 

 

처음에는 별로 안쉽더라도 몇번 해 보면 금방 쉬워질 겁니다. ㅡ,.ㅡ

 

쉬운 방법을 알아야 임베디드 개발의 좀더 깊은 곳으로 들어 갈 수 있습니다.

 

이번시간은 여기까지 마치겠습니다. 

 

위에 말씀드린 개발보드가 아니더라도 저렴한 개발보드를 하나 구입해서 실습 해 보시기를 

 

당부드립니다. 

 

감사합니다. ~~

 

 

 

[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 

 

아이씨뱅큐의 지원을 받아 작성되었습니다]