嵌入式系统试验

合集下载

arm嵌入式实验报告

arm嵌入式实验报告

arm嵌入式实验报告ARM嵌入式实验报告近年来,随着科技的不断进步,嵌入式系统在各个领域得到了广泛应用。

作为其中一种重要的嵌入式处理器架构,ARM架构以其高效能和低功耗的特点,成为了众多嵌入式系统的首选。

本实验报告将介绍我在ARM嵌入式实验中的学习和体会。

1. 实验背景和目的嵌入式系统是指将计算机技术应用于各种电子设备中,以完成特定任务的系统。

ARM架构作为一种低功耗、高性能的处理器架构,广泛应用于智能手机、平板电脑、物联网设备等领域。

本次实验的目的是通过学习ARM架构的基本原理和应用,了解嵌入式系统的设计和开发过程。

2. 实验内容本次实验主要包括以下几个方面的内容:2.1 ARM架构的基本原理首先,我们学习了ARM架构的基本原理,包括指令集、寄存器、内存管理等方面的知识。

ARM指令集具有丰富的指令种类和灵活的寻址方式,可以满足不同应用的需求。

同时,ARM处理器具有多个寄存器,用于存储和操作数据,提高了程序的执行效率。

此外,内存管理是嵌入式系统设计中非常重要的一环,ARM架构通过虚拟内存管理机制,实现了对内存的高效管理。

2.2 ARM开发工具的使用为了进行ARM嵌入式系统的开发,我们需要使用相应的开发工具。

本次实验中,我们学习了如何使用Keil MDK开发工具,进行ARM程序的编译、调试和下载。

Keil MDK提供了一套完整的开发环境,包括编译器、调试器和仿真器等,方便了我们进行ARM程序的开发和调试。

2.3 ARM嵌入式系统的设计和开发在掌握了ARM架构和开发工具的基本知识后,我们开始进行ARM嵌入式系统的设计和开发。

本次实验中,我们以一个简单的温度监测系统为例,设计了相应的硬件电路和软件程序。

硬件电路包括传感器、模拟转换电路和显示器等,用于采集和显示温度数据。

软件程序则负责控制硬件电路的运行,并将采集到的温度数据进行处理和显示。

3. 实验结果和分析通过实验,我们成功地设计和开发了一个基于ARM架构的温度监测系统。

嵌入式系统实验报告

嵌入式系统实验报告

嵌入式系统实验报告引言嵌入式系统作为一种广泛应用于各行各业的计算机系统,其本身具有一定的难度与挑战。

本实验报告将围绕嵌入式系统的设计、开发以及应用展开讨论,旨在总结并分享在实验中所获得的经验与知识。

一. 实验背景嵌入式系统是指以特定功能为目标的计算机系统,其设计与开发过程相较于传统的计算机系统更为复杂和精细。

本次实验的主要目标是通过设计一个基于嵌入式系统的智能家居控制器,来探索嵌入式系统的应用与实践。

二. 实验内容2.1 硬件设计嵌入式系统的硬件设计是整个实验的基础,其合理性与稳定性直接影响系统的性能和可靠性。

在本次实验中,我们选择了一块主频为xx的处理器作为核心,配备了丰富的外设接口,如GPIO、串口等。

我们还为系统增加了一块液晶显示屏和一组按键,以实现简单的用户交互。

2.2 软件开发在硬件设计完成后,我们开始进行软件开发。

首先,我们需要选择一个合适的操作系统作为嵌入式系统的基础。

针对本次实验,我们选择了xx操作系统,其具备较强的实时性和稳定性,能够满足我们对系统性能的要求。

接着,我们进行了嵌入式系统的驱动程序开发。

通过编写各个外设的驱动程序,我们实现了与液晶显示屏和按键的交互,并将其与处理器进行了适当的接口配置。

另外,我们还开发了嵌入式系统的应用程序。

通过编写智能家居控制器的代码,我们成功实现了对家居设备的远程控制和监测。

用户可以通过液晶显示屏和按键进行交互,实现对家居设备的开关、调节和状态查看等操作。

