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 测试程序发布的更多相关文章

  1. 【iCore1S 双核心板】DEMO V1.0 测试程序发布

    iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPG ...

  2. 【iCore3 双核心板】DEMO 1.0 测试程序发布

    iCore3 Demo V1.0 程序说明 一.概要 本资料包包含5个文件夹: 1.“arm”里是 icore3上 arm的程序包,开发环境为 KEIL 5.17: 2.“fpga”里是 icore3 ...

  3. 【iCore4 双核心板_uC/OS-II】例程十一:内存管理

    一.实验说明: 应用程序在运行中为了某种特殊需要,经常需要临时获得一些内存空间.而作为比较完善的操作系统uC/OS-II,也具有动态分配内存的能力. uC/OS-II对内存进行两级管理:把连续内存分成 ...

  4. 【iCore4 双核心板_uC/OS-II】例程十:信号量集

    一.实验说明: 在实际应用中,任务常常需要与多个事件同步,即要根据多个信号量组合作用的结果来决定任务的运行方式.UCOSII为了实现多个信号量组合的功能定义了一种特殊的数据结构——信号量集. 二.实验 ...

  5. 【iCore4 双核心板_uC/OS-II】例程九:消息队列

    一.实验说明: 前面介绍通过信息传递可以进行任务间的交流,信息也可以直接发送给一个任务,在uC/OS-II中每一个任务在它们内部都有一个消息队列,也即任务消息队列,用户可以直接给一个任务发送消息,不需 ...

  6. 【iCore4 双核心板_uC/OS-II】例程八:消息邮箱

    一.实验说明: 消息邮箱是uC/OS-II中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量.通常该指针指向一个包含了“消息”的特定数据结构.   二.实验截图:   ...

  7. 【iCore4 双核心板_uC/OS-II】例程七:互斥信号量

    一.实验说明: 在介绍互斥信号量前,我们先简单地描述一下什么是优先级反转.使用实时内核心,优先级反转问题是实时系统中出现得最多的问题.假设任务H优先级高于任务M,任务M优先级高于任务L.任务H和任务M ...

  8. 【iCore4 双核心板_uC/OS-II】例程六:信号量——任务同步

    一.实验说明: 信号量是一个多任务内核提出的一个协议机构,上一个实验中我们介绍了信号量访问共享资源 的功能,其实信号量最初是用来控制访问共享资源的,它还可以用来同步一个中断服务函数和一个任 务,或者同 ...

  9. 【iCore4 双核心板_uC/OS-II】例程五:信号量——共享资源

    一.实验说明: 信号量是操作系统中的一类事件,是实现任务间通信的一个中间环节.当系统中的多个任务 在运行时,经常需要互相无冲突地访问同一个资源,或者需要互相支持的依赖,甚至有时还要互 相加以必要的限制 ...

随机推荐

  1. nc高级应用

    参数介绍: nc.exe -h即可看到各参数的使用方法. 基本格式:nc?[-options]?hostname?port[s]?[ports]?... nc?-l?-p?port?[options] ...

  2. 合并流 SequenceInputStream

    SequenceInputStream主要用来将2个流合并在一起,比如将两个txt中的内容合并为另外一个txt.下面给出一个实例: import java.io.File; import java.i ...

  3. 替换字符串空格、tab制表符

    \ ASCII (NUL ) 字符 \' ASCII 39 单引号 (“'” ) 字符 \" ASCII 34 双引号 (“"” ) 字符 \b ASCII 退格符 \n ASCI ...

  4. u3d 楼梯,圆环,椭圆,直线运动。世界坐标。点击。U3d stair, ring, ellipse, linear motion.World coordinates.Click .

    u3d 楼梯,圆环,椭圆,直线运动.世界坐标.点击. U3d stair, ring, ellipse, linear motion.World coordinates.Click . 作者:韩梦飞沙 ...

  5. UVA.12230.Crossing Rivers(期望)

    题目链接 /* 到达一条河时,船在河中的位置是随机的,所以船到达岸边需要的时间在 0~2l/v 均匀分布,所以船到岸的期望为 (0+2l/v)/2 过河需要 l/v 的时间,所以过一条河总的期望为 ( ...

  6. 早期(编译器)优化--javac编译器

    java语言的“编译期”其实是一段“不确定”的操作过程,可能是指一个前端编译器把.java变成.class的过程,也可能是指虚拟机的后端运行期编译器(JLT)把字节码转变成机器码的过程,也有可能是使用 ...

  7. Minor GC 与Full GC有什么不一样

    新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也非常快 老年代GC(Major GC/Full GC ...

  8. spring cloud:config-server中@RefreshScope的"陷阱"

    spring cloud的config-serfver主要用于提供分布式的配置管理,其中有一个重要的注解:@RefreshScope,如果代码中需要动态刷新配置,在需要的类上加上该注解就行.但某些复杂 ...

  9. EF6 简单增删改查示例代码

    示例一: private DbContext _dbContext; public DbContext CurrentContext { get { if (_dbContext == null) { ...

  10. [转载]震惊!QWidget竟然可以嵌入到QML中,QMl窗口句柄竟然是这样获取

      背景 记得在初学qml时,就被大佬告知Qml的实现有两种方式“view+item”和“engine+widow”,那么能不能将QWidget嵌入到QML中来呢,我收到的答案是不可以,原因是QML的 ...