Arduino에서 Linux를 실행할 수 있습니까? 그렇다면 어떤 단계와 제한을 고려해야합니까? 그렇지 않은 경우이를 방지하는 제한은 무엇입니까?
Arduino에서 Linux를 실행할 수 있습니까? 그렇다면 어떤 단계와 제한을 고려해야합니까? 그렇지 않은 경우이를 방지하는 제한은 무엇입니까?
답변:
Linux는 매우 복잡한 운영 체제이지만 Arduino에 적합 할 수 있습니다. 고려해야 할 사항 :
요컨대, 많은 시간과 노력이 필요하며, 일상적으로 사용하기에는 너무 느릴 것입니다. Arduino Linux를 정말로 원한다면 Yún을 확인하십시오.
RAM이 충분하지 않습니다. 또한 부트 로더를 다시 작성해야하는 플래시 메모리에서 부팅하도록 지시해야합니다.
대신 Arduino Yun 또는 PCDuino 를 사용할 수 있습니다 . "표준"Arduino는 아니지만 Arduino 쉴드를 지원하고 Linux를 실행합니다.
또는 항상 라즈베리 파이가 있습니다.
짧은 대답은 '아니요'입니다.
기본적으로 가장 큰 ATmega보다 기본적으로 더 많은 RAM이 필요합니다.
이다 외부 하드웨어를 추가하고, 더 강력한 CPU를 에뮬레이션하기 위해 ATMEGA 프로그램, 그리고에 리눅스를 실행하는 데 이론적으로 가능. 그러나 일반 arduino에서는 불가능합니다.
기본적으로 AT91SAM3X8E CPU 인 Arduino Due에서 Linux를 실행하는 것이 훨씬 더 현실적입니다. 그러나 여전히 일부 SRAM 및 스토리지를 추가해야합니다.
Arduino Yun과 같은 것이 있지만 실제로는 ATmega32U4와 동일한 PCB에 완전히 별개의 Linux 모듈이므로 실제로 arduino로 계산할 수 있는지 모르겠습니다.
아마도 관련성 : 임베디드 리눅스를 실행하려면 무엇이 필요합니까?
pcDuino 라는 보드가 있으며 데비안, 우분투, Open WRT, LEDE, Raspian PIXEL과 같은 Linux의 여러 변형을 실행할 수 있습니다 (몇몇 언급). 이 보드는 네이티브 Arduino가 아니라 Arduino AtHeart 이며 LinkSprite 로 제작되었습니다 . .
Arduino에는 Linux라는 변형을 지원하는 두 개의 보드가 있습니다. Linino .
이것은 몇 살이지만 Arduinos가 더 많은 RAM과 32 비트 ATMega AVR 등을 얻음에 따라 더 적절할 수 있습니다. 가장 인기있는 답변에는 명백한 문제가 없습니다. Arduino는 AVR을 사용합니다 MICROCONTROLLER를MICROPROCESSOR가 아닙니다. 이것이 리눅스 포트가없는 주된 이유입니다. 마이크로 컨트롤러는 입력과 출력의 관계가 잘 정의 된 특정 작업, 응용 프로그램을 수행하도록 설계되었습니다. 마이크로 프로세서는 운영 체제에서 다양한 앱을 실행하도록 설계되었습니다. 리눅스는 처음부터 메모리 관리 장치가 필요했으며 8088 또는 286 PC에서 실행할 수 없었습니다. 그런 다음 원래 Palm Pilots 용 Motorola DragonBall 임베디드 68k 프로세서 제품군을 대상으로하는 μClinux가있었습니다. 특별히 성공한 적은 없었습니다. 어쩌면 어쩌면 어쩌면 Linux보다 FreeDOS 또는 Minix를 포팅하는 데 더 성공했을 수도 있지만 마이크로 컨트롤러에서 OS를 컴파일하는 것은 매우 비실용적입니다. 아마도 어려운 학업 문제 일 것입니다.
가능하지만 C로 작성해야하기 때문에 고통 스럽습니다. (sd 카드 쉴드 및 추가 메모리 칩과 같은 추가 하드웨어는 말할 것도 없습니다.) 내가 쓴 커널 Ontas와 같은 것 Arduino의 C는 void 루프 기능 반복 속도를 늦추는 대신 드라이버를 추가하는 것을 지원하므로 도움이됩니다. (이것은 당신이 생각하는 것만 큼 큰 거래는 아닙니다) (Ontas는 여전히 개발 중이며 새로운 기능이 항상 추가됩니다)