임베디드 시스템 프로그래밍에 가장 적합한(최고의) 언어에 대한 제안이 있습니까?[닫은]

StackOverflow https://stackoverflow.com/questions/649197

  •  19-08-2019
  •  | 
  •  

문제

저는 ARM32 프로세서를 사용하여 약 20MHz, 6MB RAM을 갖춘 장치에 대한 임베디드 코딩을 수행하려고 합니다.임베디드 시스템 프로그래밍에 가장 적합한/가장 적합한 언어를 제안할 수 있는 사람이 있습니까?나는 다음을 고려하고 있다:

  • 루아
  • TinyPy
  • 자바 ME
  • 씨#
  • 누군가 JavaScript를 제안했습니다

어떤 제안이 있으십니까?감사해요

편집 - C와 Lua가 승자인 것 같습니다.모두 건배!

편집 - 실시간은 문제가 아니며 제한된 RAM/CPU가 상황을 결정하는 것이 더 많습니다.

도움이 되었습니까?

해결책

나는 ARM OMAP 프로세서에 LUA를 사용했습니다. LUA의 C와의 긴밀한 통합은 필요할 때마다 금속으로 이동할 수 있으며, 작은 크기는 광범위한 플랫폼에 적합합니다. Mac의 LUA에서 펌웨어에 대한 UI를 개발 한 다음 변경없이 임베디드 플랫폼으로 가져 왔습니다.

OMAP 프로세서는 Java 또는 Python과 같은 다른 언어를 실행하기에 충분히 비프되었지만 코드를 시작할 때 어떤 하드웨어를 목표로했는지 몰랐습니다. 루아는 안전한 내기였습니다.

다른 팁

장치를 처음부터 시작하거나 비표준 주변 장치와 직접 인터페이스하는 경우 C만이 유일한 방법입니다.

이미 내장 된 OS를 가지고 있거나 어려움없이 OS를 포트 할 수 있다면 더 많은 스크립트 언어 중 하나를 추가하는 데 더 많은 유연성이있을 수 있습니다. C#은 Wince에 있지 않는 한 문제가 없으며 .NET Micro로 제한됩니다.

그 외에도 "최고의"는 장치가 사용될 내용을 설명하지 않고는 거의 의미가 없습니다. 일부 언어는 다른 언어보다 특정 작업을 더 잘 지원합니다.

C는 아마도 제한된 CPU 리소스에 대한 최선의 방법 일 것입니다.

나는 똑바로 C와 함께 가고 싶은 유혹을 받았지만 거의 30 년 동안 C를 쓰고 있습니다. Lua와 Tinypy는 너무 새롭고 실험적으로 보입니다. 임베디드 장치는 매우 강력해야합니다.

Java Me는 좋은 점이 있습니다. 나는 임베디드 세상에서 C#에 대해 모른다.

이 장치가 기대하는 것을 지정하는 것이 중요합니다. 일종의 제어 응용 프로그램입니까? 알고리즘을 구현해야합니까? 플로팅 포인트 지원은 어떻습니까? 기이? 성능이 중요합니까? OS를 사용할 계획입니까?

이러한 질문에 대답하는 것은 프로그래밍 언어를 선택하는 데 중요한 전제 조건입니다.

즉, 임베디드 시스템은 신뢰할 수 있어야하므로 테스트 된 솔루션을 사용해야합니다. C는 아마도 ARM 칩의 가장 견고하고 가장 지원되는 옵션 일 것입니다. 그러나 특정 요구에 따라 YMMV.

C는 확실히 임베디드 시스템에서 가장 많이 사용되는 언어입니다. 또한 일반적으로 언어에 대해 가장 많이 이야기하는 것 같습니다. http://www.langpop.com/

편집하다: 흠.나는 방금 당신이 설명하는 '임베디드'가 애플리케이션에 자동화 언어를 추가하는 것이 아니라 애플리케이션을 임베디드 플랫폼에 집어넣는 것이라는 것을 알았습니다.다른 사람들이 제안하는 것처럼 꼭 필요한 경우가 아니면 내장 가능한 언어를 건너뛰고 C로 애플리케이션을 프로그래밍하세요.실제로 사용하는 것을 제외하고는 런타임 오버헤드가 거의 없습니다.

특별한 순서 없이 Lua, JavaScript, TCL은 모두 임베딩에 매우 적합합니다.Lua는 제가 삽입하기 가장 쉬웠습니다.자바스크립트 ~할 것 같다 가장 빠르세요.세 가지 모두 신뢰할 수 없는 코드를 잘 처리하지만 TCL이 가장 강력합니다. 예를 들어 신뢰할 수 없는 코드는 신뢰할 수 없는 코드를 실행할 수 있습니다(그만큼 많은 작업을 신뢰할 수 있는 경우).

다양한 대체 언어를 지원하는 RTO가 없다면 C 또는 C ++ (컴파일러 체인에 따라)가 갈 길입니다.

귀하의 결정은이 프로세서에 유용 할 수있는 도구에 의해 결정될 가능성이 높습니다.

C는 지금까지 임베디드 프로세서를위한 가장 지원되는 언어이므로 그에 대해 멀리 잘못 될 수 없으며 앞으로 다른 칩에 대한 소프트웨어를 작성해야한다면 좋은 경험이 될 것입니다.

C ++는 임베디드 시스템에서 점점 인기를 얻고 있습니다. 그 외에도 우선 순위 (시장 시간, 자원 사용, 속도) 및 사용하는 도구의 품질에 따라 다릅니다.

C 최고

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top