三. 实验结果与分析经过实验测试,我们发现嵌入式系统在智能家居领域的应用具有较高的可行性与实用性。

通过嵌入式系统的控制,用户可以方便地实现对家居设备的远程操控,提升了家居智能化的程度。

同时,嵌入式系统的实时性和稳定性使得智能家居控制器具备了较高的安全性和可靠性。

然而,在实验过程中我们也遇到了一些挑战。

其中,系统的驱动程序开发是较为复杂的一环,需要仔细理解硬件接口和协议,并进行合理的配置。

此外,系统的稳定性和功耗管理也是需要重点关注的问题。

嵌入式报告实验报告

嵌入式报告实验报告

嵌入式报告实验报告1. 引言嵌入式系统作为一种特殊的计算机系统,应用广泛且日益重要。

嵌入式报告实验是对嵌入式系统进行实际操作和测试的过程,旨在验证嵌入式系统的功能和性能,以评估其是否满足设计要求。

本报告将详细介绍嵌入式报告实验的设计与实施,并对实验结果进行分析与总结。

2. 实验设计2.1 实验目的嵌入式报告实验的目的是通过设计和实施一系列测试来评估嵌入式系统的性能和功能。

具体目标包括但不限于:验证系统的实时性、稳定性和可靠性;测试系统的各种输入输出功能;评估系统对异常情况的处理能力。

2.2 实验环境实验使用的嵌入式系统硬件为XX处理器,集成了XX模块和XX接口。

软件方面,使用XX嵌入式操作系统和XX开发工具进行系统开发和测试。

2.3 实验步骤1) 配置硬件环境:将嵌入式系统与外部设备连接,确保硬件环境正常。

2) 编写测试程序:根据实验目标,编写相应的测试程序,包括输入输出测试、性能测试和异常情况测试等。

3) 软件调试:通过软件调试工具对测试程序进行调试,确保程序逻辑正确。

4) 硬件调试:通过硬件调试工具对嵌入式系统进行调试,确保硬件模块正常工作。

5) 实验运行:将测试程序下载到嵌入式系统中,运行测试程序并记录实验数据。

6) 数据分析与总结:对实验数据进行分析和总结,评估嵌入式系统的性能和功能是否满足设计要求。

3. 实验结果与分析3.1 输入输出测试通过设计一系列输入输出测试用例,测试嵌入式系统的输入输出功能。

测试包括但不限于:按键输入、传感器数据采集、外部设备通信等。

实验结果表明,嵌入式系统的输入输出功能正常,能够准确获取和处理各种输入信号,并成功输出相应的结果。

3.2 性能测试通过设计一系列性能测试用例,测试嵌入式系统的处理能力和实时性。

测试包括但不限于:任务切换速度、响应时间、系统负载等。

实验结果表明,嵌入式系统具有较高的处理能力和实时性,能够快速响应各种任务并保持系统的稳定性。

3.3 异常情况测试通过设计一系列异常情况测试用例,测试嵌入式系统对异常情况的处理能力。

嵌入式系统 实验报告

嵌入式系统 实验报告

使能 IRQ 中断。
4 装载并使能外中断;
5 选用 DebugInExram 生成目标,然后编译连接工程。
6 选择【Project】->【Debug】,启动 AXD 进行 JTAG 仿真调试。
7 全速运行程序,LED 闪烁;
8 每一次按键 Key,蜂鸣器就会转换静音或鸣响状态。
四.测试数据及运行结果
1
五.总结
1.实验过程中遇到的问题及解决办法;
由于本次实验较简单,且我们之前学习的微机原理课程也进行了流水灯的设
计实验,所以对于本次实验,我完成地很顺利,在实验中没有遇到问题。
2.对设计及调试过程的心得体会。
本次实验是本学期该课程我们进行的第一次实验,总的来说,实验不是很难,
设计过程也相对简单,其主要目的是让我们熟悉一下实验环境,并且能在实验环
6
五.总结 1.实验过程中遇到的问题及解决办法;
实验第一次运行时,蜂鸣器一直处于鸣响状态,及时按了按键,蜂鸣器还是 一直鸣叫,不产生外中断。后来仔细检查了程序,发现原来是忘记使能 EINT0 中 断了,加上 VICIntEnable = 1<<0x0e 代码,程序就能正常运行了。 2. 对设计及调试过程的心得体会。
境下进行简单的实验操作,为之后的实验打下坚实的基础。
六.附录:源代码(电子版)
#include "config.h"
const uint32 LEDS8 = 0xFF << 18;//P1[25:18]控制 LED1~LED8,低电平点亮
const uint32 KEY = 1 << 16;
//P0.16 连接 KEY1
三.方案设计
① 启动 ADS1.2IDE 集成开发环境,选择 ARM Executable Image for lpc2131

