APB Bus 살펴보기

APB Bus 살펴보기 프로젝트 목차 UART verilog Testbench 살펴보기 UART Tx Verilog Module 살펴보기 UART Rx Verilog Module 살펴보기 APB Bus 살펴보기 (현재 포스팅) APB Register 설계하기 Vivado UART 모듈 설정 하기 Xilinx Zynq Firmware Code 짜보기 지금 만든 모듈 제어를 지금은 Testbench로 했지만, 실제로는 CPU로 제어해보고 싶을 수도 있다. 개인 취미로 CPU를 설계할 생각은 […]

APB Bus 살펴보기 Read More »

UART Rx Verilog Module 살펴보기

UART Rx Verilog Module 살펴보기 프로젝트 목차 UART verilog Testbench 살펴보기 UART Tx Verilog Module 살펴보기 UART Rx Verilog Module 살펴보기(현재 포스팅) APB Bus 살펴보기 APB Register 설계하기 Vivado UART 모듈 설정 하기 Xilinx Zynq Firmware Code 짜보기 이번에는 Rx 모듈 편이다. 테스트벤치 상 구현되어 있는 내용을 간단하게만 보면 아래와 같다. 이번 포스팅에서는 각 모듈을

UART Rx Verilog Module 살펴보기 Read More »

UART Tx Verilog Module 살펴보기

UART Tx Verilog Module 살펴보기 프로젝트 목차 지난번 포스트에서는 하위 모듈이 잘 설계되었다고 가정하고 테스트 벤치를 살펴보았다. 간단하게만 보면 아래와 같다. 이번 포스팅에서는 각 모듈을 살펴보기로 한다.이번에도 참고할 코드는 깃허브에 있다. UART Tx Verilog Module 먼저 송신단부터 확인해보자. input으로는 리셋, 클럭, 데이터 valid, 송신할 데이터output으로는 TX ACTIVE, Serial 데이터, 완료 신호이다. TX ACTIVE라인은 Serial이 동작

UART Tx Verilog Module 살펴보기 Read More »

Verilog Study 자료 공유 안내

안녕하세요! Verilog Study 자료를 공유드립니다. https://github.com/dk-min/verilog_study 아래는 Read Me 파일을 복붙했습니다.비바도로 돌려보기는 너무 헤비하고.. vscode로 간단하게 테스트 해볼 수 있게 작성했습니다.(일부 제외)자료는 이전에 강의로 들었던 교재를 참고했고, VGA Test Pattern Generator의 경우 vivado를 이용해서 zynq 보드로 테스트했습니다.질문 있으시면 댓글이나 페이스북 메세지를 이용해주세요! 감사합니다. Verilog Study Project Verilog를 공부하고 테스트하기 목적으로 작성한 프로젝트입니다. 개발환경 WINDOWS 10

Verilog Study 자료 공유 안내 Read More »

크로스 툴체인 설치

빌드는 x86 pc로 하는데 구동해야하는 타겟이 arm일 경우에는 arm으로 컴파일 할 수 있게 환경을 구성해야한다. 여기서는 beaglebone black을 사용할 것이므로 linaro의 armv7 컴파일러를 설치할 것이다. 다운로는 링크는 아래와 같다. https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/ 컴파일러의 이름은 arm-linux-gnueabihf이다. 리눅스 환경에서 컴파일 할 것이므로 tar파일을 다운받는다. 크로스 컴파일러를 다운받고 컴파일러/bin 폴더를 경로로 지정해준다. 이 코드를 매번 실행하기는 귀찮으니 Ubuntu를 기준으로 위와

크로스 툴체인 설치 Read More »

U-boot 컴파일하기

크로스 컴파일러 구성이 완료되었다면, U-BOOT을 컴파일해보자. 이전에 빌드한 파일을 삭제하고 싶다면 distclean이 필요하다 따라서 U-Boot 경로로 이동한 뒤 아래와 같은 명령어를 터미널에서 실행한다. 기본적인 보드 설정을 하고 싶으면 아래와 같은 명령어를 사용한다. 나는 비글 본 블랙을 사용할 것이므로 아래와 같은 명령어를 사용하지만, 다른 보드 파일 빌드가 필요하다면 다르게 설정할 필요가 있다. 먼저 config 폴더에서 사용할

