嵌入式技术论坛
直播中

王尚岱

8年用户 1501经验值
擅长:电源/新能源
私信 关注
[经验]

浅析在Windows系统中将RT-Thread移植到Zynq的步骤

一、功能简介
在window系统中将rtthread移植到zynq
在sdk中实现无bsp的zynq工程调试
在zynq中演示rtthread的shell功能
二、配置需求

三、移植步骤
下载RT-Thread源代码并解压。当前示例代码版本4.0.3。

创建Zedboard空工程。

选择File->New->Project...弹出New Project视图,选择C/C++->C Project,点击Next>。


在弹出的C Project配置视图中输入工程名称rtt,工程类型Project type选择Othres->Xilinx ARM v7 Executable,点击Next>。

勾选Debug、Release选框,点击Finish完成空工程的创建。

将解压后的rtthread源码文件夹拷贝到项目路径中。

更新后项目文件可能并未刷新,可以在Project Explorer视图中选中项目文件夹rtt,单击F5刷新,也可在右键快捷菜单中单击Refresh。

删除冗余文件。本示例仅针对Zedboard移植rtthread的内核并实现shell功能,因此删除源码的未用组件以避免繁杂的库目录包含操作。示例工程未采用scons构建工具,其相关文件均可删除。

打开内核bsp文件夹,删除除zynq7000外的所有文件夹; 打开内核components文件夹,删除除drivers、finsh外的所有文件夹; 打开内核components\drivers文件夹,删除除include、serial、src外的所有文件夹; 删除内核documentation文件夹; 删除内核examples文件夹; 打开内核libcpu文件夹,删除除arm外的所有文件夹; 打开内核libcpu\arm文件夹,删除除zynq7000外的所有文件夹; 删除内核tools文件夹。
设置头文件路径。在rtt项目文件夹上单击鼠标右键,选择Properties。在弹出的Properties for rtt视图左侧选择C/C++ Build->Settings。在右侧Settings界面选择Tool Settings->ARM v7 gcc compiler->Directories。在Include Paths中依次添加需要的内核头文件库目录,单击Apply应用配置变更。


添加链接配置文件。在右侧Settings界面选择Tool Settings->ARM v7 gcc linker->Linker Script。在Linker Script中添加需要的链接配置文件。单击Apply应用配置变更。

修改命令控制台串口。以Zedboard的J14作为控制台交互串口,修改内核配置文件rtconfig.h中宏定义RT_CONSOLE_DEVICE_NAME,由"uart0"改为"uart1"。

添加规范约束文件。在右侧Settings界面选择Tool Settings->ARM v7 gcc linker->Miscellaneous。在Linker Flags中输入-specs="../Xilinx.spec"。单击Apply应用配置变更,单击OK退出。 在项目文件夹rtt下新建规范约束文件Xilinx.spec,刷新项目文件夹,编译,编译通过。 规范约束文件Xilinx.spec内容如下。

创建硬件平台。选择File->New->Application Project弹出New Project视图,输入工程名称zedboard,目标硬件平台选择zed_hw_platform(pre-defined),单击Finish完成硬件平台的创建。

创建硬件平台仅为对移植后的rtthread进行调试,因此可在工程中删除生成的zedboard项目及对应的zedboard_bsp。

启动调试。调试配置如下,注意elf文件需要自己手动选择。


四、结果展示

原作者:**** 嵌入式男单第九名 刘广信

更多回帖

发帖
×
20
完善资料,
赚取积分