单片机实验嵌入式系统实验

单片机实验嵌入式系统实验

实验三
进行硬件调试,确保 电路功能正常,能够 支持后续的软件设计。
嵌入式系统软件设计实验
总结词
掌握嵌入式系统软件设计 原理
实验一
学习并掌握嵌入式系统操 作系统的使用,如Linux、 RTOS等。
实验二
根据项目需求,编写嵌入 式系统的底层驱动程序, 实现对硬件设备的控制。
实验三
进行软件调试,确保驱动 程序能够正确地与硬件交 互,实现所需功能。
ቤተ መጻሕፍቲ ባይዱ
嵌入式系统应用开发实验
总结词
掌握嵌入式系统应用开发 流程
实验一
实验二
根据项目需求,设计并实 现嵌入式系统的应用软件, 如智能家居控制、工业自 动化等。
进行系统集成测试,确保 应用软件与硬件能够协同 工作,实现完整的功能。
实验三
优化嵌入式系统的性能, 提高其稳定性和可靠性。
单片机与嵌入式系统实验比
消费电子
嵌入式系统在消费电子领域应用广 泛,如智能手机、平板电脑、智能 电视等。
汽车电子
单片机和嵌入式系统都在汽车电子 领域有应用,但嵌入式系统在高级 驾驶辅助系统(ADAS)等领域的应用 更为广泛。
单片机与嵌入式系统实验案
06
例分析
LED闪烁实验案例分析
总结词:简单明了
详细描述:LED闪烁实验是单片机实验中最基础的实验之一,主要目的是让学习者了解单片机 的I/O端口操作。通过编程控制单片机,使得连接在单片机上的LED灯按照设定的频率进行闪烁, 从而掌握单片机的硬件连接和软件编程。
单片机实验的发展趋势
01 随着技术的不断发展,单片机也在不断升级换代, 未来单片机将更加注重高性能、低功耗、智能化 等方面的发展。
02 嵌入式系统与物联网技术的结合将更加紧密,单 片机将更多地应用于智能家居、工业自动化等领 域。

嵌入式实验报告

嵌入式实验报告

目录嵌入式系统实践实验报告1(使用GCC编译C语言程序) (1)嵌入式系统实践实验报告2(Linux 中通过minicom串口下载程序) (14)嵌入式系统实践实验报告1五、实验结果与分析(含程序、数据记录及分析和实验总结等):图5-1 实验结果截图1图5-2 实验结果截图2图5-3 实验结果截图3 图5-4 实验结果截图4图5-5 实验结果截图5 图5-6 实验结果截图6图5-7 实验结果截图7 图5-8 实验结果截图8图5-9 实验结果截图9图5-10 实验结果截图10本次实验按照实验步骤进行,完全符合实验要求,达到了实验预期。

嵌入式系统实践实验报告2二、实验环境:硬件:Mini6410嵌入式实验平台。

软件:PC机操作系统CentOS+Minicom+Arm-Linux 交叉编译环境。

图2-1 嵌入式开发板顶视图四、实验步骤:1.建立工作目录图4-1此时我们新建的hello工作目录,在home目录下,已出现,说明,我们此次操作成功(这里我们要注意,记清楚自己在创建目录时,所在的位置),如下图所示:图4-2编写程序源代码在Linux 下的文本编辑器有许多,常用的是vi 和Xwindow界面下的gedit 等,我们在开发过程中推荐使用vi。

