Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- java
- C++
- 정처기
- boj
- linux
- axi
- hdl
- 정보처리기사
- 백준
- Bus
- vitis
- Vivado
- HDLBits
- Backjoon
- verilog
- SQL
- AMBA BUS
- 자격증
- Beakjoon
- Zynq
- verilog HDL
- 실기
- 리눅스
- FPGA
- baekjoon
- 코딩테스트
- UNIX
- amba
- chip2chip
- Xilinx
Archives
- Today
- Total
Hueestory
09 LED toggle 본문
Vivado를 사용해 Zynq IP 생성 → Vitis를 사용해 C 코딩
1. LED on / 'LED is ON' 출력
2. sleep 1s
3. LED off / 'LED is OFF' 출력
4. sleep 1s
* while을 통해 무한루프
* sleep 함수는 vitis에서 이용할 수 없으므로 sleep.h의 usleep 사용
(usleep은 micro second 단위를 사용하므로 usleep(1000000) → 1초 대기)
Vitis C Code
#include <stdio.h>
#include "sleep.h"
#include "xgpiops.h"
#include "platform.h"
int main()
{
static XGpioPs psGpioInstancePtr;
XGpioPs_Config * GpioConfigPtr;
int xStatus;
int LedPinDirection = 1, LedPinNumber = 7;
init_platform();
print("Hello World\n\r");
// PS GPIO Initialization //
GpioConfigPtr = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
if(GpioConfigPtr == NULL)
return XST_FAILURE;
xStatus = XGpioPs_CfgInitialize(&psGpioInstancePtr, GpioConfigPtr, GpioConfigPtr->BaseAddr);
if(XST_SUCCESS != xStatus)
print("PS GPIO INIT FAILED \n\r");
// LED Output //
XGpioPs_SetDirectionPin(&psGpioInstancePtr, LedPinNumber, LedPinDirection);
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, LedPinNumber, 1);
xStatus = 0;
while(1)
{
XGpioPs_WritePin(&psGpioInstancePtr, LedPinNumber, 1);
print("LED(LD9) is ON\r\n");
usleep(1000000);
XGpioPs_WritePin(&psGpioInstancePtr, LedPinNumber, 0);
print("LED(LD9) is OFF\r\n");
usleep(1000000);
}
cleanup_platform();
return 0;
}
reference)
Xilinx gpiops API documents - https://xilinx.github.io/embeddedsw.github.io/gpiops/doc/html/api/xgpiops_8h.html
'FPGA(중단) > zynq' 카테고리의 다른 글
08 PL with AXI (0) | 2023.03.14 |
---|---|
07 PS MIO (0) | 2023.03.03 |
06 BRAM tutorial (0) | 2023.02.18 |
05 Keypad tutorial (0) | 2023.02.18 |
04 VGA tutorial (0) | 2023.02.18 |
Comments