RTOS操作系统多任务

yummy 阅读:527 2022-05-05 09:17:46 评论:0

一、实验目的

调用ZYNQ处理器核GPIO输入输出模块,在SDK下,基于RTOS多任务操作系统开发软件代码。

二、ZYNQ工程建立

三、新建bd以及ZYNQ处理器IP调用

1.新建bd文件

image.png2. 配置ZYNQ

image.png

image.png

3. 打开IP Catalog,Search输入GPIO,添加 AXI_GPIO:(添加IP也可以通过点击Diagram 上面的+号来添加):

我们添加两个AXI_GPIO,其中,axi_gpio_0用于输入IO,axi_gpio_1用于输出

image.png

4. 设置axi_gpio_0,勾选全部为输入,GPIO宽度1,其余不变,点击OK:

image.png

5.设置axi_gpio_1,勾选全部为输出,GPIO宽度4,其余不变,点击OK

image.png

6. 点击Diagram上方的Run Conection Automation自动连接信号:

image.png

7.点击Run Block Automation 生成ZYNQ对外的管脚,包括DDR3和其他引脚

image.png

8.最后,可以点击规整布线图标,重新布局:

9. 生成输出文件,生成顶层文件

image.png

10.完成之后点击工程管理栏->RTL ANALYSIS->Open Elaborated Design,然后切换视图 到I/O Planing分配管脚视图,分配管脚。分配完成之后管脚如下,我们按ctrl+s保存管脚约束 文件,文件名为gpio_input_output

image.png

11.工程管理栏直接点击生成比特文件。等待生成完成,生成完成之后,菜单栏File- >Export->Export Hardware导出硬件。我们的硬件部分设计到此结束。接下来我们开始软件 SDK开发,进行代码编写,debug。导出硬件需要勾选包含bit文件:

image.png

image.png

四、SDK下的代码开发

1.我们启动SDK。在工具栏File ->Launch SDK启动。 启动SDK后,可以看到默认带的一个硬件描述工程。我们新建一个app工程。File->New- >Application Project,然后,工程名rtos_multi_task,OS platform 下拉选择 freertos10_xilinx,点击NEXT

   image.png

2. 然后,点击选择RTOS的helloword,点击finish

image.png

3.最后,rtos_multi_task工程中的freertos_hello_word.c中代码修改如下:我们一共三个任务, 一个是prvTxTask,负责定时发送信息到prvRxTask任务,还有一个是gpio_task,负责读取按 键状态然后反映到D1上。

image.png






本文 zblog模板 原创,转载保留链接!网址:https://xn--zqqs03dbu6a.cn/?id=52

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。