hello.c 源代码较简单,如下:/*****hello.c*****/#include <stdio.h>int main(){printf("Hello,World!\n");return0;}我们可以是用下面的命令来编写hello.c 的源代码,进入hello 目录使用vi 命令来编辑代码(如果不会使用vi命令来编辑,我们也可以使用gedit命令来编辑hello.c文件,命令为:gedithello.c)vi命令中常用命令有: esc i :wq :q!图4-3按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq”保存并退出。

嵌入式linux实验报告

嵌入式linux实验报告嵌入式Linux实验报告一、引言嵌入式系统是指嵌入在各种设备中的计算机系统,它通常包括硬件和软件两部分。

而Linux作为一种开源的操作系统,被广泛应用于嵌入式系统中。

本实验报告将介绍嵌入式Linux的相关实验内容和实验结果,以及对实验过程中遇到的问题的解决方法。

二、实验目的本次实验旨在通过搭建嵌入式Linux系统,了解Linux在嵌入式领域的应用,并掌握相关的配置和调试技巧。

具体目标如下:1. 理解嵌入式系统的基本概念和原理;2. 掌握Linux内核的编译和配置方法;3. 熟悉交叉编译环境的搭建和使用;4. 实现简单的应用程序开发和调试。

三、实验环境1. 硬件环境:嵌入式开发板、计算机;2. 软件环境:Ubuntu操作系统、交叉编译工具链、嵌入式Linux内核源码。

四、实验步骤与结果1. 内核编译与配置通过下载嵌入式Linux内核源码,使用交叉编译工具链进行编译和配置。

在编译过程中,需要根据实际需求选择合适的内核配置选项。

编译完成后,生成内核镜像文件。

2. 系统烧录与启动将生成的内核镜像文件烧录到嵌入式开发板中,并通过串口连接进行启动。

在启动过程中,可以观察到Linux内核的启动信息,并通过串口终端进行交互。

3. 应用程序开发与调试在嵌入式Linux系统中,可以通过交叉编译工具链进行应用程序的开发。

开发过程中,需要注意与目标平台的兼容性和调试方法。

通过调试工具,可以实时监测应用程序的运行状态和调试信息。

五、实验结果与分析在本次实验中,我们成功搭建了嵌入式Linux系统,并实现了简单的应用程序开发和调试。

通过观察实验结果,我们可以得出以下结论:1. 嵌入式Linux系统的搭建需要一定的配置和编译知识,但通过合理的配置选项和编译参数,可以实现系统的定制化;2. 应用程序的开发过程中,需要注意与目标平台的兼容性和调试方法,以确保程序的正确运行和调试的有效性;3. 嵌入式Linux系统的稳定性和性能受到硬件和软件的综合影响,需要进行系统级的优化和调试。

嵌入式系统设计(实验一)


工业控制
嵌入式系统被广泛应用于工业 自动化领域,如生产线控制、 机器人控制等。
医疗设备
嵌入式系统可以实现医疗设备 的自动化控制和数据采集,如 医疗监护仪、输液泵等。
其他领域
嵌入式系统还可以应用于通信、 能源、环保等领域,发挥着越 来越重要的作用。
03
硬件平台搭建与配置
硬件平台选择
ARM开发板
传感器与执行器
汇编语言
针对特定硬件平台,使用汇编语言可 以实现更高效的代码执行和更精确的 硬件控制。
软件架构设计
分层架构
将系统划分为多个层次,每个层次负责特定的功能,降低系统复 杂性并提高可维护性。
事件驱动架构
通过事件触发相应的处理函数,实现模块间的解耦和异步通信。
微内核架构
将核心功能集中在微内核中,通过插件或模块扩展系统功能,提高 灵活性和可扩展性。
嵌入式系统设计(实验一)
• 实验目的与要求 • 嵌入式系统概述 • 硬件平台搭建与配置 • 软件设计与实现 • 系统测试与验证 • 实验总结与展望
01
实验目的与要求
实验目的
掌握嵌入式系统基本概念
01
通过实验了解嵌入式系统的定义、特点、应用领域等基本概念。
熟悉嵌入式开发环境
02
学习搭建嵌入式开发环境,包括硬件平台、操作系统、开发工
THANKS
感谢观看
提交实验报告
按时提交完整的实验报告,展示实验成果和 收获。
02
嵌入式系统概述
嵌入式系统定义
01
嵌入式系统是一种专用的计算机 系统,它被设计为控制、监视或 者辅助操作机器和设备的运行。
02
与通用计算机系统不同,嵌入式 系统通常被嵌入到特定的设备中 ,执行特定的任务,并且不需要 人工干预。

