XAxiDma_SimpleTransfer 함수의 input을 보면 저장할 위치의 주소를 받지 않음. 위 그림의 UINTR BuffAddr은 원래 데이터의 주소를 나타냄. 우리는 DMA_BASE_ADDR 0x8000000에 저장할 목표를 가짐.
실질적으로 데이터를 쓰는 과정을 보면 XAxiDma_WriteReg 라는 함수를 사용.
XAxiDma_WriteReg에 대한 Defintion은 다음과 같다
실질적으로 Xil_Out32 라는 함수를 사용한다고 생각했기 때문에 dmaTransfer 함수를 사용하지 않고 Xil_Out32를 함수를 직접 사용함.
하지만 저번과 똑같은 에러가 발생함. a = Xil_In32(0x80000000) 으로 정상적으로 0x80000000에 write 가 되었다면 50이라는 값이 읽혀야한다. 하지만 저번과 같이 65554라는 garbage 값이 읽혔고 우리가 dma 영역에 Xil_Out 을 사용하여 직접 접근하면 안됨.
ImageData 뿐만 아니라 Weight, Node 에 대한 정보를 입력할려면 multi channel dma을 사용할 필요가 있어보임
XAxiDma_SimpleTransfer 함수의 input을 보면 저장할 위치의 주소를 받지 않음. 위 그림의 UINTR BuffAddr은 원래 데이터의 주소를 나타냄. 우리는 DMA_BASE_ADDR 0x8000000에 저장할 목표를 가짐.
실질적으로 데이터를 쓰는 과정을 보면 XAxiDma_WriteReg 라는 함수를 사용.
XAxiDma_WriteReg에 대한 Defintion은 다음과 같다
실질적으로 Xil_Out32 라는 함수를 사용한다고 생각했기 때문에 dmaTransfer 함수를 사용하지 않고 Xil_Out32를 함수를 직접 사용함.
하지만 저번과 똑같은 에러가 발생함. a = Xil_In32(0x80000000) 으로 정상적으로 0x80000000에 write 가 되었다면 50이라는 값이 읽혀야한다. 하지만 저번과 같이 65554라는 garbage 값이 읽혔고 우리가 dma 영역에 Xil_Out 을 사용하여 직접 접근하면 안됨.
ImageData 뿐만 아니라 Weight, Node 에 대한 정보를 입력할려면 multi channel dma을 사용할 필요가 있어보임