DE0上的NIOSII点灯程序分析

最近刚刚开始学习NIOSII和DE0,准备记录下过程中的点点滴滴,也还请各位多多指教~~~~~~

     DE0上的点灯程序分析

1

CPU

2

SDRAM

3

4

Flash

5 6

上面是SOPC中的组件,其中SDRAM和Flash的时序我看了一下手册但是也没有搞太明白,还请DE0 的高手们多多指教,谢谢了,其中Flash采用的是8位模式。

QuartusII中的引脚分配,昨天搞了一天才稍微明白了Flash的什么8位模式和16位模式的接法,老是提示CFI连接不上。把引脚分好之后就没有提示这个错误了。

 

 

image

然后接下来是软件的开发了。

先建立一个SOPC.h文件

 

//sopc.h



#ifndef SOPC_H_

#define SOPC_H_



#include "system.h"

#define _LED



typedef struct 

{

    unsigned long int DATA;

    unsigned long int DIRECTION;

    unsigned long int INRERRUPT_MASK;

    unsigned long int EDGE_CAPTURE;

}PIO_STR;



#ifdef _LED

#define LED ((PIO_STR*)LED_BASE)

#endif



#endif /*SOPC_H_*/


和main.c文件

/*

 * "Hello World" example.

 *

 * This example prints 'Hello from Nios II' to the STDOUT stream. It runs on

 * the Nios II 'standard', 'full_featured', 'fast', and 'low_cost' example

 * designs. It runs with or without the MicroC/OS-II RTOS and requires a STDOUT

 * device in your system's hardware.

 * The memory footprint of this hosted application is ~69 kbytes by default

 * using the standard reference design.

 *

 * For a reduced footprint version of this template, and an explanation of how

 * to reduce the memory footprint for a given application, see the

 * "small_hello_world" template.

 *

 */



#include <stdio.h>

#include<unistd.h>



#include"../inc/sopc.h"



int main()

{

  int i;

  while(1)

  {

    for(i=0;i<4;i++)

    {

        LED->DATA=1<<i;

        usleep(500000);

    }

  }

  return 0;

}

 

接下了就是程序的下载了,先在Quartus中把硬件下进去,再在IDE中下软件的时候出现的问题如下:

Invalid project path: Missing project folder or file: \altera.components\bin for Output path.        altera.components    (这是IDE下面problem的提示)

 

然后console中的提示是

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: OK
Reading System ID at address 0x00401018: verified
Initializing CPU cache (if present)
OK

Downloading 01000020 ( 0%)
Downloaded 28KB in 0.4s (70.0KB/s)

Verifying 01000020 ( 0%)
Verify failed between address 0x1000020 and 0x1006D13
Leaving target processor paused

我很奇怪的是我在SOPC中都没有用到address 0x1000020 and 0x1006D13,我不明白这是哪儿来的,要是哪位知道的话麻烦告诉我一声啊,O(∩_∩)O~

 

重新看了SDRAM(A3v64s40ETP-G6后的配置)如下:

DE0上的NIOSII点灯程序分析DE0上的NIOSII点灯程序分析

但是好像还是没有找到那个T_ac 和t_wr.

你可能感兴趣的:(ios)