嵌入式设计实验报告

一、实验目的1. 熟悉嵌入式系统开发的基本流程和常用工具;2. 掌握嵌入式系统硬件资源的使用方法;3. 熟悉嵌入式系统软件开发的基本方法;4. 提高嵌入式系统设计能力。

二、实验内容1. 硬件平台:基于STM32F103系列单片机的开发板;2. 软件平台:Keil uVision5集成开发环境;3. 实验任务:设计一个简单的嵌入式系统,实现按键输入和LED灯控制功能。

三、实验原理1. 硬件原理:STM32F103系列单片机是一款高性能、低功耗的ARM Cortex-M3内核微控制器,具有丰富的片上外设资源,如GPIO、定时器、ADC等。

在本实验中,主要使用GPIO进行按键输入和LED灯控制。

2. 软件原理:嵌入式系统软件开发主要包括底层驱动程序、中间件和应用层。

底层驱动程序负责硬件资源的管理和配置;中间件提供系统服务,如通信、定时器等;应用层实现用户功能。

在本实验中,主要使用C语言编写程序,实现按键输入和LED灯控制功能。

四、实验步骤1. 硬件连接:将开发板上的按键和LED灯分别连接到单片机的GPIO端口;2. 软件编写:(1)创建项目:在Keil uVision5中创建一个新的项目,选择STM32F103系列单片机作为目标设备;(2)添加源文件:添加一个C语言源文件,用于编写主程序;(3)配置GPIO:在源文件中编写GPIO初始化代码,配置按键和LED灯的GPIO端口为输入和输出模式;(4)编写按键输入程序:编写按键扫描函数,用于检测按键状态,并根据按键状态控制LED灯;(5)编译程序:编译项目,生成目标文件;(6)下载程序:将编译好的程序下载到开发板;3. 实验验证:在开发板上运行程序,观察按键输入和LED灯控制功能是否正常。

五、实验结果与分析1. 实验结果:按键按下时,LED灯点亮;按键松开时,LED灯熄灭;2. 实验分析:通过编写程序,实现了按键输入和LED灯控制功能,验证了嵌入式系统开发的基本流程和常用工具。

嵌入式系统实验指导书

第1部分DK-LM3S9B92 教学实验平台简介1.1 Stellaris® LM3S9B92开发板本书中旳所有实验都是基于DK-LM3S9B92开发平台,LM3S9B92开发板提供了一种平台给基于ARM Cortex-M3旳高性能旳LM3S9B92微控制器开发系统。

LM3S9B92是Stellaris® Tempest-class微控制器家族旳成员之一。

Tempest-class系列设备拥有性能为80MHz旳时钟速率,一种外围设备接口(EPI)和Audio I2S接口。

除了支持这些功能旳新硬件外,DK-LM3S9B92还涉及了一系列丰富旳基于其她Stellaris® 板旳外设。

开发板涉及一种板载线上调试接口(on-board in-circuit debug interface,ICDI),该接口支持JTAG和SWD调试。

一种原则旳ARM 20针脚旳调试头支持大量旳调试解决方案。

Stellaris® LM3S9B92开发套件加快了Tempest-class微控制器旳开发。

该套件还涉及了完整旳实验源代码。

