반응형
제작 PC인 경우에는 일반 상용 PC보다 자유롭게 핀맵을 구성할 수 있는데, 리눅스 상에서 시리얼 포트 인식 개수가 실제 의도한 시리얼 핀 개수와 다를 수 있다.
1. 제작 PC에 탑재된 리눅스에서 인식하는 시리얼 포트를 확인
[root@localhost ~]# ls /dev/ttyS*
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
2. 윈도우 PC에서 COM 통신으로 리눅스의 어느 포트를 사용하는지 확인
https://namsaenga.tistory.com/54
3. hercules_3-2-8.exe 에서 어떠한 시리얼 포트도 반응을 안한다면 아래의 절차 진행
1) /etc/default/grub 파일 편집
[root@localhost ~]# vi /etc/default/grub
2) /etc/default/grub 파일 상에서 GRUB_CMDLINE_LINUX="..." 부분 끝에 8250.nr_uarts=8 삽입
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet 8250.nr_uarts=8"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
3) 설정사항 반영
[root@localhost ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
[root@localhost ~]# reboot
4) 시리얼 포트 확인
[root@localhost ~]# ls /dev/ttyS*
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
/dev/ttyS4 /dev/ttyS5 /dev/ttyS6 /dev/ttyS7
결론: 나의 경우에는 제작 PC가 8개의 UART 핀을 가지고 있었는데, 핀맵 상으로는 4개만 제공한다고 나와 있었다. 2개를 시리얼 통신하려고 했지만, /dev/ttyS0에서 /dev/ttyS3까지 반응이 없었다. 시리얼 포트를 추가 인식시키고 시리얼 통신을 수행한 결과 2개의 포트(/dev/ttyS0, /dev/ttyS1)가 정상적으로 동작하였다.
반응형
'프로그래밍 > OS' 카테고리의 다른 글
Red Hat ID 인증서 만료 및 의존성 문제 해결(solution: subscription manager expired identity and dependency problem) (0) | 2022.08.02 |
---|---|
리눅스 시리얼 포트 통신 hex data 주고 받기 (0) | 2022.06.18 |
USB에 복사한 linux OS 시스템의 파일을 사용하는 방법 (0) | 2022.05.27 |
Linux 시리얼 통신 자동 체크 예제 프로그램 소스 코드 (0) | 2022.05.25 |
RHEL 디스플레이 해상도 800x600 보다 높은 값으로 설정 (0) | 2022.05.20 |
댓글