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. Linux学习之常用文件处理命令(一)

    (一)文件命名规则 (二)常用文件处理命令 1.ls命令 2.cd命令 3.pwd命令 4.mkdir命令 5.touch命令 6.cp命令 7.mv命令 8.rm命令 9.cat命令 10.more ...

  2. 【*】CAS 是什么,Java8是如何优化 CAS 的

    文章结构 前言 想要读懂 Java 中的并发包,就是要先读懂 CAS 机制,因为 CAS 是并发包的底层实现原理.本文主要讨论  CAS 是如何保证操作的原子性的  Java8 对 CAS 进行了哪些 ...

  3. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  4. Gradle 同步 已经开始 Gradle sync started

    Gradle 同步 已经开始 Gradle sync started 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 31313 ...

  5. APIO2018 铜滚记

    「一旦闭上双眼,就昏昏欲睡」「仿佛与这个世界的联系,被瞬间切断」「可是,负罪感与背德感又会在黑暗中将我吞噬」「即使这样,却也无法与身体的疲惫抗衡」 「如果,这些东西也无法让意识的存在稳定下来的话」「那 ...

  6. 牛客练习赛27.B.手办(枚举)

    题目链接 orz zzx! 题目看似要求\[\sum_{k=1}^n\sum_{a=1}^k\sum_{b=1}^k[k\mid a\times b]\] 实际我们可以求\[\sum_{k=1}^n\ ...

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

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

  8. PCB编译时出现的错误 ( Duplicate Net Names Wire N000-1 (Inferred)意思就是端口名字没有定义)

    再运行这个错误Duplicate Net Names Wire N000-1 (Inferred)的就没有了, 不过还有其他的 错误,有错误不用怕,关我的博客解决.

  9. App架构师实践指南四之性能优化一

    App架构师实践指南四之性能优化一     1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...

  10. C++ 并发编程,std::unique_lock与std::lock_guard区别示例

    背景 平时看代码时,也会使用到std::lock_guard,但是std::unique_lock用的比较少.在看并发编程,这里总结一下.方便后续使用. std::unique_lock也可以提供自动 ...