JTAG SSH 포트 포워딩을 이용한 텔레 워크를 통한 FPGA 개발 (보안 개선) 에서 보안에 대한 지적을 받았으므로 개선책을 반영해 보았습니다. 우선 이 방법이라면 원격 서버의 IP 주소와 포트 13121이 열려 있다는 것을 알게 되면 누구나 회사의 hw_server에 그대로 연결할 수 있다는 것입니다. hw_server는 세상 일반에서 보면 사소한 프로그램으로, 이것을 대상으로 공격해 오는 사람은 없을 것입니다만, 아마 미지의 취약성을 가득 가지고 있기 때문에, 그러한... sshdJTAGFPGAVivado Tang nano의 경계 스캔 GOWIN 지원에 연락하여 대행사를 통해 BSDL 파일을 받을 수 있었습니다. 바로 Tang nano를 바운더리 스캔하고 싶습니다. BSDL 파일을 이라는 도구에 등록하고 자동 인식하면, 화면에 표시된 FPGA (GW1N-1-LV)를 선택하고 시각화 버튼 를 누릅니다. 이제 실시간으로 Tan nano의 FPGA 단자 상태를 볼 수 있습니다. 단자의 H/L, In/Out 상태가 색으로 표시됩니... FPGAJTAGsipeed Tang nano의 JTAG 조사 Tang nano를 얻었으므로 JTAG를 조사합니다. 보드 뒷면에 TCK, TDI, TMS, TDO로 작성된 단자가 있으므로 여기에 핀 헤더를 납땜하고 플라이 리드 케이블을 연결합니다. JTAG의 전원은 무엇 V인지 모르겠지만, 5V가 아니라고 생각되기 때문에, Vbank0/3이라고 쓰여진 곳으로부터 전원을 취합니다. 에서 보통 자동 인식시켜 보더라도 찾을 수 없기 때문에 SVF 플레이어를 ... FPGAJTAGsipeed urjtag를 FreeBSD의 gpio에서 사용할 수 있도록 시도했습니다. 평소에는 Mac OS X에서 UrJTAG를 사용하고 있지만 흐름으로 UrJTAG에 FreeBSD 11R에서 제공되는 libgpio를 사용하는 드라이버를 써 보았다. 리눅스에서는 하나씩 open하고 fd를 가지고있는 것 같습니다만, libgpio에서는 gpioc를 open하고 그 fd로 함수를 호출하고 있습니다. 여담입니다만, 이 gpio.c가 FreeBSD에서도 컴파일되어 버리고 있는 것 같... JTAGFreeBSD urjtag on FreeBSD sourcefoge의 git에서 clone하고 autogen.sh를 실행하여 빌드해 보겠습니다. ByteBlasterMV 클론을 만들어 보았으므로 병렬 포트가 있는 원조 amd64인 머신으로 시험했지만 움직이지 않는다. 보드는 여러가지 실수했지만 여러가지 고쳐도 안 된다. 방법이 없기 때문에 코드를 살펴 보겠습니다. FreeBSD ppi 지원을 위한 부호 src/tap/parport/ppi.... JTAGFreeBSD JTAG로 Flash 태우기 UrJTAG와 OpenOCD 등의 CFI와 낸드플래시에서 부트를 태우는 경우는 두 가지다. 기존의 boot로 태워 이동하는 상태 새로운 프로그램이나 오류가 적힌 상태로 구워짐 전자의 경우 초기화된 코드가 이동하여 SDRAM과 Flash를 볼 수 있는 상태가 되었고 대부분은 간단한 절차로 완성되었다. 후자의 경우 원래 boot의 초기화는 UrJTAG와 OpenOCD에서 이루어져야 하기 때문에 ... U-bootopenocdJTAG
SSH 포트 포워딩을 이용한 텔레 워크를 통한 FPGA 개발 (보안 개선) 에서 보안에 대한 지적을 받았으므로 개선책을 반영해 보았습니다. 우선 이 방법이라면 원격 서버의 IP 주소와 포트 13121이 열려 있다는 것을 알게 되면 누구나 회사의 hw_server에 그대로 연결할 수 있다는 것입니다. hw_server는 세상 일반에서 보면 사소한 프로그램으로, 이것을 대상으로 공격해 오는 사람은 없을 것입니다만, 아마 미지의 취약성을 가득 가지고 있기 때문에, 그러한... sshdJTAGFPGAVivado Tang nano의 경계 스캔 GOWIN 지원에 연락하여 대행사를 통해 BSDL 파일을 받을 수 있었습니다. 바로 Tang nano를 바운더리 스캔하고 싶습니다. BSDL 파일을 이라는 도구에 등록하고 자동 인식하면, 화면에 표시된 FPGA (GW1N-1-LV)를 선택하고 시각화 버튼 를 누릅니다. 이제 실시간으로 Tan nano의 FPGA 단자 상태를 볼 수 있습니다. 단자의 H/L, In/Out 상태가 색으로 표시됩니... FPGAJTAGsipeed Tang nano의 JTAG 조사 Tang nano를 얻었으므로 JTAG를 조사합니다. 보드 뒷면에 TCK, TDI, TMS, TDO로 작성된 단자가 있으므로 여기에 핀 헤더를 납땜하고 플라이 리드 케이블을 연결합니다. JTAG의 전원은 무엇 V인지 모르겠지만, 5V가 아니라고 생각되기 때문에, Vbank0/3이라고 쓰여진 곳으로부터 전원을 취합니다. 에서 보통 자동 인식시켜 보더라도 찾을 수 없기 때문에 SVF 플레이어를 ... FPGAJTAGsipeed urjtag를 FreeBSD의 gpio에서 사용할 수 있도록 시도했습니다. 평소에는 Mac OS X에서 UrJTAG를 사용하고 있지만 흐름으로 UrJTAG에 FreeBSD 11R에서 제공되는 libgpio를 사용하는 드라이버를 써 보았다. 리눅스에서는 하나씩 open하고 fd를 가지고있는 것 같습니다만, libgpio에서는 gpioc를 open하고 그 fd로 함수를 호출하고 있습니다. 여담입니다만, 이 gpio.c가 FreeBSD에서도 컴파일되어 버리고 있는 것 같... JTAGFreeBSD urjtag on FreeBSD sourcefoge의 git에서 clone하고 autogen.sh를 실행하여 빌드해 보겠습니다. ByteBlasterMV 클론을 만들어 보았으므로 병렬 포트가 있는 원조 amd64인 머신으로 시험했지만 움직이지 않는다. 보드는 여러가지 실수했지만 여러가지 고쳐도 안 된다. 방법이 없기 때문에 코드를 살펴 보겠습니다. FreeBSD ppi 지원을 위한 부호 src/tap/parport/ppi.... JTAGFreeBSD JTAG로 Flash 태우기 UrJTAG와 OpenOCD 등의 CFI와 낸드플래시에서 부트를 태우는 경우는 두 가지다. 기존의 boot로 태워 이동하는 상태 새로운 프로그램이나 오류가 적힌 상태로 구워짐 전자의 경우 초기화된 코드가 이동하여 SDRAM과 Flash를 볼 수 있는 상태가 되었고 대부분은 간단한 절차로 완성되었다. 후자의 경우 원래 boot의 초기화는 UrJTAG와 OpenOCD에서 이루어져야 하기 때문에 ... U-bootopenocdJTAG