Stellaris® LM3S9B92开发板涉及如下特性:⏹ 设立简朴旳USB线提供调试、通讯和供电功能⏹ 拥有众多外设旳灵活开发平台⏹ 彩色LCD图形显示– 320×240辨别率旳TFT LCD模块–电阻式触摸接口⏹ 拥有256K闪存,96K SDRAM以及整合以太网、MAC+PHY、USB OTG和CAN通讯功能旳80 MHz LM3S9B92 微控制器⏹ 8MB SDRAM扩展(通过EPI接口)⏹ 1MB串行闪存⏹ 精确3.00V电压参照⏹ 微解决器ROM中内建SAFERTOS™操作系统⏹ I2S立体声音频编解码器–输入输出–耳机输出–麦克风输入⏹ 控制器区域网络(CAN)接口⏹ 10/100 BaseT 以太网⏹ USB On-The-Go(OTG)连接器– Device、Host、以及OTG模式⏹ 顾客LED和按钮⏹ 指轮电位器(可以用于菜单导航)⏹ MicroSD 卡插槽⏹ 支持一系列调试选项–集成在线调试接口(ICDI)–全面支持JTAG、SWD和SWO–原则旳ARM 20 针脚JTAG 调试连接器⏹ USB 虚拟COM 端口⏹ 跳线分流以便重新分派I/O 资源⏹ 为StellarisWare 软件所支持,涉及图形库、USB 库和外围驱动库图1-1 DK-LM3S9B92开发板1.1.1 开发工具清单Stellaris® LM3S9B92 开发工具涉及开发和运营使用Stellaris®微解决器旳应用程序所需旳所有东西:⏹ LM3S9B92 开发板⏹ 网线⏹ 用于调试旳USB Mini-B 线缆⏹ 用于OTG 连接PC 旳USB Micro-B 线缆⏹ 用于USB 主机旳连接USB A 适配器旳USB Micro-A 线缆⏹ USB 闪存记忆棒⏹ microSD 卡⏹ 20 位带状电缆线⏹ 光盘涉及如下工具旳评估版本:– StellarisWare 及用于本开发板旳实验代码–IAR Embedded Workbench Kickstart Edition1.1.2 系统框图图1-2 DK-LM3S9B92开发板框图1.1.3 开发板阐明⏹ 开发板旳供电电压:4.75—5.25 VDC,从如下旳输入源中旳一种得到:–调试器(ICDI)USB 线缆(连接至PC)–USB Micro-B 线缆(连接至PC)–直流电源插孔(2.1x5.5mm 由外部电源供应)⏹ 尺寸:-107mmx 114mm⏹ 模拟参照电压:3.0V +/-0.2%⏹ RoHS 状态:符合注:当LM3S9B92开发板工作在USB主机模式时,主机旳连接器供电给已连接旳USB 设备。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

研究生专业实验教学实验报告书重庆大学研究生院制实验课程名称: 嵌入式系统专业实验 实验指导教师: 学 院: 专业及类别: 学 号: 姓 名:实验日期:成 绩:实验名称:FPGA SOPC实验实验时间:2016.5.5 2016.5.12一、实验目的1、学习 Quartus II、SOPC Builder、Nios II IDE 的基本操作;2、初步了解 SOPC 的开发流程,基本掌握 Nios II 软核的定制流程;3、掌握 Nios II 软件的开发流程;掌握软件的基本调试方法。

二、实验仪器设备硬件: PC 机,FPGA 实验开发平台;软件: Quartus II 9.1,SOPC Builder9.1,Nios II IDE 9.1。

三、实验原理实验利用Quartus软件内嵌的SOPC Builder工具来构造实验硬件,在Nios II软件编译工具中开发程序来控制实验箱中的LED灯实现闪烁的效果。

1、验证实验:建立可用于控制 LED 闪烁的简单 Nios II 处理器系统,具体包括:(1)在 Quartus II 中建立一个工程;(2)使用 SOPC Builder 建立并生成一个简单的基于 Nios II 的硬件系统;(3)在 Quartus II 工程中编译基于 Nios II 的硬件系统并生成配置文件.sof;(4)在 Nios II IDE 中建立对应硬件系统的用户 C/C++工程,编写一简单用户程序,在Nios II IDE 中编译程序生成可执行文件.elf;(5)将配置文件.sof 和可执行文件.elf 都下载到 FPGA 进行调试运行。