U-boot 컴파일하기 Read More »

BeagleBone 리눅스 빌드하기

비글본블랙 리눅스 파일은 아래와 같은 링크에 있다. https://github.com/beagleboard/linux 이것도 U-boot과 비슷하다 먼저 보드 설정을 먼저 해준다. 만약에 없다면 config 폴더로 이동해서 디렉토리를 찾아본다. .config 파일이 생성되었다면 menuconfig로 세세한 설정들을 만져준다. 위에서 보이는 것처럼 M으로 되어있는것은 모듈이다. *로 되어 있으면 built-in인데, 모듈로 할 것인지 built-in으로 할 것인지는 알아서 선택하면 된다. 단 built-in으로 모든것을 다 때려박아버리면 커널이미지의

BeagleBone 리눅스 빌드하기 Read More »

Busybox 사용해보기

Busybox는 하나의 바이너리 파일로 이뤄져 있고, configuration tool을 이용해서 내가 필요로 하는 명령어를 선택할 수 있다. 이 것을 사용하면 제한되어있는 임베디드 시스템의 리소스를 낭비하지 않을 수 있다. busybox는 아래의 링크에서 다운받을 수 있다. https://busybox.net/downloads/ tar파일을 압축해제 한다음 경로로 들어가서 기본 설정 파일을 생성한다 강의에서 이야기하는것처럼 static binary로 설정했다.(나중에 다이내믹으로 수정) static이면 파일 사이즈가 증가한다. 그리고

Busybox 사용해보기 Read More »

NFS 프로토콜 사용해보기

Root File System을 Host PC 디렉토리로 지정해서 사용하는 방법을 서술한다. 기존에 있던 uEnv.txt파일을 수정해서 NFS를 사용할 수 있게 수정한다. 바꾸기 전 : 바꾸고 난 뒤 loadaddr, fdtaddr 등은 기본 설정 값이 있으므로 생략해도 괜찮다. host pc에서는 /srv/nfs/bbb를 rootpath로 사용하고 absolutepath는 tftpboot 폴더로 지정해 두었다. uimage와 dtb파일은 /var/lib/tftpboot/ 폴더에 넣어두고 빌드한 RFS파일은 /srv/nfs/bbb 폴더에 넣어둔다. 먼저

NFS 프로토콜 사용해보기 Read More »

buildroot 사용해보기

buildroot는 rootfs를 생성하는 도구 같은 느낌이다. 근데 짱 편리한게 리눅스 커널, busybox, uboot 등 필요한건 다 알아서 다운받고 북치고 장구치고 하는 놈이다. https://buildroot.org/ 다운로드는 위에서 다운받을 수 있다. 다운받고 기본 설정을 할 수 있는데 config 폴더에서 찾으면 있다. 그래서 아래와 같은 코드로 기초 설정을 할 수 있다. 그리고 난 다음에 menuconfig로 들아가서 잡다한 설정을 다할

buildroot 사용해보기 Read More »

비글본 블랙 TFTP 부팅하기

이 프로젝트는 비글본 블랙 보드를 TFTP 부팅하는 방법을 서술하였다. 보드랑 PC랑 인터넷 케이블로 연결하고, TFTP로 부팅하는 과정을 서술한다. PC는 192.168.7.1로 임의로 설정하고 보드는 192.168.7.2로 임의로 설정한다. 맨처음으로 할 일은 SD카드로 부팅을 하고, SD카드에서 UBOOT까지 부팅을 한다. 그 이후, uEnv로 환경 변수를 설정하고 커널 이미지랑 DTB(Device Tree Blob)파일등을 업로드 한다. 먼저 서버 PC에서 tftp를 설치해야한다. 아래의

비글본 블랙 TFTP 부팅하기 Read More »