在Zynq平台运行SmallRTOS实时操作系统详细步骤

FPGA/ASIC技术

190人已加入

描述

SmallRTOS是一个源代码开放的、易于移植的、面向深度嵌入式应用的微内核实时操作系统,主要应用领域为工业控制,智能传感器开发,智能终端等。下面我们逐步演示如何在Zynq平台运行SmallRTOS实时操作系统。
 

我们从Vivado导出硬件顶层设计包开始,如下图所示点击菜单File->Export->Export Hardware

RTOS

Vivado会弹出如下对话框,我们不做任何修改,直接点击OK按钮

RTOS

然后通过Vivado启动软件开发套件工具SDK,点击菜单File->Launch SDK

RTOS

Vivado会弹出如下提示对话框,采用默认设置,直接点击OK按钮

RTOS

此时软件开发套件SDK会启动,并提示正在导入硬件顶层设计包,如下图所示:

RTOS

导入完毕,我们在SDK左侧栏可以看到导入的硬件顶层设计包design_1_wrapper_hw_platform_0

RTOS

在此基础上,我们创建板级支持包BSP工程,点击SDK菜单下的File->New->Board Support Package

RTOS

SDK弹出如下配置对话框,采用默认命名,默认参数即可,直接点击Finish按钮。

RTOS

接着弹出如下对话框,选择根据需要选择板级支持包的功能组件,我们选择如下三个组件:lwip,xilffs,xilrsa等

RTOS

点击OK按钮后,弹出如下进度提示框,表示正在生产BSP板级支持包。

RTOS

生成完毕后,在左侧栏会出现如下所示的两个工程:

RTOS

接着,就可以创建应用程序了。
在SDK的菜单中点击File->New->Application Project,如下图所示:

RTOS

在SDK的弹出对话框中,填写应用程序的名字,比如SmallRTOSDemo等,板级支持包选择已经创建的工程standalone_bsp_0。之后点击按钮Next

RTOS

此时会出现示例工程选择对话框,如下所示,可以根据需要自行选择,我们选择Empty Application

RTOS

点击按钮Finish后,应用工程就创建完毕了,不过此时应用工程是空的,还无法使用。接下来我们向应用程序SmallRTOSDemo中添加代码文件。

RTOS

打开SmallRTOS压缩包如下路径DemoCORTEX_A9_Zynq_Zedboard_SDKSmallRTOSDemosrc,把其中的.c文件及.h文件连同SmallRTOS文件夹一起拷贝到刚刚创建的SmallRTOSDemosrc文件夹下;注意,lscript.ld文件也要拷贝过去,这个文件里面配置有SmallRTOS的汇编入口地址。

此时,右键点击工程SmallRTOSDemo,在弹出菜单中点击Refresh。

RTOS

一般情况下Refresh完毕后,工程会自行编译,此时会提示报错信息,这是因为部分路径还没有指定,一些文件找不到。

RTOS

右键点击工程SmallRTOSDemo,在弹出菜单栏中选择Properties

RTOS

此时SDK弹出编译环境配置对话框,选择C/C++ General -> Paths and Symbols,打开Include小贴签项,点击Add按钮

RTOS

出现如下配置提示框,点击Workspace按钮

RTOS

在弹出框中,选择工程SmallRTOSDemo下的src文件夹,点击OK。

RTOS

路径会显示到Directory的编辑框里,点击OK按钮即可。

RTOS

按照同样方式添加SmallRTOS的OS及CPU路径,如下图所示。

RTOS

RTOS

RTOS

RTOS

添加完毕后,路径会显示在列表中,如下图所示:

RTOS

此时点击Apply按钮,使配置参数生效,此时弹出对话框如下所示,点击Yes即可。

RTOS

上述对话框退出后, 点击上图OK按钮,退出路径配置对话框。此时工程会重新编译。

若没有重新编译,可以右键点击SmallRTOSDemo工程,在弹出菜单栏点击Clean Project

RTOS

操作后,结果如下图所示:

RTOS

工程在Clean的同时,会重新编译,这次编译成功了,生成了SmallRTOSDemo.elf文件,出现如下编译后的结果:
arm-xilinx-eabi-sizeSmallRTOSDemo.elf |tee"SmallRTOSDemo.elf.size"
text data bss dec hex filename
52904 1944 33892 88740 15aa4 SmallRTOSDemo.elf
'Finishedbuilding: SmallRTOSDemo.elf.size'
' '
08:56:40 BuildFinished (took 4s.336ms)

RTOS

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分