2、设计实验:用按键控制 8 个 LED 灯的闪烁状态,灯的状态如下:灯分为左右两部分交替闪烁。

灯分为奇数号和偶数号灯两部分交替闪烁。

循环从左至右间隔(两盏灯一组)跑动显示;从中间开始向两侧依次点亮,从两侧向中间依次点亮。

四、实验内容1 .文件夹的建立在计算机上创建文件夹,要求用英文或数字命名,不能用中文命名。

2 .文本文件的建立1) 单击“开始”→“程序”→Altera→QuartusII 9.1SP2。

2) 点击菜单栏File →New Project Wizard,弹出对话框式。

点击Next>按钮继续,修改,而后点击Next>继续,出现提示D盘nios2目录下面没有led这个目录,询问是否要创建它,选择是(y),让QuartusII 创建这个目录。

点击”Next”。

3) 向导开始询问是否有现成的文件需要加到当前新建的工程中点击Next>继续,在图(6)中选择试验箱的芯片Cyclone ⅣE系列的EP4CE40F23I7 ,点击Next>,最后点击Finish 完成新建项目(注:在项目文件中找到led.qsf文件修改器件的电压值为1.2V)3 .NIOSII 软核建立1) 在Quartus下,向工程中添加文件,先建立一个Block Diagram / Schematic File,点击菜单栏中的File->New,打开新建文件对话框,我们选中Block Diagram /Schematic File,然后点击OK按钮。

2) 接下来我们该启动SOPC Buider 来创建NIOSII 软核了,点击Tools-> SOPC Builder会出现对话框在在最上层的Create New System 对话框中的System Name:中输入软核的名字,在本示例中,输入helloled做为软件核的名字, 点击OK按钮确认。

3) 窗口左上角的Clock Settings显示clk_0 为外部时钟,频率为50Mhz,这是我们当前所用到的软核时钟。

(注:外部时钟频率可以修改,此实验最好按板上晶振改为25Mhz)4) 接下来要建立CPU,用鼠标双击窗口左侧框中的Processors->NIOS II Processor弹出如窗口, 先选择软核的类型,Quartus 一共提供了三种类型可供选择,Nios II/e 占用资源最少600-800LEs,功能也最简单,速度最慢。

Nios II/s 占资源比前者多一些,功能也多了,速度也快一些,Nios II/f 占资源最多,功能也最多,速度就快。

选择的时候要根据你的需求和你的芯片资源来决定,在本实验中,我们选择Nios II /s,能够满足需要。

在窗口下半部分的这些选项可以先不用管Reset Vector 是复位后启动时的Memory类型和偏移量Exception Vector 是异常情况时的Memory 类型和偏移量。

现在还不能配置,需要RAM 设置好以后才能修改这里,点击Next,需要设置JTAG Debug Module ,即JTAG 调试时所要用到的功能模块,我们选择Level1,只使用最简单的功能。

点击Next> 继续,最后点击Finish完成,出现cpu_0,就是刚才创建的cpu。

5) 接下面我们要添加片内RAM选择左边目录树下的Memories and MemoryControllers->On-Chip ->On-Chip Memory (RAM or ROM) 双击On-Chip Memory (RAM or ROM),我们将RAM的大小改为20K,其他不做修改,然后直接点击Finish完成,回到SOPC Builder 主窗口。

主窗口上又加了一个Onchip_memory2_0 的Module。

6) 接下来建立一个SystemID(这个版本中不是必需的),System ID 就是一种标示符,类似校验和的这么个东西,在你下载程序之前或者重启之后,都会对它进行检验,以防止错误发生。

在左边窗口的Peripherals->Debug and performance ->System ID Peripheral,双击System ID Peripheral会弹出对话框此窗口警告:System ID 组件的名字必需为sysid 才能使用,点击Finish完成添加,在SPOC builder 主窗口中选中SystemID组件,然后击点鼠标右键,弹下一个菜单,选择Rename,对sysid_0 组件进行重命名,将此文本框中的sysid_0 改为sysid。

