====== HOST PC 환경 설정 ====== 개발 PC에서 CFHEADER API로 제작한 애플리케이션을 HOST PC에서 안정적으로 실행하려면, HOST PC에 해당 실행 환경(.NET 런타임 등)을 설치해야 합니다. ※ 단, ComfilePi(Linux) 또는 **패널 PC(Windows)**를 HOST PC로 사용하는 경우 → 출고 시 .NET 및 필수 환경이 이미 설치되어 있어 별도 설정 없이 바로 사용 가능합니다. (2025년 이후 출고 제품 기준) ===== HOST PC 기본 요구 사항 ===== * HOST PC는 64비트 PC를 사용해야 합니다. * Cfnet.Cfheader 라이브러리(CFHEADER API)는 64비트 OS에서만 지원됩니다. * [[..:cfheaderdevelopmentenvironment:index|개발 PC]]를 그대로 HOST PC로 사용하는 경우 추가 설정은 필요하지 않습니다. ===== Windows PC 설정===== HOST PC가 Windows인 경우, 프로그램을 빌드한 .NET 버전에 맞는 런타임을 설치해야 합니다. * .NET 8.x 기반 프로그램 : [[https://dotnet.microsoft.com/en-us/download/dotnet/8.0|Download .NET 8, SDK]]에서 .NET Desktop Runtime 8.x, SDK 8.x를 다운받아 설치합니다. * .NET Framework 4.x 기반 프로그램 : [[https://dotnet.microsoft.com/en-us/download/dotnet-framework|Download .NET Framework 4]]에서 .NET Framework 4.x 다운받아 설치합니다. ===== Linux PC 설정 ===== HOST PC가 Linux PC일 때 환경설정 방법을 설명합니다. * 개발 프로그램이 .NET 8.x로 제작된 경우 : * [[https://learn.microsoft.com/en-us/dotnet/core/install/linux|인텔(Intel) 계열 리눅스PC]]]에서 .NET 8 설치 방법입니다. * [[https://www.comfilewiki.co.kr/en/doku.php?id=comfilepi:dotnet_core_development#install_the_net_sdk_on_the_comfilepi| 컴파일파이(CPi) 또는 리눅스PC]]에서 .NET 8 설치 방법입니다. * 개발 프로그램이 .NET Framework 4.x로 제작된 경우 : [[https://www.mono-project.com/download/stable/#download-lin-debian|Mono Framework]] 설치 방법입니다. ==== libusb 설치 (필수) ==== .NET 8.x 또는 .NET Framework 4.x 제작된 프로그램 둘다 [[https://libusb.info/|libusb]] 설치가 필요합니다. 아래의 명령어로 설치하세요. sudo apt install libusb-dev ==== ARM Linux에서 가비지 컬렉션 Bug 해결방법 ==== [[https://github.com/dotnet/runtime/issues/95257|.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" [[:fieldio:cfnet:index|이전 페이지로 이동]]