【Xilinx-Petalinux学习】-08-OpenAMP系统实现

本文介绍了如何在Xilinx PetaLinux环境中配置OpenAMP系统,包括创建standalone应用工程、添加OpenAMP支持、修改设备树配置,并详细讲述了在Linux和裸机核之间进行OpenAMP程序测试的过程,遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

openAMP系统实现。

一个核跑Linux,一个核裸跑。     ----->  已经实现。

一个核跑Linux,一个核跑UCOS   ----->  还未实现。

Micrium的ucos OpenAMP例子与Xilinx的例子框架结构有些不同,尝试修改共享内存基地址、改变程序结构,还未成功。先放一放,以后再来实验,或者等Micrium给出官方的例程~~~~TT

 

step1: openAMP框架介绍

参考文档:ug1186

 

step2: 创建standalone应用工程

从Vivado中Export Hardwre(Include bitstream)后,点击Launch SDK打开Xilinx SDK开发工具。

这一次我们需要实现在裸机上运行AMP架构的程序。

首先创建BSP:File -> New -> Board Support Package

对话框的选项按下面配置:

Hardware Platform :选择从vivado中输出的平台名称
CPU :选择ps7_cortexa9_1,(即第二个arm核,第一个用来运行Linux和作为AMP的主机)
BSP OS platform :选择standalone

点击Finish按键,进入BSP的详细配置界面:

 

Overview,库支持中选中xilopenamp
standalone选项,stdin和stdout需要选择与Linux系统(ps_uart1)不同的串口
drivers->ps7_cortexa9_1,修改 extra_compiler_flags的值,加入“-DUSE_AMP=1”

#-DUSE_AMP=1说明
#Add -DUSEAMP=1 to the extra_compiler_flags to disable the definition of
#low-level read, write, and open operations. 
#This also disables the vector table location in
#the tightly-coupled memory (TCM).

点击OK,BSP就配置完成了,等待Xilinx SDK自动生成各种文件。

 

接着,需要依赖这个BSP去创建OpenAMP的应用程序。

针对裸机standalone,软件内提供了三个例子:echo-test,matrix multiplication Demo,RPC Demo。如下图:

我们直接调用例子,生成三个OpenAMP应用程序。编译后,我们就能够在每个应用工程的Debug文件夹下,找到需要的裸机elf可执行文件。

编译时候有一些警告,官网查到说不用理会这些。警告有:

in expansion of macro 'XScuGic_EnableIntr'
in expansion of macro 'XScuGic_DisableIntr'
implicit declaration of function 'Xil_Out32' [-Wimplicit-function-declaration]
implicit declaration of function 'Xil_In32' [-Wimplicit-function-declarati
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值