蹄牛操作系统TINIUX
ROS中文社区
查看: 3157|回复: 9

SmallRTOS在Xilinx(赛灵思)Zynq平台上的移植

[复制链接]
发表于 2015-8-18 12:33:27 | 显示全部楼层 |阅读模式
Turtlebot2
SmallRTOS在Xilinx(赛灵思)Zynq平台上的移植

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

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

dsfd.PNG

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

adf.PNG

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

smallrtos1.PNG

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

smallrtos2.PNG

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

smallrtos3.PNG

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

smallrtos4.PNG



回复

使用道具 举报

蹄牛操作系统TINIUX技术论坛
 楼主| 发表于 2015-8-18 13:40:41 | 显示全部楼层
MakeBlock
本帖最后由 RTOS 于 2015-8-21 22:33 编辑

附件是我们这次移植产生的SDK工程,供感兴趣的朋友下载参考使用。

project_1.sdk.zip (4.48 MB, 下载次数: 500)
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-8-18 12:40:39 | 显示全部楼层
SeeedStudio
在此基础上,我们创建板级支持包BSP工程,点击SDK菜单下的
File->New->Board Support Package

smallrtos5.PNG

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

smallrtos6.PNG

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

smallrtos7.PNG

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

smallrtos8.PNG

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

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-18 12:45:32 | 显示全部楼层
接着,就可以创建应用程序了。
SDK的菜单中点击File->New->Application Project,如下图所示:

smallrtos10.PNG

SDK的弹出对话框中,填写应用程序的名字,比如SmallRTOSDemo等,板级支持包选择已经创建的工程standalone_bsp_0。之后点击按钮Next
smallrtos11.PNG
此时会出现示例工程选择对话框,如下所示,可以根据需要自行选择,我们选择Empty Application
smallrtos12.PNG
点击按钮Finish后,应用工程就创建完毕了,不过此时应用工程是空的,还无法使用。接下来我们向应用程序SmallRTOSDemo中添加代码文件。
smallrtos13.PNG

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-18 12:53:26 | 显示全部楼层
本帖最后由 RTOS 于 2015-8-21 20:54 编辑

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


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

smallrtos14.PNG

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

smallrtos15.PNG

右键点击工程SmallRTOSDemo,在弹出菜单栏中选择Properties
smallrtos16.PNG
此时SDK弹出编译环境配置对话框,选择C/C++ General -> Paths and Symbols,打开Include小贴签项,点击Add按钮。
smallrtos17.PNG

出现如下配置提示框,点击Workspace按钮
smallrtos18.PNG
在弹出框中,选择工程SmallRTOSDemo下的src文件夹,点击OK
smallrtos19.PNG
路径会显示到Directory的编辑框里,点击OK按钮即可。
smallrtos20.PNG

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-18 12:59:11 | 显示全部楼层
本帖最后由 RTOS 于 2015-8-21 20:55 编辑

按照同样方式添加SmallRTOSOSCPU路径,如下图所示。
smallrtos21.PNG
smallrtos22.PNG
smallrtos23.PNG
smallrtos24.PNG


添加完毕后,路径会显示在列表中,如下图所示:
smallrtos25.PNG
此时点击Apply按钮,使配置参数生效,此时弹出对话框如下所示,点击Yes即可。
smallrtos26.PNG
上述对话框退出后, 点击上图OK按钮,退出路径配置对话框。此时工程会重新编译。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-18 13:04:18 | 显示全部楼层
本帖最后由 RTOS 于 2015-8-21 20:57 编辑

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

smallrtos28.PNG

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

smallrtos29.PNG

工程在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)

smallrtos27.PNG
回复 支持 反对

使用道具 举报

发表于 2015-9-6 14:04:35 | 显示全部楼层
图文并茂,讲解的很详细
回复 支持 反对

使用道具 举报

发表于 2016-2-15 15:33:13 | 显示全部楼层
RTOS 发表于 2015-8-18 13:40
附件是我们这次移植产生的SDK工程,供感兴趣的朋友下载参考使用。

学习了,讲的很好。资料下载不了。
回复 支持 反对

使用道具 举报

发表于 2017-3-31 13:52:05 | 显示全部楼层
学习了,赞一个。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|智能硬件开发社区 ( 京ICP备14010787号 )

GMT+8, 2019-2-23 15:36 , Processed in 0.076067 second(s), 19 queries .

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表