This is an old revision of the document!


HOST PC 환경 설정

개발 PC에서 CFHEADER API를 사용하여 만든 프로그램(App)을 HOST PC에서 안정적으로 실행하려면, HOST PC에 .NET 8 런타임이 설치하는 등 환경설정을 해주셔야 합니다.

:!: 본사 제품인 ComfilePi(Linux) 및 패널 PC(Windows)를 HOST PC로 사용하는 경우, .NET이 이미 설치되어 있으며 환경 설정도 완료되어 있습니다. 사용자는 별도의 설정 없이 즉시 HOST PC로 사용할 수 있습니다. (2025년 X월 이후 출고 제품 기준)

  • HOST PC는 64비트 PC를 사용해야 합니다. CFHEADER API(Cfnet.Cfheader 라이브러리)는 64비트 플랫폼(OS)에서 만 지원됩니다.
  • 개발 PC를 HOST PC로 사용할 경우, 별도의 추가 작업이 필요하지 않습니다.

Windows PC

HOST PC가 Windows PC일 때 환경설정 방법을 설명합니다. 개발 프로그램이의 .NET 버전에 맞게 HOST PC에 .NET 및 SDK를 설치합니다.

  • 개발 프로그램이 .NET 8.x로 제작된 경우 : Download .NET 8, SDK에서 .NET Desktop Runtime 8.x, SDK 8.x를 다운받아 설치합니다.
  • 개발 프로그램이 .NET Framework 4.x로 제작된 경우 : Download .NET Framework 4에서 .NET Framework 4.x 다운받아 설치합니다.

Linux PC

HOST PC가 Linux PC일 때 환경설정 방법을 설명합니다.

sudo apt install libusb-dev

ARM Linux에서 가비지 컬렉션 Bug 해결방법

.NET 런타임 버그인해 프로그램이 제한될 수도 있습니다. 이때, 메모리가 적은 장치(라즈베리 파이)에서는 .NET 가비지 컬렉터의 메모리 제한설정을 해야 합니다. 그렇지 않으면 .NET 애플리케이션이 예기치 않게 종료될 수 있습니다.
가비지 컬렉터의 메모리 제한을 설정하려면 /etc/environment 파일을 만들거나 수정해서 다음 줄을 추가하세요.

DOTNET_GCHeapHardLimitPercent=32

그 다음 재부팅합니다.

Linux에서 USB 권한

Linux에서는 일반 USB 접근자에게 장치에 대한 직접 액세스 권한을 제공하지 않습니다. 이로 인해 CFHEADER 모듈과의 통신 시 오류가 발생할 수 있습니다. 일반 사용자가 USB 장치에 액세스할 수 있도록 하려면 /etc/udev/rules.d/99-usb.rules 파일을 다음과 같이 수정한 후, 시스템을 재부팅해야 합니다.

SUBSYSTEM=="usb", GROUP="plugdev", MODE="0666"

이전 페이지로 이동