我用SOPC选择CPU,片内存4096字节,LED,开关,
然后它自动生成下面的文件,然后我在测试台上注释一些代码,
写信给董事会,它只会关灯,我不能用开关关
然后我用SOPC和geneart BSP打开eclipse,然后在eclipse中构建项目并打开flash程序员,
开始按钮是禁用的,不知道编译和加载按钮在哪里

module test_bench
;


  wire             clk;
  reg              clk_0;
  wire    [  7: 0] in_port_to_the_Switches;
  wire             jtag_uart_0_avalon_jtag_slave_dataavailable_from_sa;
  wire             jtag_uart_0_avalon_jtag_slave_readyfordata_from_sa;
  wire    [  7: 0] out_port_from_the_LEDs;
  reg              reset_n;


// <ALTERA_NOTE> CODE INSERTED BETWEEN HERE
//  add your signals and additional architecture here
// AND HERE WILL BE PRESERVED </ALTERA_NOTE>

  //Set us up the Dut
  testsopc1 DUT
    (
      .clk_0                   (clk_0),
      .in_port_to_the_Switches (in_port_to_the_Switches),
      .out_port_from_the_LEDs  (out_port_from_the_LEDs),
      .reset_n                 (reset_n)
    );
/*
  initial
    clk_0 = 1'b0;
  always
    #10 clk_0 <= ~clk_0;

  initial
    begin
      reset_n <= 0;
      #200 reset_n <= 1;
    end
*/
endmodule


#define Switches (volatile char *) 0x0003000
#define LEDs (char *) 0x0003010
int main()
{
    while (1)
    {
        *LEDs = *Switches;
    }
    return 0;
}

更新项目链接
https://skydrive.live.com/redir?resid=E0ED7271C68BE47C!361
当我打开项目重新生成项目时
上面说RUN_ON_HDL_SIMULAGTOR_ONLY xxxx.elf错误1
然后我再次构建BSP并再次构建项目,它将使所有内容都完成
我记得要澄清,它又犯了错误
然后再建造
然而,无论我做什么,我打开或关闭开关,它只是灯打开,从不关闭

最佳答案

我不知道这是不是你的问题,但你只声明了Switches易失性,而不是Leds。目前,编译器完全有理由消除对hex 3010的写入,因为它们似乎没有任何效果。
尝试将volatile关键字添加到第二个声明中。

10-08 00:00