ARM 사의 IPO는 칩 설계 업계와 비슷했지만 자체 칩을 판매 할 것으로 예상되었지만 재무 적 어려움으로 순전히 설계된 회로로 수익성있는 모델로 전환해야만했다. ARM이 1994 년 다양한 프로세서 코어 회로를 출시 한 후, ARM7TDMI (ARM7 + 16 비트 Thumb + JTAG 디버그 + 고속 멀티 플라이어 + 향상된 ICE) 프로세서 코어가 출시되었으며이 코어는 널리 보급되어 ARM 및 제품 비즈니스의 가시성이 점차 증가했습니다.
ARM, ARM9, ARM10 및 AMR11 코어가 차례로 소개 된 후 ARM7은 고객이 선택할 수있는 다양한 버전을 ARM9 / 10 / 11에서 개발했지만 시간과 기술이 발전함에 따라 ARM은 새로운 코어 시리즈를 개발하고 점진적으로 제거하기로 결정했습니다. 이전의 공인 된 코어 외에도.
2008 년에 ARM은 Cortex-A, Cortex-R 및 Cortex-M을 포함한 Cortex라는 새로운 일련의 코어를 제안했습니다. A, R, M의 세 자로 된 세 개의 시리즈는 보안 회사와 마찬가지로 응용 프로그램 처리에 중점을 둡니다. Application Processor (AP) 시장에서 M 시리즈는 MCU (Microcontroller Unit) 시장이며 R 시리즈는 마이크로 컨트롤러 시장에도 중점을두고 있지만 산업 장비 제어와 같은 실시간 제어 애플리케이션에 중점을두고 있습니다. 전자 등등.
Cortex-A / R / M이 출시 된 후 ARM은 이전의 ARM7 / 9 / 10 / 11 시리즈를 클래식 및 클래식 시리즈로 언급했지만 승인은 계속하고 있지만 점차 약화되고 새로운 기술에 중점을 둡니다. Cortex의 아키텍처.
CMSIS는 소프트웨어 표준을 통합하려고합니다.
ARM은 Cortex의 새로운 시리즈를 도입하면서 과거의 문제를 해결하기 위해 노력했지만 많은 칩 제조업체가 과거 ARM 코어 인증을 획득 한 이후 ARM은 칩 제조업체가 칩의 회로를 수정하는 방법을 묻지 않았지만 칩의 소프트웨어 개발을 묻지 않았다.
그러나 칩 회사가 독립적이기 때문에 서로 다른 칩 회사가 동일한 ARM 코어를 채택하더라도 주변 회로를 조작하는 방식과 프로그램의 개발 및 작성 방식이 다르며 칩 제조사의 칩과 호환성, 호환성이 다르다. 낮은 섹슈얼리티, 프로그램 작성은 공통적이고 상속 될 수 없기 때문에 소프트웨어 개발이 반복적으로 낭비되므로 ARM이 완전하고 지속적인 ARM 코어 소프트웨어 생태계를 개발하기가 어렵습니다.
따라서 ARM은 CMSIS (Cortex Microcontroller Software Interface Standard) 표준 (그림 1)을 제안하여 각 칩 공급 업체에 공통된 참조를 제공하려고했습니다 .Cortex-M 시리즈 코어를 채택한 칩의 경우 소프트웨어를 개발하기 위해이 표준을 따르는 경우 ARM 일반, 연속성.
Cortex-M 시리즈가 잠겨있는 이유는 클래식 시리즈에서 가장 인기 있고 인기있는 코어 인 ARM7TDMI에있다 .CSIIS는 마이크로 컨트롤러 소프트웨어의 반복 개발을 줄이고 교환하기가 쉽지 않다고 제안한다. 계속 사용하기 어렵고 다른 문제들.
Cortex-A 시리즈의 새로운 개발과 관련하여 ARM7TDMI, Cortex-M 및 기타 마이크로 컨트롤러보다 적은 수의 패키지, 더 많은 컴퓨팅 성능, 더 많은 하드웨어 리소스 및 소프트웨어 개발이 필요하다. 사실 ARM도 2009 년에 제안했다. Lianro는 mbed 이후 2010 년에 제안되었습니다. Lianro는 일반적인 ARM 아키텍처 Linux 소프트웨어 에코 시스템을 제안 및 구성하여 Cortex-A 시리즈에 사용되는 Linux 소프트웨어가 공통된 표준을 준수하도록 노력했습니다. 완전하고 연속적인 소프트웨어 기술 자산.
그러나 안드로이드 (Linux 기반의 루트)의 강력한 개발과 인기로 인해 Linaro의 산업적 중요성은 감소되었으며 Cortex-A 시리즈의 주요 소프트웨어 생태학은 이미 Android입니다.
CMSIS 아키텍처 분석
CMSIS는 엄격하게 아키텍처의 일반적인 용어로, CMSIS-CORE, CMSIS-Driver, CMSIS-RTOS 등과 같은 여러 소프트웨어 구성 요소를 포함합니다. 가장 기본적인 부분은 액세스 문자를 정의하는 CMSIS-CORE입니다. Cortex-M 코어 회로, 코어 주변 회로 또는 기타 주변 회로 등을 제어하려면 유형, 주변 장치 및 인터럽트 정의, 기타 모든 소프트웨어가 CMSIS-CORE를 통과해야합니다.
CMSIS-CORE 외부의 두 가지 중요한 점은 CMSIS-Driver, CMSIS-RTOS인데, 둘 다 응용 프로그램 호출 (호출, 반대쪽에서 호출 됨)에서 사용할 수있는 응용 프로그램 인터페이스입니다. 전자는 일관된 하드웨어 기반의 제어 방법을 제공합니다. 후자는 응용 프로그램과 실시간 운영 체제간에 일관된 대화식 호출 방법을 제공합니다.
CMSIS-드라이버 또한 칩 하드웨어 추상화 계층 (하드웨어 추상화 계층, HAL)으로 다시 정의 될 수 있으며,뿐만 아니라 외부 연산자 (제 3 자)의 미들웨어를 통해 (미들웨어, 다른 쪽 미들웨어 상기)를 사용하여 호출하는 단계; CMSIS-RTOS를 또한 사양의 정의에서만 실시간 실시간 운영 체제 (RTOS, 은행 반대편의 실시간 운영 체제)는 유연한 교체가 가능하며 공식 ARM 회사에서 제공하거나 CMSIS 기반 시스템에서 준수하는 한 협력 산업에서 제공하는 시스템으로 대체 할 수 있습니다. ARM Keil의 인수가 이루어진 후 RTOS 사양은 부드럽게, RTX. ARM의 공식 요구 변경할 수 있습니다.
. 또는 디지털 신호 처리 및 컴퓨팅 요구를위한 CMSIS-SVD (시스템보기 설명), CMSIS-DAP (디버그 액세스 포트)를 디버깅에 대한 수요가 CMSIS-DSP (디지털 신호 처리를 제시하면서, 채택 할 필요에 따라 다른 소프트웨어의 대부분 ), 신경 네트워크 컴퓨팅 요구를위한 CMSIS-NN (신경 네트워크)를 제안뿐만 아니라.
Mbed는 소프트웨어 개발을 더욱 단순화합니다.
ARM이 CMSIS를 제안한 후에는 소프트웨어 사양을지지하는 목표에 도달했지만 CMSIS의 아키텍처 디자인은 여전히 전문 소프트웨어 프로그래머의 개발에 초점을 맞추고 있습니다 2005 년에 Arduino가 제안 되 자마자 마이크로 컨트롤러 용 소프트웨어 개발이 민간인에게 활발히 이루어졌습니다. 이 개발로 인해 마이크로 컨트롤러 용 소프트웨어 개발자 수의 증가, 제조사의 증가, 심지어 제조업체의 증가로 이어져 ARM은 CMSIS 표준에 기반한 패키징 단순화 프로젝트를 수행했습니다. mbed 소프트웨어 표준 발표.
과거에는 마이크로 컨트롤러의 소프트웨어 엔지니어가 직접 개발 환경 소프트웨어를 설치해야했지만 mbed는 웹 기반 개발 환경으로 변경되었습니다 (그림 2). 무료 계정 비밀번호를 신청하고 웹 페이지를 통해 로그인하십시오. 프로그램 개발 (클라우드의 컴파일러, ARMCC C / C ++ 컴파일러).
프로그램이 작성되고 컴파일 된 후에는 레이어 메뉴 옵션을 통해 개발 보드에 프로그램을 업로드 할 필요가 없습니다. 개발 보드는 USB 포트를 통해 PC에 연결되며 PC 측의 플러그 가능 포트로 간주됩니다. USB 플래시 드라이브는 컴파일 된 파일을 플래시 드라이브에 끌어다 놓으면 업로드 작업이 쉽고 직관적입니다.
Mbed 개발 과정 변경
1.0, 2.0 것 (사물의 인터넷, 만약 IoT) 새로운 시장 개념의 이니셔티브, ARM도 적극적으로 시장 기회를 추구 한 인텔, TSMC 등 글로벌 반도체 회사로서 2014 년 2013 년에, 나중에 개발 된 후 2009 mbed는 제시 (가) 기술 레이아웃을 확장합니다. 핀란드 프로토콜 소프트웨어 산업 Sensinode 오이, 2014 SSL의 니안 인수의 예를 2,013 인수를 들면, TLS 프로토콜 소프트웨어 산업 PolarSSL, 이스라엘의 하드웨어 암호화 회로 설계자의 2015 니안 수집 산사 보안, 소프트웨어 산업 Wicentric의 유형 인수 블루투스 계약, 사물 암호화 소프트웨어 제공자의 인터넷 취득 Offspark et al.
열립니다 2013 년 반도체 산업의 합병 파에서, 많은 전문가들은 ARM의 이유는 소프트 뱅크 인수에 대해 이야기 자체 소프트 뱅크 (소프트 뱅크)의 합병을 ARM? 그것은 세대는 차량 네트워킹 등 (V2X),하지만 일이 대부분에 가능성이 보인다 토론에서.
ARM이 많은 IoT 기술 벤더를 인수 한 후 인수 된 소프트웨어는 PolarSSL 인수 후 Mbed TLS로 이름이 바뀌고 mbed 기술이 센서 노드 용 mbed OS 및 게이트웨이 측으로 확장되도록 mbed로 마이그레이션되었습니다 Mbed Device Server는 또한 mbed 버전을 2.0에서 3.0으로 밀어 냈으며 장치 측 정보 보안 기술인 μVisor를 승격했습니다 (그림 3).
Mbed 경로 회귀
MBED는 많은 인터넷 관련 기술을 도입했기 때문에 원래 2.0 버전의 호환성을 완전히 따를 수는 없으며 새로운 3.0 버전은 독립 개발의 한 부분 인 포크가되지만이 개발로 인해 과거의 mbed 개발자도 발생했습니다. 따라서 ARM은 2016 년에 mbed 버전 5.0을 제안하여 과거의 차이를 통합하려고 시도했으며, mbed 5.0이 출시 된 이후에는 버전 번호가 4.0으로 건너 뛰었습니다. "5.0은 2.0과 3.0의 통합 버전입니다." 2 + 3 = 5이다.
통합 버전이지만 mbed 5.0은 원래 2.0을 상속 받았으며 지난 2.0 시대의 라이브러리는 거의 호환되지만 3.0 버전에는 없었습니다. 과거 버전 3.0의 Internet of Things 기능은 버전 5.0, 버전 3.0에서 다시 해석되었습니다. 전반적인 개발에서 단기간의 전환으로 간주되는 메인 라인은 2.0에서 5.0까지의 진화에 있습니다 (그림 4).
또한 ARM은 mbed 개발 범주를 더욱 확장했으며, Internet of Things의 응용 프로그램은 주로 클라우드의 센서 측정을 기반으로하기 때문에 ARM은 2015 년 mbed Client 및 mbed Device Connector를 클라우드에 연결된 mbed 장치의 기술적 솔루션으로 제안했습니다. 빠른 ARM은 mbed Client 및 mbed Device Connector를 대체하기 위해 2016 년 11 월에 mbed Cloud를 출시했으며 새로운 클라우드 지원 기술로 자리 매김했으며 2017 년에는 현장에서 현장을 감지하는 기술을 향상시키고 mbed Edge를 제안하고 Internet of Things 게이트웨이 쌍을 향상 시켰습니다. 노드 관리 기능.
mbed Micro에 기반 : 비트 호황을 누리고 있습니다
mbed는 소프트웨어 개발 모델 개발, 환경의 길을 향해 사람들이 가까이왔다,하지만 더 바람 학생들을 불어뿐만 아니라 민간인의 개발, 부는 바람을 제어하는 것입니다, 교육자 이니셔티브 / STEAM (과학, 기술, 공학, 예술, 수학) STEM 시작 학습, 그래서 같은 아두 이노 영역과 이미지의 모듈 형 개발 환경이 표시 상자, 거기 S4A (아두 이노를위한 스크래치), 구글도 등 Blockly을 만들고 있습니다.
그래서 기술 기반의 마이크로로 알려진 mbed 개발과 사업이 있습니다 : 비트 학생들의 교육 시스템 회로 기판 (그림 5) 마이크로 :. 비트가 같은 웹 기반 mbed 개발 환경을 사용은 PC 측에 소프트웨어를 설치할 필요가 없습니다, 수 문체에서 개발하지만 개발 모드 / C ++는 숫자입니다 C를 개발하고 빌딩 블록 상자 스타일의 패치 워크 개발 업 로더 방법은 또한 같은 대상의 마이크로 :. 구현은 12 세, 11 비트 세트 mbed되기 위해 어린이 (도. 6).
많은 정부가 이미 많은 수의 Micro : bit 회로 기판을 구입하여 영국, 싱가포르, 말레이시아 등의 학교에 기증했으며 20 개국 이상으로 홍보했으며 Microsoft, ARM 및 기타 기술 업체의 지원을 받았다. .
더 일치하는 개발 도구로 mbed의 사용 용이성 향상
이전에 언급 된 개발 환경 및 도구의 웹 버전을 사용하여 단지 Yaozhang 비밀 기호를 mbed 있지만 프로그램 개발 환경의 웹 버전을 사용할 수 있습니다 mbed를 제한하지 않는 예를 mbed 컴파일러는 또한 PC 측 제공을 위해, 많은 mbed 개발 도구가 있습니다 예를 들어 mbed CLI (명령 줄 인터페이스) 기존의 작업에서 명령 줄 인터페이스, 녹차 mbed 한 테스트 프로그램 (테스트 자동화에 대한 일반 회귀 환경, 녹차 약칭 함), 디버깅 디버그 측면과 라이브러리가 mbed pyOCD 제외 펌웨어의 오용 mbed DAPLink.
제어 코드의 배포 버전 또는도 μVision은, IAR의 워크 벤치, 오픈 소스 코드 GCC (GNU 컴파일러 컬렉션) 메이크 절차합니다 (ARM 취득하여 2005 년) 등의 카일 회사로 전문 프로그램 개발 도구가 될 수 있습니다 DVCS (Distributed Version Control System)에서 git, GitHub, mercurial, GitLab 및 mbed도 mbed.org/code를 보유하고 있습니다.
mbed 생태계가 점점 건강 해지고 있습니다.
보다 깊고 광범위한 레이아웃을 통해 mbed 생태계가 더욱 강력 해졌으며 웹 페이지에 등록한 개발자가 20 만 명 이상이며 커뮤니티에 고유 한 웹 페이지가 200 만 개가 넘으며 10 개 이상의 칩 회사가 있습니다. 20 여개의 보드 벤더가 누적 적으로 130여 개의 mbed 시스템 개발 보드 및 30 종의 액추에이터, 61 종의 통신 기능 디바이스, 92 종의 모니터, 59 종의 확장 카드, Internet of Things 모듈, 187 개의 센서, 17 개의 로봇 모듈, 15 개의 저장 장치, 트위터, IFTTT (If This Then That) 등과 같은 8 개의 온라인 지원 서비스 (그림 7) ).
추종자 개념은 경쟁자 / 경쟁자로 연결됩니다.
친숙도, 제작자 문화, 사물의 인터넷 개념 시장과 같은 다양한 요소와 결합 된 mbed의 개발은 통합 운영체제의 추세 인 것으로 보이지만 실제로 mbed은 여전히 유사한 경쟁 표준을 가지고 있으며 유일한 선택이 아닙니다.
Arduino는 Affinity로 시작한 Arduino입니다 .Arduino는 2005 년부터 8 비트 AVR 아키텍처 마이크로 컨트롤러 였지만 최근에는 2014 년에 Arduino Zero 개발 보드가 출시되었습니다. Cortex-M0 + 코어를 채택하거나 Arduino Due 개발 보드를 도입하면 Cortex-M3 코어가 개발 보드의 메인 컨트롤 칩에 채택된다.
둘째, Intel이 2013 년 x86 아키텍처에 초소형 Quark 임베디드 프로세서를 도입 한 후, Intel의 Wind River는 2015 년 11 월 Internet of Things의 즉석 운영 체제 인 Rocket을 출시했습니다. 2016 년 2 월 개발을 위해 Linux Foundation으로 이전하고 이름을 Zephyr로 변경했으며 Intel, NXP, Nordic 및 기타 칩 공급 업체의 지원을 받았다.
세 번째는 화웨이의 LiteOS로, 10KB의 RAM 메모리가 실행 준비가되었으며 STMicroelectronics, Atmel, NXP 및 Silicon Labs로부터 지원을 받았다고 주장한다. Beijing Zhaoyi Innovation, Shanghai Smart Microelectronics, Huawei 's Hisilicon Semiconductor와 같은 본토 칩 회사들도이를 지원합니다.
넷째, Amazon은 창업 소프트웨어 엔지니어로 FreeRTOS를 고용 한 후 Amazon의 전체 Edge Computing 기술 전략의 일환으로 자체 FreeRTOS 버전을 출시했습니다.
위의 네 가지 OS는 모두 mbed의 잠재적 경쟁 표준입니다. 필요한 하드웨어 리소스도 동일한 크기이며 16KB ~ 64KB RAM 메모리로 작동 할 수 있습니다. OpenWrt 또는 Google에서 제안한 것과 같은 기타 잘 알려진 임베디드 운영 체제에 대해서도 마찬가지입니다. 안드로이드는 8MB ~ 64MB 클래스에서 모두 mbed와 같은 수준에 속하지 않으며, 높은 보완 관계와 낮은 보완 관계는 겹치는 경쟁보다 큽니다.
mbed와 경쟁하는 세 가지 소프트웨어 표준에서 Arduino의 개발은 원활하지 않았습니다 .8 비트 AVR 아키텍처에서 구현 된 소프트웨어가 32 비트 Cortex-M 아키텍처로 이식 된 후에도 여전히 많은 버그가있었습니다. 또한 대부분의 제조업체는 여전히 원래의 8 비트 시스템을 선호하며 소수만 32 비트 위안을 사용합니다.
제퍼, 이후 인텔 아톰가 쿼크 프로세서의 개발과 관련, 2017 년 중단 임베디드, 제퍼는 크게 기세를 감소, 그들의 가장 큰 지원이 칩 메아리 잃고 새로운 지원이나 새로운 방향이 될 수 있습니다.
따라서, 아마존 FreeRTOS의 주요 경쟁자 mbed 추정, 전 우선 아마존은 FreeRTOS를 지원하지 않습니다, FreeRTOS 이미 개발의 10 년 이상을 사용하여, 두 번째의 공식 아마존 클라우드 서비스 (아마존 웹 서비스, AWS)를 포함, 축복의 거대한 아마존을 얻는 것입니다 아마존 공식적인 지원 및 지원 하드웨어 제품 (화재 시리즈, 대쉬 시리즈). 아마존은 모두 세계 최대 규모의 퍼블릭 클라우드 (공용 클라우드) 사업자이지만, 또한 아마존 하드웨어 제품에 작은 이익에 관심을 지불, 오픈 또는 라이센스 기술을 긴축하지 않는 등 알렉사 등 음성 인식 기술은 널리 앞으로 아마존 FreeRTOS을 위해 기여하는 비 공식 아마존의 하드웨어 제품에 적용됩니다.
그러나 Amazon FreeRTOS는 여전히 개발 친화력을 강화해야하며 아마존은 2017 년 11 월까지 지원을 발표 했으므로 네 개의 공식 개발 보드 만 승인 받지만 이전에 언급했듯이 mbed는 130에 도달했으며 mbed에는 몇 가지 장점이 있습니다.
또한 mbed는 경량 인 μC / OS-II, embOS와 같은 다른 임베디드 운영 체제와도 경쟁 할 수 있습니다. 이러한 운영 체제는 한동안 존재 해 왔으며 FreeRTOS 모드를 비교하면 일부 국제 기술 회사의 지원을받을 수 있습니다. 즉, 아일랜드 기업이 제안한 Mongoose OS와 같은 Internet of Things의 개념에서 비롯된 새로운 임베디드 운영 체제 프로젝트 또는 오랫동안 존재하지만 Contiki와 같은 사물의 인터넷에 집중하기 시작한 임베디드 운영 체제입니다.
마지막으로, mbed 개발이 연기 된 리나 안드로이드의 원래 의도로 예상되지 않을 수 있으므로 후속는하지만, ARM의 자신의 원래의 회로는 라이선스 사업 손실을 훼손,하지만 않았더라도 있도록 자사의 소프트웨어 에코 시스템은 인텔의 선도적 인 86처럼, 다른 사람에 의해 지배 칩,하지만 지배적 인 86 소프트웨어 생태계하지만 마이크로 소프트는 리눅스 커뮤니티는 지배했다.