인프런 커뮤니티 질문&답변

zealatan님의 프로필 이미지
zealatan

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)

vitis에서 firmware loading 후 main에 진입을 못해요

작성

·

226

·

수정됨

1

안녕하세요. 강의 잘 보고 있습니다.

Mem copy IP의 연장선으로 dma와 axi lite를 이용한 모듈을 customize 시키고,

이 Custom IP를 이용해서 XSA 파일을 만들고 VITIS에서 펌웨어를 만들었습니다.

하지만, MAIN함수의 printf 구문이 동작하질 않네요ㅠㅠ (MEM copy IP 예제는 target board-zcu102에서 잘동작합니다 ㅠㅠ).

어떤 것을 더 고려해야 할까요?? 구글링해서 tcl파일로 드라이버를 생성하여 xparameters.h , xil_io.h 와 같은 파일은 생성하였습니다.

 

 

 

 

답변 1

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

올려주신 현상만으로는 원인을 모르겠어요. (보드도 다르고, 코드 및 로직도 다르고.. 해당 부분 디버깅은 양해부탁드릴께요)

저의 추천 방법은요.

정상적으로 동작하는 코드 (동작하신다던 프로젝트)를 Base 삼아서, 로직을 붙여서 원인을 찾아보시는 방법이 좋아보입니다. (저라면 그렇게 할 것 같아요)

즐공하세요 🙂

zealatan님의 프로필 이미지
zealatan
질문자

답변 정말 감사드려요:)

네, 말씀해주신 방법대로 Mem copy IP 로 시작해서 덧붙여 가보겠습니다:)

 

그 전에 한 가지 더 질문드리고 싶은것이 있는데요.

Mem copy IP를 zybo에 올리는 강의에서는

따로 drivier를 생성하는 과정은 보여주시지 않은것 같아요.

 

c main 파일에서는 header 파일이 include 되었는데, (xparameters.h, xil_io.h)

이 헤더파일은 vitis에서 자동으로 생성해 주는건가요? customize ip를 붙인다고 했을 때, 다른 코드도 수정해야하는지 궁금합니다.

강의가 정말 알차서, 3개를 반복해서 보고 있는데, 남은 1개 강의도 곧 구매해서 보려고 해요.

정말 감사드립니다:)

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

말씀해주신대로, Driver file 은 자동으로 생성해줘요.

custom IP 를 제어하기 위해서, AXI4-Lite 가 필요했고요.

Vivado 내에서 Baseadress 를 결정할 수 있었죠.

Vitis 는 그 정보를 가지고 header 를 auto generation 했어요.

즐공하세요 :)

zealatan님의 프로필 이미지
zealatan

작성한 질문수

질문하기