【iCore4 双核心板】DEMO V1.0 测试程序发布
iCore4 Demo V1.0程序说明
一、概要
本资料包含5个文件夹:
1、“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17;
2、“fpga”里是iCore4上FPGA的程序包,开发环境为QuartusII13.1;
3、“相关软件”里包含putty终端软件和UDP调试软件;
4、“屏幕截图”为工作时的截图;
5、“驱动”为板载usb转uart的驱动程序,本实验之前需要安装到计算机。
二、测试准备工作
为了运行测试程序,需要做一些准备工作。
1、 通过网线把iCore4与电脑相连,用于测试以太网功能;电脑ip设置为192.168.0.1网段;
2、 把FPGA配置跳线置于PS模式;
3、 电源供电跳线选择为USB UART模式;
4、 通过micro usb转U盘线缆,连接一个U盘到iCore4上,u盘必须为fat32文件系统;也可以把fpga工程下的sram.rbf文件拷贝到u盘里,这样就可以通过u盘配置fpga了;
5、 连接一个TF卡到iCore4卡座上,TF卡必须为fat32或者fat文件系统,然后把fpga工程下的sram.rbf文件拷贝到TF卡里,这样就可以通过TF配置fpga了;
6、 通过micro usb线缆把USB UART端口与计算机相连,并安装好“驱动”目录里的驱动文件,使得板载的USB转UART可以正常工作。
三、开始测试
通过micro usb线把iCore4的USB UART接口与计算机连接好后,计算机会识别到一个串口号。通过putty.exe软件把此串口打开(端口号需要在“设备管理器”里查看),波特率配置为115200,然后键入test并按回车进行测试。测试图片如图所示。
四、测试内容解析
1、电源:紫色字体显示为[POWER ]为电源测试,可得到iCore1S的5V供电、核心板电流、板载3.3V/1.2V/2.5/的电压,测试成功后会显示[OK];
2、RTC实时时钟:会读出RTC时间和日期,若时间在走则说明功能正确,这里要注意的是时间还不准的(因为没有设定);
3、SDRAM:SDRAM分三次测试,分别向其写入0x5555,0xAAAA及0x0000~0xFFFF,
将32M SDRAM分成32block进行读取校验,校验成功的显示绿色,错误的显示红色。全部校验成功,测试通过。
4、TF卡测试:此测试分为两部分,第一步首先探测TF卡信息并显示,第二步为读写实验,程序会在TF卡上建立一个10k大小的文件,写入并读取校验,测试结果也会显示出来;
5、U盘测试:与TF卡测试类似,若U盘测试成功,则程序会在U盘上建立一个10K大小的文件,写入并读取校验,然后显示测试结果。
6、FPGA PS配置:程序会尝试通过TF或者U盘里读取sam.rbf文件,并配置FPGA,若TF卡里有此程序,则会配置成功;sram.rbf是通过quartusii软件转换过来的,此文件在fpga文件夹内;
7、总线和SRAM测试:此功能通过stm32 fsmc读写挂载在fpga上的两片sram,测试方法和SDRAM类似,每片sram大小为512K字节,读取校验时分两片校验,校验成功显示绿色,失败显示红色,全部校验成功,测试通过。
8、以太网初始化:确保网线连接,超过超时时间网线未连接初始化会失败,初始成功后,可进行以太网测试。
9、按键测试:在>>提示符下,按下按键会显示按键按下信息;
10、LED测试:ARM和FPGA LED均会三色循环显示;
五、网络接口测试
首先设置电脑IP为192.168.0.1,子网掩码255.255.255.0,默认网关192.168.0.1如下图。
网络接口需要安装自带的UDP测试工具,安装好后“新建连接”,选择UDP协议,并把IP设置成192.168.0.10,目标端口设置为30000,本机端口为30001。点击创建,点击连接,即可通过软件发送数据到iCore4,iCore4接收到数据后会原封不动发向计算机。如图,
六、代码包下载地址
链接:http://pan.baidu.com/s/1qXRGGWk 密码:u8oo
七、预定链接
【iCore4 双核心板】DEMO V1.0 测试程序发布的更多相关文章
- 【iCore1S 双核心板】DEMO V1.0 测试程序发布
iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPG ...
- 【iCore3 双核心板】DEMO 1.0 测试程序发布
iCore3 Demo V1.0 程序说明 一.概要 本资料包包含5个文件夹: 1.“arm”里是 icore3上 arm的程序包,开发环境为 KEIL 5.17: 2.“fpga”里是 icore3 ...
- 【iCore4 双核心板_uC/OS-II】例程十一:内存管理
一.实验说明: 应用程序在运行中为了某种特殊需要,经常需要临时获得一些内存空间.而作为比较完善的操作系统uC/OS-II,也具有动态分配内存的能力. uC/OS-II对内存进行两级管理:把连续内存分成 ...
- 【iCore4 双核心板_uC/OS-II】例程十:信号量集
一.实验说明: 在实际应用中,任务常常需要与多个事件同步,即要根据多个信号量组合作用的结果来决定任务的运行方式.UCOSII为了实现多个信号量组合的功能定义了一种特殊的数据结构——信号量集. 二.实验 ...
- 【iCore4 双核心板_uC/OS-II】例程九:消息队列
一.实验说明: 前面介绍通过信息传递可以进行任务间的交流,信息也可以直接发送给一个任务,在uC/OS-II中每一个任务在它们内部都有一个消息队列,也即任务消息队列,用户可以直接给一个任务发送消息,不需 ...
- 【iCore4 双核心板_uC/OS-II】例程八:消息邮箱
一.实验说明: 消息邮箱是uC/OS-II中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量.通常该指针指向一个包含了“消息”的特定数据结构. 二.实验截图: ...
- 【iCore4 双核心板_uC/OS-II】例程七:互斥信号量
一.实验说明: 在介绍互斥信号量前,我们先简单地描述一下什么是优先级反转.使用实时内核心,优先级反转问题是实时系统中出现得最多的问题.假设任务H优先级高于任务M,任务M优先级高于任务L.任务H和任务M ...
- 【iCore4 双核心板_uC/OS-II】例程六:信号量——任务同步
一.实验说明: 信号量是一个多任务内核提出的一个协议机构,上一个实验中我们介绍了信号量访问共享资源 的功能,其实信号量最初是用来控制访问共享资源的,它还可以用来同步一个中断服务函数和一个任 务,或者同 ...
- 【iCore4 双核心板_uC/OS-II】例程五:信号量——共享资源
一.实验说明: 信号量是操作系统中的一类事件,是实现任务间通信的一个中间环节.当系统中的多个任务 在运行时,经常需要互相无冲突地访问同一个资源,或者需要互相支持的依赖,甚至有时还要互 相加以必要的限制 ...
随机推荐
- 002.HAProxy安装及常见配置
一 HAProxy安装 官方链接:http://www.haproxy.org/ (国内可能无法打开) 下载连接:http://pkgs.fedoraproject.org/repo/pkgs/hap ...
- odoo 模型继承
在odoo中有两种模型的继承机制(传统方式和委托继承方式) 重点:在__manifest__.py中找到depends,加上要继承的模块 'depends': ['account'] 注意继承的模型所 ...
- 运行程序,解读this指向---case3
片段1 var myObj = { fullname: "Hou Yi", getFullName: function(){ var self = this; console.lo ...
- internet连接共享
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_shai nternet连接共享 允许其他网络用户通过此计算机的internet连接来连接
- struts2动态跳转action,修改和添加共用一个页面
<s:form action="role_%{ id == null ? 'add' : 'edit' }"> <s:hidden name="id&q ...
- Asp.Net Mvc 自定义扩展
目录: 自定义模型IModelBinder 自定义模型验证 自定义视图引擎 自定义Html辅助方法 自定义Razor辅助方法 自定义Ajax辅助方法 自定义控制器扩展 自定义过滤器 自定义Action ...
- Linux进程优先级系统——设置实时进程优先级
前言 最近研发的产品出了点小bug,最后查到根本原因是,其中一个进程A使用基于FIFO的实时进程优先级,而另一个进程B是使用普通调度的进程优先级,而A和B两个进程是互相通信的,进程B会被饿死,而进程A ...
- WordPress主题开发:通过page的ID或者别名获取内容
访问地址:xx/?page_id=12 如果是在当前页面,只需要通过循环就可以输出对应的信息 <?php if(have_posts()):while(have_posts()):the_pos ...
- [leetcode]Rotate List @ Python
原题地址:https://oj.leetcode.com/problems/rotate-list/ 题意: Given a list, rotate the list to the right by ...
- Std::map too few template arguments
在上述的代码中,红色波浪线的部分编译的时候报错: error C2976: 'std::map' : too few template arguments 换成std::map<std::str ...