Rob B
Full Member level 4
spartan 3e edk
This is different to my last woes with a previous development board. Rather than confuse things, including myself, more, I though a new thread might be better.
I have built a couple of MicroBlaze cores with different settings for the board (RevD) using the BSB wizard with EDK 9.1.02i. I can get very simple things such as print("Something... Please!") working over RS232 used as STDOUT to HyperTerminal but the processor seems to hang when calling the Xilinx functions to get device status and other things (as in the TestApp_Memory/Peripheral).
I built the project as follows:
BSB options (in order, any omitted means default was chosen):
I chose the correct board in "Select board".
BRAM was selected to be 16KB.
FPU was enabled.
I disabled RS232_DTE.
I disabled the Ethernet MAC.
I disabled FLASH_16Mx8
I left the TestApp_Memory/Peripheral to be created.
Changed Project Options to Verilog.
Changed CORE_CLOCK_FREQ_HZ to 50000000 in Software Platform Settings.
Only "TestApp_Memory" was selected for BRAM initialisation.
The automatically generated linker script was used (excerpt):
Project mode was Executable.
After "Download Bitstream" all I get in HyperTerminal is:
-- Entering main() --
Starting MemoryTest for DDR_SDRAM_32Mx16:
Running 32-bit test...
The process seems to hang there. Is this something to do with the DDR RAM controller or possibly the linker script?
Also, I cannot find the sample program that came ready programmed to the board on the Xilinx site.
Any suggestions welcomed, before I really do go insane :?. I have read the tutorials that I can find and although useful, none have solved my problem.
~Edit~
After some modification to the BSB wizard settings I now get:
-- Entering main() --
Starting MemoryTest for DDR_SDRAM_32Mx16:
Running 32-bit test...FAILED!
Running 16-bit test...FAILED!
Running 8-bit test...FAILED!
Starting MemoryTest for opb_bram_if_cntlr_1:
Running 32-bit test...PASSED!
Running 16-bit test...PASSED!
Running 8-bit test...PASSED!
-- Exiting main() --
Getting there... Slowly.
Rob
This is different to my last woes with a previous development board. Rather than confuse things, including myself, more, I though a new thread might be better.
I have built a couple of MicroBlaze cores with different settings for the board (RevD) using the BSB wizard with EDK 9.1.02i. I can get very simple things such as print("Something... Please!") working over RS232 used as STDOUT to HyperTerminal but the processor seems to hang when calling the Xilinx functions to get device status and other things (as in the TestApp_Memory/Peripheral).
I built the project as follows:
BSB options (in order, any omitted means default was chosen):
I chose the correct board in "Select board".
BRAM was selected to be 16KB.
FPU was enabled.
I disabled RS232_DTE.
I disabled the Ethernet MAC.
I disabled FLASH_16Mx8
I left the TestApp_Memory/Peripheral to be created.
Changed Project Options to Verilog.
Changed CORE_CLOCK_FREQ_HZ to 50000000 in Software Platform Settings.
Only "TestApp_Memory" was selected for BRAM initialisation.
The automatically generated linker script was used (excerpt):
Code:
_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;
_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x400;
/* Define Memories in the system */
MEMORY
{
ilmb_cntlr_dlmb_cntlr : ORIGIN = 0x00000050, LENGTH = 0x00003FB0
DDR_SDRAM_32Mx16_C_MEM0_BASEADDR : ORIGIN = 0x44000000, LENGTH = 0x04000000
}
/* Specify the default entry point to the program */
ENTRY(_start)
/* Define the sections, and where they are mapped in memory */
SECTIONS
{
.vectors.reset 0x00000000 : {
*(.vectors.reset)
}
.vectors.sw_exception 0x00000008 : {
*(.vectors.sw_exception)
}
.vectors.interrupt 0x00000010 : {
*(.vectors.interrupt)
}
.vectors.hw_exception 0x00000020 : {
*(.vectors.hw_exception)
Project mode was Executable.
After "Download Bitstream" all I get in HyperTerminal is:
-- Entering main() --
Starting MemoryTest for DDR_SDRAM_32Mx16:
Running 32-bit test...
The process seems to hang there. Is this something to do with the DDR RAM controller or possibly the linker script?
Also, I cannot find the sample program that came ready programmed to the board on the Xilinx site.
Any suggestions welcomed, before I really do go insane :?. I have read the tutorials that I can find and although useful, none have solved my problem.
~Edit~
After some modification to the BSB wizard settings I now get:
-- Entering main() --
Starting MemoryTest for DDR_SDRAM_32Mx16:
Running 32-bit test...FAILED!
Running 16-bit test...FAILED!
Running 8-bit test...FAILED!
Starting MemoryTest for opb_bram_if_cntlr_1:
Running 32-bit test...PASSED!
Running 16-bit test...PASSED!
Running 8-bit test...PASSED!
-- Exiting main() --
Getting there... Slowly.
Rob