我用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关键字添加到第二个声明中。