-
Notifications
You must be signed in to change notification settings - Fork 0
zynq sdk使用流程
minichao9901 edited this page Jan 12, 2024
·
7 revisions
- 创建项目(小技巧: 可以勾选do not specify sources at this time。这样可以跳过提示创建rtl文件和xdc文件的过程。)
![image](https://private-user-images.githubusercontent.com/61445559/292668578-918be6e1-6bdb-4e60-97cc-6bb0b6b78e11.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMDI5MTEsIm5iZiI6MTczOTIwMjYxMSwicGF0aCI6Ii82MTQ0NTU1OS8yOTI2Njg1NzgtOTE4YmU2ZTEtNmJkYi00ZTYwLTk3Y2MtNmJiMGI2Yjc4ZTExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDE1NTAxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwYmZhMDljOTJhYWMwMWI3NDE1YmY4MmZmNmM5MmZiODNkMzViMWY1MTZhOTUzOGNhNzYwMDM3ZDRmNzg0NDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.L8q2uK5XVKFyvFI1wh7h2j6hcl2XpH14opEFjR_2HRA)
- 点击Create Block Design,并添加zynq和AXI GPIO这2个IP
- 双击zynq处理器,配置zynq处理器。基本上每一项都要配置到。
![image](https://private-user-images.githubusercontent.com/61445559/292668676-3cdbaf6b-423c-453a-874a-1f6ab93516fb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMDI5MTEsIm5iZiI6MTczOTIwMjYxMSwicGF0aCI6Ii82MTQ0NTU1OS8yOTI2Njg2NzYtM2NkYmFmNmItNDIzYy00NTNhLTg3NGEtMWY2YWI5MzUxNmZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDE1NTAxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNjNGVkZDg1ZmViYTgyODM0ZmJkMmZjOGZjYzU1YzZlYjUyOTExOGZiYWFiNWEyZTAwMTgyYzYzYWJjN2MzMjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.mqalzDx2XB16qROdVsOvT3TlGdLPJdAL7JYcDvEWM6g)
- 双击AXI GPIO,配置AXI GPIO
- 点击run block automation,让zynq处理器自动引出必须端口
- 点击run connection automation,让vivado自动添加必须的模块,并连线
- 可以手动修改pin的名字,如果有线没有连可以手动连线
- 点击Validate Design,看是否有错误
- Generate Output Products(选择Global), 然后Create HDL Wrapper...(必须先创建HDL Wrapper,才能进行下一步,否则提示找不到top文件)
说明:对于没有用到PL资源的例程,可以跳过10/11的过程,并在12中不要勾选include stream
10. Open Elaborate Design, 然后分配引脚, 然后保存为.xdc引脚约束文件
11. Generate Bitstream, 然后它会自动跑syn/impl/bitstream流程。最后,可选看生成的报告和电路图
- Export Hardware...注意要勾选include bitstream
- Open SDK...xilinx的SDK是Ecplise编辑器
- New->New Application Project...选择Next...选择模板Empty Application...
![image](https://private-user-images.githubusercontent.com/61445559/292669598-963b9328-e1e2-4639-ac0e-551f6279d0e1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMDI5MTEsIm5iZiI6MTczOTIwMjYxMSwicGF0aCI6Ii82MTQ0NTU1OS8yOTI2Njk1OTgtOTYzYjkzMjgtZTFlMi00NjM5LWFjMGUtNTUxZjYyNzlkMGUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDE1NTAxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFjYWU4MmRkNDAxNGNiYjRlZGY0YjNiZWVmOWZjNDYxNjEwYTczNWE3YWE0Y2Q1MTliMzBlODRmY2M1NDcxZmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RTeRzq3qJIlZRT-Q7AAo7vSM2ZtC6phMnOyFmf3Wmn8)
- 在src下右键,选择创建Source File,创建main.c
- 编写main.c程序
- 点击Window->Show view-> Other...,选择Terminal。打开Terminal后,配置Terminal串口终端,并点连接
- 点击run->run configurations..., 打开界面,如下配置,最后点击run
![image](https://private-user-images.githubusercontent.com/61445559/292669708-bbe05af7-399f-4bc8-be1c-5299a4b5b1ee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMDI5MTEsIm5iZiI6MTczOTIwMjYxMSwicGF0aCI6Ii82MTQ0NTU1OS8yOTI2Njk3MDgtYmJlMDVhZjctMzk5Zi00YmM4LWJlMWMtNTI5OWE0YjViMWVlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDE1NTAxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY2NzA3MTc1NThjMjQ3YzMxMDc4YTk5MTMwNjNkMGVkYmFlMjMzZThhMGZjOTMzYzVhZGFhYTgzYjUyODAzMWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.r6hMGfLrlRMbX2QlvxtSKIxD_hWlgyrqVR6B5fLJjiM)
- 可以看到Terminal串口终端会打印,并且按下按键,灯会亮。这说明程序运行正确。
![image](https://private-user-images.githubusercontent.com/61445559/292669891-9d04e9ab-9790-4a52-8196-1cac0ea4d1ac.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMDI5MTEsIm5iZiI6MTczOTIwMjYxMSwicGF0aCI6Ii82MTQ0NTU1OS8yOTI2Njk4OTEtOWQwNGU5YWItOTc5MC00YTUyLTgxOTYtMWNhYzBlYTRkMWFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDE1NTAxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThjYTQyZTA1YjU1NWI0OWM3YzgwOGY4NTllNmIyZDgxMTI3MjczYTBhZTEyNzc4MWQ3OTBjODg0MmQxMGNhYmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hbJiycSZZU00wYStUznzm1fW2oETX1SOmhy2Dm8dIjI)
- 方式1:复制工程文件夹并修改文件夹名字。删除其中的.sdk文件夹
- 方式2(推荐):我们打开上一个按键控制 LED 实验的 Vivado 工 程 , 点 击 菜 单 栏 File->Project->Save As , 在 弹 出 的 对 话 框 中 输 入 工 程 名 “emio_key_led”并更改工程保存的路径。同样需要删除其中的.sdk文件夹