照此方法,我们把所有组件后面的_0 全部去掉。

7) 接下来创建JTAG UART(调试时需要打字符串用才需要,如果单纯控制LED可以不要),首先JTAG UART 是实现PC 和NiosII 系统间的串行通信接口,它用于字符的输入输出,在NiosII 的开发调试过程中扮演了重要的角色,接下来我们开始建立它的模块。

选择sopc builder 主窗口左边Interface Protocols->Serial->JTAG UART双击JTAG UART,不做修改,点击Next> ,下一步点击finish 完成。

回到SOPCBuilder 主窗口,更改组件名jtag_uart_0 为jtag_uart 。

8) 接下来回去对CPU进行设定,在主窗口中双击CPU组件进入CPU设定对话框,如下把Reset Vector 右边的Memory:改为onchip_memory2 ,offset 会设为0x0把Exception Vector 右边的Memory改为onchip_memory2 , offset 会设为0x20,点击窗口右下角的finish 完成。

9) 接下来要添加一个PIO模块(Parallel I/O),点击窗口左侧的Peripherals ->Microcontroller Peripherals -> PIO(Parallel I/O),其中Width 表示要建立的PIO宽度是多少,我们的板上有8个LED,选择宽度为8,Direction复选框中表示要建立的PIO的方向,分别表示Bidirectional(tristate) ports(双向三态口),Input ports only (仅仅作为输入口),Both input and output ports (作为输入和输出口),Output ports only (仅仅作为输出口),在本实验中将要实现的是点亮LED,所以这个新建的PIO采用Output ports only(仅输出口)方式,点击Next继续,不需要选择,点Next继续,直接点击Finish,完成PIO模块的创建回到主窗口中我们为了方便识别,将pio_0改名为pio_led。

10) 执行System 菜单上的Auto-Assign Base Addresses 自动分配一下地址。

最后就能进行编译了,点击SOPC Builder 主窗口左上角的System Generation 选项卡.我们点击最下面的Generate按键,弹出对话框会提示你是否保存改变,点Save,保存一下。

开始编译,程序编好了,查看下最后的输出,最后一行显示Info:System generation was successful,产生成功点击Exit 退出,会回到Quartus II 主界面。

11) 在这一步中需要分配管脚,回到Quartus界面以后,在Block1.bdf 界面里在空白处双击左键,会出现对话框(注意上图的红框内)展开左边的Project,下面有个helloled,这个helloled, 就是刚才建立的NIOSII 软核,quartusii 中把它用了一个方块symbol 来表示,点击左下角的OK按钮在Block1.bdf 界面中,有个小方框阴影跟随着鼠标移动,鼠标点击,把它放在Block1.bdf界面中放好,在NIOS软核helloled上点击右键后点击Generate Pins for symbol ports,这一步作用就是生成管脚,通过命名以后给信号分配真正的fpga io口引脚。

然后双击out_port_from_the_pio_led[7..0]端口符号,弹出窗口中修改引脚名,改为led[7..0],所示确认后,点击按钮编译工程,在弹出窗口中保存bdf文件为led。

编译完成后,如果提示所示错误,则需要修改工程文件夹下led.qsf文件中“set_global_assignment -nameNOMINAL_CORE_SUPPL Y_VOLTAGE 1.0V”1.0V修改为1.2V,再次进行编译。

编译成功后点击Assignments->Pins绑定引脚。

12) 接下来要对工程进行配置在quartus9.1sp2 主窗口中,鼠标右键点击led,选择setting。

进入Setting 后,点击Device 下面的Device and pin Option,出现Device and PinOptions 对话框,选择Configuration 选项卡在Configuration device 下面的Useconfiguration device 中选择EPCS4 改好后,点击确认,再点击OK按钮返回quartus9.1sp2 主界面Save all 按钮,保存下所有的改动。

相关文档
最新文档