一、AMP运行模式
从软件的角度来看,多核处理器的运行模式有三种:
AMP(非对称多进程):多个核心相对独立的运行不同的任务,每个核心可能运行不同的操作系统或裸机程序,但是有一个主要核心,用来控制整个系统以及其它从核心。
SMP(对称多进程):一个操作系统同等的管理各个内核,例如PC机。
BMP(受约束多进程):与SMP类似,但开发者可以指定将某个任务仅在某个指定内核上执行
默认情况下,ZYNQ仅运行一个CPU,这里主要研究AMP模式下,两个CPU同时运行。
本次实验目的:
让zynq的两个核心跑不同的程序:
1、CPU0用UART打印消息。
2、CPU1跑流水灯的程序。
二、创建工程
1、创建并设置bd文件
根据自己的板子创建一个zynq工程、创建一个bd文件,添加zynq的核。双击打开、选中UART和SD卡:
再根据自己板子选择是否选择EMIO(如果LED连接到PL端则需要选择)和EMIO所需要的位数。
创建完成之后:
1、右击原理图,生成输出文件(Create HDL Wrapper)
2、右击原理图,生成顶层文件(Create Output Products…)
添加约束文件:
set_property PACKAGE_PIN N20 [get_ports {
GPIO_0_tri_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {
GPIO_0_tri_io[0]}]
set_property PACKAGE_PIN P20 [get_ports {
GPIO_0_tri_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {
GPIO_0_tri_io[1]}]
set_property PACKAGE_PIN P19 [get_ports {
GPIO_0_tri_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {
GPIO_0_tri_io[2]}]
set_property PACKAGE_PIN Y19 [get_ports {
GPIO_0_tri_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {
GPIO_0_tri_io[3]}]
set_property PACKAGE_PIN V12 [get_ports {
GPIO_0_tri_io[
今天的文章ZYNQ双核运行简例分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/61319.html