UART Module Testbench Verilog로 다뤄보기

UART Module Verilog로 코딩해보기 프로젝트입니다. nandland 사이트를 참고했고, uart 모듈에 대해 하드웨어로 구현하는 방법을 서술합니다.이번 예제는 해당 모듈을 들여다보기 앞서, UART Module Testbench 먼저 봅니다.

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 자료 공유 안내 더 보기 »

크로스 툴체인 설치

빌드는 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를 기준으로 위와 …

크로스 툴체인 설치 더 보기 »

U-boot 컴파일하기

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

U-boot 컴파일하기 더 보기 »

BeagleBone 리눅스 빌드하기

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

BeagleBone 리눅스 빌드하기 더 보기 »

Busybox 사용해보기

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

Busybox 사용해보기 더 보기 »

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 프로토콜 사용해보기 더 보기 »

buildroot 사용해보기

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

buildroot 사용해보기 더 보기 »

비글본 블랙 TFTP 부팅하기

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

비글본 블랙 TFTP 부팅하기 더 보기 »

STM32F4 LL I2C 레지스터 및 코드 작성하기

STM32F4 LL I2C 설정 및 코드 작성 프로젝트입니다. STM32F4 LL I2C 설정 및 ADXL345 레지스터 살펴보기 STM32F4 LL I2C 레지스터 및 코드 작성하기 STM32F4 LL I2C INTRO LL드라이버를 작성해보는 사람이라면 모두 알겠지만, 레퍼런스 메뉴얼을 참고하지 않고서는 코드를 작성할 수 없다. 더군다나 아트메가로 먼저 i2c를 제어해봤지만, 이건 그것보다 더 복잡하다고 해야하나, 골때리는 것들이 있다. 레퍼런스 메뉴얼 …

STM32F4 LL I2C 레지스터 및 코드 작성하기 더 보기 »