ZYNQ移植ThreadX demo
本次演示是基于vivado 2018.3版本完成的。硬件是7020 512M DDR 7010与7020的arm a9核是相同的,可以直接参考自己的硬件进行创建自己的工程。
本次的原始工程文件连接在论坛中已经可以找到。下载并解压,使用其中的xilinx下的文件。
当前创建的threadx工程文件除了tx_initialize_low_level.S文件其余都是基于最新的6.1.9版本
1、 创建Vivado工程
图 1
我们创建一个名为Ailurus的工程:
图 2
一路Next
图3
图 4
图 5
处理器选择:
图 6
图 7
到这里电机Finish即可.
2.配置ZYNQ处理器及其相关外设
图 8
创建新bd文件,使用默认名design_1。
图 9
点击+号,输入zynq, 提示zynq处理器双击:
图 10
我的硬件配置如此,自己可以根据自己的硬件进行配置即可
图 11
DDR 配置:
图 12
点击OK,确认,并如图所示连接:
图 13
我们电机下方红线处,验证我们的最小系统设计,如果没有问题进入下一步。
图 14
图 15
生成HDL 文件,再次点击Generate Output Products:
图 16
点击Generate Bitstream:
图 17
完成后,到处bit文件到xSDK中
图 18
方便后期的Petalinux等设计使用。
一定要勾选Include bitstream
图 19
启动SDK:
图 20
2、 创建ThreadX 链接库:
File->New->Other->Xilinx->Library Project
点击Next:
图 21
修改如红线处:
图 22
我们把从github上下载好的文件的threadx->common中的inc与src文件夹和 Port->cortex_a9->gnu中的inc与src文件夹内容全部拷贝到,当前工程的src文件夹中,
同时解压文件夹下的src目录下tx_initialize_low_level.S拷贝到当前工程的src文件夹下。
同时将下原文件夹中的common_file文件夹拷贝到工程文件夹下面:
工程文件夹下面文件:
图 23
这个时候我们点击编译,我们可以看到已经成功生成了libtx.a库文件:
图 24
3、 创建ThreadX例程:
File->New->Application Project,创建一个名为demo_threadx的工程,注意红线部分的选项:
第一次创建应用,我们选择基于当前的platform创建一个新的bsp。
图 25
选择Hello World:
图 26
我们首先编译当前的Hello World 确认无误后继续下一步:
图 27
4、 修改编译选项
添加common_file文件夹:
我们右键项目->New->Other->General->Floder->Next->Advance->Link To alternate location (Linkerd Floder)->Finish
图 28
图 29
这时候我们将HelloWorld.c文件修改为我们下载的demo中的demo_threadx.c文件并且编译:
出现error: tx_api.h: No such file or directory错误, 因为该文件在tx库工程中,我们在demo_threadx工程中添加对应的include文件夹以及对应的库的文件夹:
右键demo_threadx工程,
属性->C/C++ Build->Settings->ARM v7 Gcc compiler->Inferred Options->SoftWare Platform增减/tx/src文件夹:
C/C++ Build->Settings->ARM v7 Linker -> Libraries增减之前生成的tx库;
在C/C++ Build->Settings->ARM v7 Linker -> Inferred Options->SoftWare Platform中增加对应库的文件夹。
图 30
图 31
此时我们重新进行编译:
图 32
编译完成,进行一下测试:
右键工程,Debug As -> Debug Configurations->Xilinx C/C++ application (System Debuger)
图 33
图 34
至此,demo_threadx工程创建完毕:
<center>**图 35**</center>
其余的关于FileX、USBX、NetX的工程创建可以按照这个创建,他们都依赖于libtx.a库,
比如USBX,NetX等同时还依赖于FileX的库,NetX需要按照自己的phy芯片修改对应驱动,其余的就可以按照此例子在对应位置添加对应文件以及目录即可。
这是早些时候的测试版本:
<center>**图 36**</center>
网络测试:
图 37
ZYNQ移植ThreadX demo相关推荐
- 【M32】F103CBTx 移植 ThreadX
文章目录 1.配置 2.移植 3.适配 4.运行 5.运行 参考 交流 1.配置 取消 Pendable request for system service 和 System tick timer ...
- ThreadX应用开发笔记之二:移植ThreadX到STM32H7平台
前面我们将ThreadX成功移植到了STM32F4平台,但这只是我们的部分应用.我们希望将ThreadX的优势发挥到我们的更多应用中,所以在这一篇中我们就来实现将ThreadX移植到STM32H7 ...
- Zynq移植USB触摸屏
Zynq平台移植USB触摸屏的实现(Qt5.7) 使用的环境: 1. CPU type:ARM CortexA9(Xilinx zynq7000)(使用的是黑金AX7021开发板) 2. Kernel ...
- freertos zynq 移植_Zynq-7000 FreeRTOS(一)系统移植配置
软件版本:VIvado HLx 2018.2 从FreeRTOS的官网中下载源代码: https://www.freertos.org/a00104.html 图:FreeRTOS的官网 上图中,点击 ...
- YOLO算法的ZYNQ移植尝试(SDx方法、ARM部分)
尝试直接从官网移植 1. 需要将include/darknet.h文件copy到src 2. 发现老是报错,说代码有问题network net = parse_network_cfg(cfgfile) ...
- zynq 移植ubuntu_ROS ZYNQ移植
1 准备工作 apt-get install python-rosdep python-rosinstall-generator python-wstool build-essential 出现错误 ...
- Xilinx Zynq移植过程备忘录
一.基础概念: 1.Zynq Linux启动流程: 步骤 Step1 Step2 Step3 Step4 Step5 Zynq BootROM FSBL U-boot Kernel BootFS 说明 ...
- STM32H743+CubeMX-移植ThreadX
文章目录 一.前言 二.STM32CubeMX 2.1.新建工程 2.2.配置RCC 2.3.配置Clock Configuration 2.4.配置Debug方式 2.5.使能CPU ICache与 ...
- FreeRTOS — 源码下载与移植
1.FreeRTOS的学习 1.1.FreeRTOS的源码下载 学习一个操作系统前,首先要下载对应的源码,用于研究和学习.FreeRTOS的源码下载链接如下: FreeRTOS Real Time K ...
最新文章
- 让Win10文件管理器的详细信息窗格显示更多信息
- 【Python】用 Python 帮财务小妹生成 Excel 报表,小妹直说一辈子。。。
- mysql的学习笔记
- Maven入门极简使用教程
- OPENCV图像变换-1
- python中if语句求最大值_python 判断三个数字中的最大值实例代码
- JavaScript获取select下拉框中的第一个值
- opengl双三次bezier曲面_试驾艾瑞泽5 PLUS:双外观设计,搭L2级全速域驾驶辅助,月销要破万?...
- Java并发编程-ConcurrentHashMap
- RabbitMQ使用代码示例
- 【图像融合】基于matlab GUI简单+拉普拉斯金字塔算法图像融合【含Matlab源码 780期】
- 计算机专业考试系统,计算机基础考试系统
- 【macOS】Desktop桌面文件突然消失不见解决办法
- dmz和端口映射_DMZ和端口映射有何区别
- ios视频播放器封装(全屏播放,锁屏、手势调节亮度、音量、进度)
- VRay3.4 for SketchUp之次表面散射材质(3S材质)
- java 类的加载机制详解
- 牛客高级项目课(仿牛客网)笔记
- ai人工智能语音分析系统_语音应用搜索正在改变语音AI是领先者
- 小米2017校园招聘笔试题