首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» Adam Taylor玩转MicroZed系列48:裸机AMP(非对称多进程处理模式)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Adam Taylor玩转MicroZed系列48:裸机AMP(非对称多进程处理模式)
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-1-5 19:05
|
只看该作者
Adam Taylor玩转MicroZed系列48:裸机AMP(非对称多进程处理模式)
软件工程
,
Taylor
,
处理器
,
存储器
,
博客
作者:Adam Taylor
在上一篇博客中,我们已经将Zynq SoC启动并运行起来,在AMP(非对称多进程处理)模式下使用了两个ARM Cortex-A9 MPCore处理器,然而因为上一篇博客已经相当长了,我没有详细的介绍软件方面的工程细节。
其实 在两个处理器上运行的软件工程也非常的简单。这里我将为你们展示通过OCM(片上存储器件)实现Zynq SoC的两个处理器之间的通信。然而,现在的软件工程非常的简单,因此我们可以从这个基础工程开始,继续完善。
上周我们完成的例子中的软件工程主要完成以下几个任务:
• Core 0 是主设备,它可以激活Core 1。它也利用了片上的UART串口以固定的延迟向一个终端输出打印信息。这个延迟不适用定时计数器等,尽管在这里使用私有的定时计数器很容易,我将在后面的博客中介绍同时使用两个私有的定时计数器。
• 一旦Core 0 启动起来,Core 1初始化它的私有资源,输出切换信号,控制位于MicroZed I/O扩展板上的八个LED灯亮灭,这里我们需要使用Core 1私有的定时计数器和通过GIC使能中断,实现以上功能。
这些应用程序之间是没有联系的,它们并不分享资源。然而,接下来我们想让这些应用程序之间能够通信,分享资源。
运行在 Core 0上的应用程序是非常简单的。它主要实现的是激活运行在Core 1上的应用程序,然后在一个无限循环中通过UART 0输出打印出一段简单的信息。
然而,我们计划使用Core 1的中断控制器,所以第一步我们必须配置GIC(通用中断控制器),将下图所示的代码加入到Core 0的应用程序的源代码文件中:
Core 1的应用程序代码可能要更加复杂一些,因为我们要在Zynq SoC的PL(可编程逻辑)部分调用GPIO模块,用于驱动控制MicroZed I/O扩展板上的LED灯。同赛灵思其他的接口一样,standalone OS使用一句 #include “xgpio.h”代码就提供了gpio接口的驱动信息,这个文件与我们之前驱动PS部分的MIO/EMIO GPIO接口所使用的xgpio_ps.h文件有一些小的不同,在这个例程中我想为大家展示如何在Zynq SoC的PL部分使用GPIO接口。
为了确保我们能够看出LED灯的亮灭状态的切换,我们将使用Core 1私有的定时器,这与我们之前使用Core 0定时器是一样的。
在 Core 1的程序开始执行它的主程序之前,我们需要禁止片上存储(OCM)的缓存功能,初始化GPIO接口,初始化私有的定时器,和配置中断控制器,这样私有的定时器中断才能够被用来控制LED灯亮灭状态的切换。我们将使用Zynq SoC应用程序和禁止缓存的异常机制完成这些功能。
现在我们可以开始编写相当简单的中断服务程序,当私有的定时器计时结束然后重新计时时,这些中断服务程序就能够控制LED灯的亮灭。这个处理过程会一直进行,我选择使用十六进制的AA和55交替转变赋值给LED灯,控制LED灯的亮灭状态。这个选择将会是所有的LED灯“流动起来”,与所有LED灯的全亮或者全灭状态是有一些区别的。
下图是程序执行的结果,通过Core 0输出到终端对话框窗口:
在接下来的几篇博客中,我们将更加详细的介绍处理器之间的通信方法,我们怎样能够使用OCM和中断实现处理器之间的通信,我们怎样做才能够在两个处理器之间分享资源,在一个系统中不同任务之间有很多需要分享的资源,他们之间要实现通信机制。
原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...
© Copyright 2014 Xilinx Inc.
如需转载,请注明出处
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议