:::: MENU ::::
Posts tagged with: arm

6LowPAN Network Processor – CC1180

CC118은 6LowPAN chip으로 검색을 하면 나오는 TI의 칩이다. 데이터시트를 보니 최근 ARM에 인수된 Sendinode의 솔루션이 칩에 들어가 있다. MCU와의 인터페이스는 UART이다.

데이터시트 다운로드는 아래 링크에서… [wpdm_file id=5]

CC1180

 


CMSIS-DAP 란?

CMSIS

Cortex Microcontroller Software Interface Standard의 약자. 즉 다양한 칩 벤더가 Cortex 시리즈의 IP를 라이센스해가면서 하드웨어 독립적인 표준화된 소프트웨어 인터페이스가 필요하게 됨.  이것은 다음을 포함한다. 스펙은 ARM에 사용자 등록을 하면 받을 수 있다. 회원 가입을 하고 이 링크에 접속을 한다.  https://silver.arm.com/browse/CMSIS

  • CMSIS-CORE: provides an interface to Cortex-M0, Cortex-M3, Cortex-M4, SC000, and SC300 processors and peripheral registers
  • CMSIS-DSP: DSP library with over 60 functions in fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit) implementation
  • CMSIS-RTOS API: standardized programming interface for real-time operating systems for thread control, resource, and time management
  • CMSIS-SVD: System View Description XML files that contain the programmer’s view of a complete microcontroller system including peripherals
  • CMSIS-DAP

CMSIS-DAP의 DAP는 Coresight Debug Access Port의 약자이다. 구체적인 스펙은 역시 ARM에 사용자 등록을 하면 받을 수 있다. https://silver.arm.com/browse/CMSISDAP 아래 그림은 3가지 mbed모듈에 어떻게 CMSIS-DAP가 연결이 되어 있는지를 보여준다.

cmsis-dap-6

여기서 onboard interface의 기능은 다음 그림으로 설명이 된다. 즉 호스트와는 USB로 연결이 되어, Mass Storage Device 프로그래밍, CMSIS-DAP 로 디버깅, 가상 시리얼 포트를 제공한다.

onboard-if-block

mbed의 HDK에 이것이 포함이 되어서 커스텀 디자인을 지원하지만 현재는 NXP LPC1768, LPC11U24 and KL25Z  이 3가지 칩만 지원을 하고, 몇 벤더(NXP, Freescale)만 선택을 했다는…

The mbed HDK currently supports the NXP LPC1768, LPC11U24 and KL25Z. Due to an unexpectedly high demand for the HDK, we are choosing a few lead partners to work with to iron out any issues that may arise before we make it freely downloadable.

출처: http://mbed.org/handbook/mbed-HDK#mbed-onboard-interface

CMSIS-DAP firmware

중요한 것은 인터페이스 칩의 firmware인데, 이것도 위 사이트에서 다운로드가 가능하며 하드웨어 요구사항은 다음과 같다.

Hardware Requirements

The CMSIS-DAP Firmware is designed for Debug Units that fulfill the following hardware requirements:

  • Cortex-M0, Cortex-M0+, Cortex-M3, or Cortex-M4 processor-based microcontroller.
  • CPU Clock: 48MHz or higher; Microcontroller must have a SYSTICK timer.
  • RAM: 8KB or more; Flash ROM: 16KB or more.
  • Full-speed or High-speed USB Device Peripheral.
  • 7 standard I/O pins for JTAG/SWD Device Interface.
  • optional 2 I/O pins for Status LEDs.

추가자료

  • SeeedStudio의 경우는 보드에 타겟칩만 있는데, 이경우는 보드 2개를 연결해서 프로그래밍을 하기도 한다. 관련 정보
  • NXP에서 제공하는 app. note:  Porting the CMSIS-DAP debugger to the Cortex-M0 platform [wpdm_file id=4] 

mbed 분석

mbed

