그래서 JSON 파일을 분석하고 구문 분석 한 다음 터치 스크린에 디스플레이를 만드는 프로그램을 디자인하려고합니다. 지금까지 Visual Studio, cJSON 및 SDL2를 사용하는 프로그램을 작성했습니다. 그러나이 프로그램은 베어 메탈 STM 마이크로 컨트롤러 평가 보드에서 실행된다. SDL 라이브러리에서 Windows에 의존하는 프로그램이 있습니까? 아니면 프로그램이 베어 메탈 환경에서도 동일하게 실행됩니까?SDL2를 사용하는 C 프로그램을 베어 메탈 환경 (운영 체제 없음)에서 실행할 수 있습니까?
답변
SDL은 많은 플랫폼 (아마도 윈도우, 리눅스, 아미가 OS & 닌텐도 DS, BeOS는, 안드로이드 등)
에 존재하지만 디스플레이를 & 소리를 생성하고 입력을 행하기위한 운영 시스템/하드웨어 기능에 의존 .
마이크로 컨트롤러에 OS가없는 경우 SDL을 쉽게 포팅 할 수 없습니다. 따라서 플랫폼에서 특정 버전의 SDL을 찾거나 직접 포트해야합니다. 이는 케이크 조각처럼 보이지 않습니다. 게다가 SDL 기능의 5 %가 필요할뿐만 아니라 왜 귀찮은가?
다른 해결책은 마이크로 컨트롤러의 베어 메탈 비디오/입력 기능을 사용하여 SDL없이 앱을 작성하는 것입니다. 이식성이 필요하지 않으므로 간단한 응용 프로그램을 위해 시스템의 추상 레이어를 이식하는 데 드는 시간을 절약 할 수 있습니다.
답변 해 주셔서 감사합니다! 이 전체 임베디드 프로그래밍 세계에 조금 익숙해 져서 간단한 설명을 크게 환영합니다. 필자가 작성한 코드의 파싱 부분과 함께 실제로 파트가 도착하면 STM 임베디드 그래픽 라이브러리 중 하나를 사용할 것입니다. 당분간 SDL을 사용하여 파싱 코드/JSON 파일을 프로토 타입하고 디버깅 할 것입니다. –
예, 플랫폼에 따라 임베디드 라이브러리 또는 SDL을 호출하는 더 간단한 인터페이스를 지정할 수도 있습니다. –
- 1. 베어 메탈 머신에서 소프트웨어를 실행할 수 있습니까?
- 2. 베어 메탈 머신에 변기 상자를 설치하는 방법?
- 3. 컴파일러 내가 호스팅 환경 I는 베어 메탈 (bare-metal)의 C 프로그램을 컴파일하고있어 경우
- 4. Beagleboard 베어 메탈 프로그래밍
- 5. x86 커널과 ARM 모두에서 운영 체제 커널을 실행할 수 있습니까?
- 6. 베어 메탈 삼성 갤럭시 S4
- 7. AWS에서 사용하는 운영 체제 RDS
- 8. 운영 체제 대 IDE의 환경 변수는 무엇입니까?
- 9. Clojure에서 운영 체제 검색
- 10. 글로벌 운영자가없는 베어 메탈 new
- 11. 베어 메탈 시스템의 CPU 사용량 측정
- 12. 베어 메탈 배포를위한 Kubernetes 노드 설정
- 13. 서비스 운영 체제
- 14. 새로운 운영 체제 보안
- 15. 최고의 운영 체제 추상화?
- 16. 베어 메탈/네이티브 하이퍼 바이저?
- 17. 운영 체제 효율성
- 18. CLI Linux 운영 체제
- 19. Excel 내에서 운영 체제 환경 변수를 표시하려면 어떻게합니까?
- 20. 운영 체제 로더
- 21. 영어 사이트의 운영 체제
- 22. Xcode 4.0 운영 체제
- 23. 베어 메탈 ARM 프로그램의 플래시 크기
- 24. 운영 체제 주입과 운영 체제 명령 주입의 차이점
- 25. 실시간 운영 체제 스케줄러
- 26. 운영 체제/페이징
- 27. 운영 체제 인터럽트
- 28. 암 (베어 메탈) : 이진 파일을 함수로 호출합니다.
- 29. 지원되지 않는 운영 체제
- 30. Powershell Active Directory (운영 체제)
SDL : 간단한 다이렉트 미디어 레이어. 기본 시스템에 크게 의존합니다. 시스템이 없다면, 토스트 야. 당신의 마이크로 컨트롤러를위한 SDL lib가 없다면 (결국 Nintendo DS를위한 것입니다) –
SDL을 어떻게 사용하고 있습니까? SDL에 대한 나의 제한된 경험은 baremetal 느낌 이었으므로 sdl을 baremetal로 바꿉니다. 그것을 포팅하려고하지 마십시오. –
아스키 파일은 일반적으로 의미가 없으므로 아마 json도 피하고 싶을 것입니다. 호스트 프로그램에서 json을 좀 더 효율적으로 변환 할 수 있습니다. –