正点原子——Hello World实验

1.1简介

zynq嵌入式系统开发流程

 开发流程大体可以分为 6 步。其中 step1 至 step4 为硬件设计部分,在 Vivado 软件中实现; step5 为软件设计部分,在 SDK 软件中实现;step6 为功能的验证

1.2实验任务 

1.3硬件设计

        1.3.1创建Vivado工程

        1.3.2使用IP Intergrator 创建Processing System

PS-PL Configuration页面能够配置PS-PL接口,包括AXI、HP和ACP总线接口。
Peripheral IO Pins 页面可以为不同的UO外设选择MIO/EMIO配置。
MIO Configuration页面可以为不同的IO外设具体配置MIO/EMIO。
Clock Configuration页面用来配置PS输入时钟、外设时钟,以及 DDR和CPU时钟等。DDR Configuration页面用于设置DDR控制器配置信息。
SMC Timing Calculation页面用于执行SMC 时序计算。Interrupts页面用于配置PS-PL中断端口。

PS 和外部设备之间的连接主要是通过复用的输入/输出(Multiplexed Input/Output,MIO)来实现的。 PS 的 54 个 MIO 引脚可以用于连接不同的外设接口

        1.3.3生成顶层 HDL 模块

1.Generate Output Products

2.Generate Output Products

        

如果设计中使用了 PL 的资源,则需要添加引脚约束并对该设计进行综合、实现并生成 Bitstream 文件。

1.导出硬件。 在菜单栏选择 File > Export > Export hardware

2.硬件导出完成后,在菜单栏中选择 File > Launch SDK,启动 SDK 开发环境

1.4 软件设计        

在硬件设计的最后,我们启动了软件开发环境(SDK,Software Development Kit),如下图所示:  

     

SDK 打开后,主页面会显示硬件描述文件 system.hdf 的内容,system.hdf 标签页显示 了整个 PS 系统的地址映射信息。 

在启动 SDK 之前,我们将硬件以一个 ZIP 压缩文件(system_wrapper.hdf)的形式导 出到软件的工作空间。在 SDK 启动时,该文件会自动解压,大家可以在图 1.4.1 的左侧看到解压后的所有 文件。其中,前四个文件(ps7_init_gpl.c、ps7_init_gpl.h、ps7_init.c 和 ps7_init.h)包含了 Zynq SOC 处理系 统的初始化代码,以及 DDR、时钟、pll 和 MIO 的初始化设置信息。在初始化过程中,SDK 使用这些信息 去配置相应的模块,使得应用程序能够在 PS 上运行。

1.5在 SDK 中创建应用工程

在菜单栏选择 File > New > Application Project, 新建一个 SDK 应用工程。

SDK 创建了一个 hello_world 应用工程和 hello_world_bsp 板级支持包(BSP)工程。同时工具会自 动对工程进行编译,并生成 ELF 文件“hello_world.elf”

                

#incldue<stdio.h>
#include"platform.h"
#include"xil_printf.h"

int main()
{
    init_platform();

    printf("hello world");

    cleanup_platfor();

    return 0;
}

init_platform 函数的作用是使能 caches 和初始化 uart;

cleanup_platform 函数的作用是取消使 能 caches

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值