Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SDK
zynq
zedboard
基于ZYNQ的RT-Thread移植
发布于 2021-02-09 12:42:56 浏览:7122
订阅该版
[tocm] [视频展示及原文链接](https://mp.weixin.qq.com/s/MtgW7RFm5YzB1xALrp6Tng) ### 一、功能简介 1) 在window系统中将rtthread移植到zynq 2) 在sdk中实现无bsp的zynq工程调试 3) 在zynq中演示rtthread的shell功能 ### 二、配置需求 操作系统 Windows 10 开发环境 SDK 2018.3 硬件支持 Zedboard RT-Thread V4.0.3 ### 三、移植步骤 1) 下载RT-Thread源代码并解压。当前示例代码版本4.0.3。 ``` RT-Thread源代码下载地址 https://gitee.com/rtthread/rt-thread ``` 2) 创建Zedboard空工程。 ``` 示例工程路径 G:\myLab\SDK\RTT ``` 选择File->New->Project...弹出New Project视图,选择C/C++->C Project,点击Next>。 ![创建空工程.png](https://oss-club.rt-thread.org/uploads/20210209/7bc4d9eeff4b9c53e3d09b80e9095ef9.png) ![创建空工程2.png](https://oss-club.rt-thread.org/uploads/20210209/74fadd8601c20f8958f6a186d257b1a1.png) 在弹出的C Project配置视图中输入工程名称rtt,工程类型Project type选择Othres->Xilinx ARM v7 Executable,点击Next>。 ![创建空工程3.png](https://oss-club.rt-thread.org/uploads/20210209/166b673b4c508e8e059543797c720e72.png) 勾选Debug、Release选框,点击Finish完成空工程的创建。 ![创建空工程4.png](https://oss-club.rt-thread.org/uploads/20210209/f24ee281bf2230093209f23f7400ee00.png) 3) 将解压后的rtthread源码文件夹拷贝到项目路径中。 ``` 示例项目路径 G:\myLab\SDK\RTT\rtt ``` 更新后项目文件可能并未刷新,可以在Project Explorer视图中选中项目文件夹rtt,单击F5刷新,也可在右键快捷菜单中单击Refresh。 ![导入rtthread.png](https://oss-club.rt-thread.org/uploads/20210209/e803bff0e58bbb92304f2de7c747dc9d.png) 4) 删除冗余文件。本示例仅针对Zedboard移植rtthread的内核并实现shell功能,因此删除源码的未用组件以避免繁杂的库目录包含操作。示例工程未采用scons构建工具,其相关文件均可删除。 ``` 示例内核路径 G:\myLab\SDK\RTT\rtt\rt-thread ``` 打开内核bsp文件夹,删除除zynq7000外的所有文件夹; 打开内核components文件夹,删除除drivers、finsh外的所有文件夹; 打开内核components\drivers文件夹,删除除include、serial、src外的所有文件夹; 删除内核documentation文件夹; 删除内核examples文件夹; 打开内核libcpu文件夹,删除除arm外的所有文件夹; 打开内核libcpu\arm文件夹,删除除zynq7000外的所有文件夹; 删除内核tools文件夹。 5) 设置头文件路径。在rtt项目文件夹上单击鼠标右键,选择Properties。在弹出的Properties for rtt视图左侧选择C/C++ Build->Settings。在右侧Settings界面选择Tool Settings->ARM v7 gcc compiler->Directories。在Include Paths中依次添加需要的内核头文件库目录,单击Apply应用配置变更。 ``` //示例内核头文件目录 G:\myLab\SDK\RTT\rtt\rt-thread\include G:\myLab\SDK\RTT\rtt\rt-thread\bsp\zynq7000 G:\myLab\SDK\RTT\rtt\rt-thread\bsp\zynq7000\drivers G:\myLab\SDK\RTT\rtt\rt-thread\libcpu\arm\zynq7000 G:\myLab\SDK\RTT\rtt\rt-thread\components\finsh G:\myLab\SDK\RTT\rtt\rt-thread\components\drivers\include ``` ![头文件配置.png](https://oss-club.rt-thread.org/uploads/20210209/49a93b145bb5b4a689fe475c8a7320bf.png) 6) 添加链接配置文件。在右侧Settings界面选择Tool Settings->ARM v7 gcc linker->Linker Script。在Linker Script中添加需要的链接配置文件。单击Apply应用配置变更。 ``` 示例链接配置文件路径 G:\myLab\SDK\RTT\rtt\rt-thread\bsp\zynq7000\zynq7000.ld ``` 7) 修改命令控制台串口。以Zedboard的J14作为控制台交互串口,修改内核配置文件rtconfig.h中宏定义RT_CONSOLE_DEVICE_NAME,由"uart0"改为"uart1"。 ``` 示例内核配置文件路径 G:\myLab\SDK\RTT\rtt\rt-thread\bsp\zynq7000\rtconfig.h ``` 8) 添加规范约束文件。在右侧Settings界面选择Tool Settings->ARM v7 gcc linker->Miscellaneous。在Linker Flags中输入-specs="../Xilinx.spec"。单击Apply应用配置变更,单击OK退出。 在项目文件夹rtt下新建规范约束文件Xilinx.spec,刷新项目文件夹,编译,编译通过。 规范约束文件Xilinx.spec内容如下。 ``` *startfile: crti%O%s crtbegin%O%s ``` 9) 创建硬件平台。选择File->New->Application Project弹出New Project视图,输入工程名称zedboard,目标硬件平台选择zed_hw_platform(pre-defined),单击Finish完成硬件平台的创建。 ![创建硬件平台.png](https://oss-club.rt-thread.org/uploads/20210209/1f565ae1e2d4a0d7c3398a077d4b99a5.png) 创建硬件平台仅为对移植后的rtthread进行调试,因此可在工程中删除生成的zedboard项目及对应的zedboard_bsp。 10) 启动调试。调试配置如下,注意elf文件需要自己手动选择。 ![调试配置.png](https://oss-club.rt-thread.org/uploads/20210209/7959ef0ccdef972bb813c285dc214f0d.png) ![调试配置2.png](https://oss-club.rt-thread.org/uploads/20210209/4105a893bc8d1c2be8083019ed6bd759.png) ### 四、资源链接 工程链接 https://pan.baidu.com/s/1TwRybJ8WLEfKMO_DqH_nPg 提取码 8wnp
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
嵌入式男单第九名
这家伙很懒,什么也没写!
文章
1
回答
3
被采纳
0
关注TA
发私信
相关文章
1
RT thread studio SDK无法下载
2
SDK添加 F3支持包:
3
RT-Thread使用的学习手册
4
柿饼M3 SDK 怎么开一个线程
5
RT-Thread Studio 只有目前联网的sdk么?
6
SDK如何添加其他芯片支持包
7
升级按钮跑了 RT-Thread Studio SDK Manager
8
RT-Thread studio 更新与SDK下载问题
9
能不能在RTS里把每个芯片,开发板的SDK做个如git上一样的星级评价
10
麻雀1号开发板sdk中无法正常调用app_demo_softap.c的函数
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
11
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部