mbed는 웹 기반의 컴파일러를 사용하는 보드로 2005년 ARM 사의 2엔지니어인 Simon(ARM R&D)과 Chris(ARM Support)가 “Rapid Prototyping for Microcontrollers”라는 비젼으로 시작을 했다. 이제는 오프라인 툴들로의 변환도 지원을 하고 활발한 커뮤니티를 가지고 있는데, 2007년 정도에 지금의 모습을 갖추었다고 한다[1]. 현재 NXP의 ARM CortexM3 칩인 LPC1768을 사용한 모듈과 M0기반인 LPC11U24을 사용한 버젼 그리고 올 2013년에 Freescale의 MKL25Z128VLK4을 사용한  Freedom FRDM-KL25Z 보드등 다양한 플랫폼(http://mbed.org/platforms/) 들이 있다.

mbed_pinout

Features

  • NXP LPC1768 MCU
    • High performance ARM® Cortex™-M3 Core
    • 96MHz, 32KB RAM, 512KB FLASH
    • Ethernet, USB Host/Device, 2xSPI, 2xI2C, 3xUART, CAN, 6xPWM, 6xADC, GPIO
  • Prototyping form-factor
    • 40-pin 0.1″ pitch DIP package, 54x26mm
    • 5V USB or 4.5-9V supply
    • Built-in USB drag ‘n’ drop FLASH programmer
  • mbed.org Developer Website
    • Lightweight Online Compiler
    • High level C/C++ SDK
    • Cookbook of published libraries and projects
  •  mbed회로도: http://mbed.org/media/uploads/chris/mbed-005.1.pdf

모듈의 전면에 있는 칩이 LPC1768이며, 내부에 512KB 플래시 / 32KB  램을 가지고 있으며, 핀 타입은 브레드보드에 꼽기 쉽게 2.54피치의 배수로 되어 있고 USB전원으로 동작한다. 모듈의 뒷면에는 또 다른 칩(CortexM3로 추정되며 mbed Interface라고 불린다.)과 Atmel사의 AT45DB161D 시리얼 플래시 메모리(2MB), 이더넷 PHY가 달려있다.  회로도 및 아래 그림을 보면 mbed Interface는 USB로 PC에 연결이 되어서 시리얼 플래시를 Mass Storage로 보이게 하고, 사용자가 여기에 펌웨어를 넣으면 JTAG으로 연결된 타겟( LPC1768)에 프로그래밍을 한다. Mass Storage의 파일시스템은 FAT12라고 하며, 가장 최근 파일이 프로그래밍이 된다.

mbed-internals

mbed Interface칩의 역할을 더 자세히 알려면 CMSIS-DAP를 알아야 한다.


Nuvoton의 Cortex M0 칩

제가 알기로는 현시점(2011년 1월)에서 Cortex M0 코어 칩은 NXPLPC11xxx 시리즈NuvotonNuMicro M051™ 시리즈가 유일 합니다.
Nuvoton은 대만에 본사가 있는데 Winbond로 부터 분사한 회사 같군요.
칩들은 메모리와 페리페럴별로 다양한 라인업이 준비가 되어 있으며, 온라인상에서 제품을 선택을 할수 있는 
On-line Products Slection Guide도 잘 준비가 되어 있네요.


칩의 성능이나 편이성등은 실제로 써봐야 알겠지만 ST나 NXP등의 업체에서 제공하는 자료들을 거의 모두 다 갖추었네요.
특이한 것은 개발툴 지원에 KEIL, IAR 말고
CooCox라는 Free & Open Cortex M3, Cortex M0 개발 환경도 지원하네요.


mbed 개발자 구인 스펙


mbed 개발자 스펙인데, 세계적인 회사에서 어떤 스펙을 요구하는지 이해하고 국내 개발자들도 실력을 갖추면 좋지 않을 까 생각이 드네요.
구체적인 내용은 링크 참고 ==> http://mbed.org/handbook/Jobs

 



Ninja Microcontroller Embedded Software Engineer


Job Requirements


Essential Skills & Experience



  • Excellent embedded programming skills in C/C++

  • Experience using MCUs

  • Experience porting and working with stacks (OS/RTOS, TCP/IP, USB, …)

  • Experience with compilers, build tools and toolchains, Linux

  • Experience with version control (svn, git, github)

  • Good university degree in a relevant subject

  • A desire to be involved in mbed and help deliver its goals

Desirable Skills & Experience



  • Experience developing substantial embedded applications

  • Good understanding of electronics, circuit design and fault finding

  • Experience with Assembly, Python, Other languages

  • Experience working with open source projects

  • Interesting portfolio of projects


Embedded Software and Electronics Industrial Placements


Job Requirements


You should have completed at least two years at a university studying a course with a significant electronics or software engineering element to it.


Desirable Skills & Experience



  • Embedded programming skills in C/C++

  • Experience developing embedded applications for microcontrollers

  • Hardware and PCB design, circuit level fault finding and debug

  • An understanding of electronic circuit design

  • A keen general interest in software engineering, computer science and embedded electronics


Cortex Debug Connector


ARM Standard JTAG 콘넥터는 2.54 피치이며,


Cortex debug 콘넥터와 Cortex debug + ETM 콘넥터는 1.27 피치입니다.


 



  • 10-pin (0.05″) – Cortex Debug Connector

  • 20-pin (0.10″) – ARM Standard JTAG Connector

  • 20-pin (0.05″) – Cortex Debug+ETM Connector

Cortex Debug and Trace Connectors
Debug and Trace Connectors for Cortex-M devices.

Cortex Debug Connector (10-pin)


Cortex Debug and JTAG Pin Identification


A 10-pin header (Samtec FTSH-105-01) is specified with dimensions: 0.25″ x 0.188″ (6.35mm x 4.78mm).


ARM Standard JTAG Connector (20-pin)


Cortex Debug and JTAG Pin Identification


Dimensions of the ARM JTAG Connector are 1.29″ x 0.722″ (33mm x 18.5mm).


Cortex Debug+ETM Connector (20-pin)


Cortex Debug and JTAG Pin Identification


A 20-pin header (Samtec FTSH-110-01) is specified with dimensions: 0.50″ x 0.188″ (12.70mm x 4.78mm).


출처 : http://www.keil.com/coresight/connectors.asp


Pages:12