목적 : Linux의 mmap()함수를 사용하여 PL의 Bram에 Write하고 다시 Read하여 Bram을 Linux에서 사용하는데 목적을 둔다.
* 컴파일 및 자세한 사용법은 이전 gpio 프로젝트를 참고하고, 여기서는 간단하게 사용법을 적어둔다.
1. 하드웨어 디자인은 Bram 사용(PL+SDK Application)에서 사용된 디자인을 그대로 사용한다.
2. mmap()관련 테스트 소스코드는 https://github.com/pcw821029/ZC706_Study/tree/master/02.bram/mmap_src/mmap_test.c 을 참고한다.
3. SDK의 Board Support Package의 devicetree로 pl.dtsi파일을 생성하고, 리눅스에서 devicetree을 생성한다.
4. u-boot.elf, fsbl.elf, wrapper.bit 파일을 사용하여 BOOT.BIN파일 만든다.
5. SD카드에 BOOT.BIN, devicetree.dtb, uImage, 파일을 복사 후 보드에 삽입하여 부팅한다.
6. 부팅이 완료되면 mmap을 사용하여 예제프로그램을 컴파일하여 tftp을 이용해 target보드에 download한다.
a. mmap테스트 프로그램 컴파일 :
* Cross compiler path : buildroot-2017.02.1/output/host/usr/bin/
$ Cross compiler path/arm-buildroot-linux-uclibcgnueabihf-gcc -o test test.c
b. target 보드에 download :
- 컴파일 된 test파일을 tftp 폴더로 복사
$ cp test /tftpboot
- target 보드에서 tftp명령을 이용하여 파일 다운로드
# tftp -gr test 192.168.0.102
7. 테스트 프로그램 실행
# ./test
댓글 없음:
댓글 쓰기