Picon

Write Buffer



Hello, 

How do i disable the write buffer in the Leon3 processor? Is there any way to modify it so that store instructions would stall the pipeline until the data is written to the memory?
I am working without cache.
Thanks.


__._,_.___
Posted by: "event99879 Gazeta.pl" <event99879 <at> gazeta.pl>



__,_._,___
Picon

Trouble with GRMON and Virtex-6



Hello all,

 

I am having trouble getting GRMON to work.  I am using grmon-eval-2.0 and trying to talk to a Xilinx Virtex-6 xc6vlx240t FPGA on an ML605 development board.  I am able to download a bitstream of the LEON3 processor to the board using Xilinx iMPACT software but am unable to communicate with the board using GRMON.  I have tried with both the ready-made bitstream that comes from Gaisler and also various bitstreams I synthesized myself.  I am trying to do this with the GRTools version of GRMON on Windows 7 where I know for sure that the Xilinx drivers work.  I have also tried GRMON on Linux but without success.

 

Whenever I start GRMON it is unable to connect, whether with –uart, -xilusb, -jtag, or whatever.  I have tried hooking up to the ML605 board on both the JTAG and UART ports.  When I try with “grmon –jtag” it returns “JTAG Instruction register length detection failed.  Exiting GRMON”.  When I start with “grmon” it waits for a while and then returns “UART failed to connect.  Exiting GRMON”.


I have no idea what the problem is, any help would be greatly appreciated.

 

Thank you,

David




__._,_.___
Posted by: dlturner <at> hmc.edu



__,_._,___
Picon

Debugging linux in TERASIC DE0-NANO



Good Day! I am working on another fpga board i would like to run linux, my problem is that when i run the linux image i get stucked at this point.


RPC: Registered tcp NFSv4.1 backchannel transport module.


grmon2> run
PROMLIB: Sun Boot Prom Version 0 Revision 0
Linux version 3.10.58-00014-g31476c1 (mikhail <at> mikhail-Aspire-V3-471G) (gcc version 4.4.2 (sparc-linux-ct-leon_multilib_basic-0.0.7) ) #15 SMP Sun Mar 29 04:46:29 PHT 2015
bootconsole [earlyprom0] enabled
ARCH: LEON
TYPE: Leon3 System-o n-a-Chip
Ethernet address: 00:00:7c:cc:01:45
CACHE: 2-way associative cache, set size 4k
OF stdout device is: /a::a
PROM: Built device tree with 13903 bytes of memory.
Booting Linux...
PERCPU: Embedded 7 pages/cpu <at> f0ecf000 s6272 r8192 d14208 u32768
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 876
Kernel command line: console=ttyS0,38400 init=/sbin/init
PID hash table entries: 16 (order: -6, 64 bytes)
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Sorting __ex_table...
Memory: 1232k/16360k available (4260k kernel code, 15128k reserved, 1496k data, 6816k init, 0k highmem)
Hierarchical RCU implementation.
    RCU restricting CP Us from NR_CPUS=4 to nr_cpu_ids=1.
NR_IRQS:64
Console: colour dummy device 80x25
console [ttyS0] enabled, bootconsole disabled
Calibrating delay loop... 48.74 BogoMIPS (lpj=243712)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Entering SMP Mode...
leon: SMP IPIs at IRQ 13
0:(1:4) cpus mpirq at 0x80000210
######## !!!! The irqmp-ctrl must have broadcast enabled, smp wont work !!!!! ####### nr cpus: 1
continue anyway
Brought up 1 CPUs
Total of 1 processors activated (48.74 BogoMIPS).
NET: Registered protocol family 16
leon_get_irqmask: false irq number: 30
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new i nterface driver hub
usbcore: registered new device driver usb
Switching to clocksource timer_cs
FS-Cache: Loaded
CacheFiles: Loaded
NET: Registered protocol family 2
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.


i connected th ru grmon using this line .


/grmon -altjtag -nb -u


is there something i did wrong?




__._,_.___
Posted by: miku.abuan-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

FPU on Xilinx SP605



Hi guys, I have problem on implementing the FPU(GRFPU or LITE ) on Xilinx SP605 i am able to synthesize and generate a .bit file however when I debug using grmon2 and input 'info sys' i cannot seem to 

  cpu0      Aeroflex Gaisler  LEON3 SPARC V8 Processor   
            AHB Master 0
  ahbjtag0  Aeroflex Gaisler  JTAG Debug Link   
            AHB Master 1
  greth0    Aeroflex Gaisler  GR Ethernet MAC   
            AHB Master 2
      &nbs p;     APB: 80000E00 - 80000F00
            IRQ: 12
            edcl ip 192.168.0.51, buffer 2 kbyte
  mctrl0    European Space Agency  LEON2 Memory Controller   
            AHB: 00000000 - 20000000
            APB: 80000000 - 80000100
            16-bit prom <at> 0x00000000
  apbmst0   Aeroflex Gaisler  AHB/APB Bridge   
            AHB: 80000000 - 80100000
  dsu0      Aeroflex Gaisler  LEON3 Debug Support Unit   
            AHB: 90000000 - A0000000
            AHB trace: 256 lines, 32-bit bus

            CPU0:  win 8, hwbp 2, itrace 256, V8 mul/div, srmmu, lddel 1

                   stack pointer 0x47fffff0
                   icac he 2 * 8 kB, 32 B/line rnd
                   dcache 2 * 4 kB, 16 B/line rnd, snoop tags
  mig0      Aeroflex Gaisler  Xilinx MIG DDR2 Controller   
            AHB: 40000000 - 48000000
            APB: 80000400 - 80000500
            SDRAM: 128 Mbyte
  adev7     Aeroflex Gaisler  System ACE I/F Controller   
            AHB: FFF00200 - FFF00300
   & nbsp;        IRQ: 10
  uart0     Aeroflex Gaisler  Generic UART   
            APB: 80000100 - 80000200
            IRQ: 2
            Baudrate 38194
  irqmp0    Aeroflex Gaisler  Multi-processor Interrupt Ctrl.   
            APB: 80000200 - 80000300
  gptimer0  Aeroflex Gaisler  Modular Timer Unit   
            APB: 80000300 - 80000400
&n bsp;           IRQ: 8
            8-bit scalar, 2 * 32-bit timers, divisor 55
  gpio0     Aeroflex Gaisler  General Purpose I/O port   
            APB: 80000A00 - 80000B00
  ahbstat0  Aeroflex Gaisler  AHB Status Register   
            APB: 80000F00 - 80001000
            IRQ: 7

this is the commands i used

make xconfig
make mig
make install-secure ip
make ise

is there anything i did wrong?

__._,_.___
Posted by: miku.abuan-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

How to get the vhdl code of leon3ft memory controller



Hi guys,

I am a beginner on Leon3ft. I have a question that how can I get the vhdl code of leon3ft memory controller. I tried to find it in the grlib. But it seems like no detail code inside it. So where can I found the code about how the memory controller works? Please help me.

Best Wishes

Tian Xie



__._,_.___
Posted by: gavinxt-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

SDRAM



Hello everyone,


I am doing some research with Leon3 in Altera DE2 board. The system is running in 50MHz, it can access the SDRAM and communicate with GRMON sucessfully.

But, in my research it's important that the time spent in every SDRAM access respects some pre-requisites. And here is the problem, today the time to read or write in the SDRAM is a quite fast for my purposes and I need to slow down this operation.


Would anyone have some suggestion in how can I do this? For example, I thinking that one way to do this is change the FSM in SDCTRL.vhd to enter in a wait state, or registers freezing, after a AMBA bus request and the n increment a counter until a certain value.


any help is highly appreciated. Thank you,


Rafael Schneider.




__._,_.___
Posted by: rafael.cs89-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

GRMON - Test Automation



Hi all,

As a part of a script I am writing for a test, it does the following:

for i in range (0 to n):
    1. program fpga (i.e. make ise-prog-fpga)
    2. run grmon2 (grmon -eth -nb -u)
    3. load program (load ../Code/crc32)
    4. run
    5. save the output of the crc32 code

I want to save the output in a variable and each time compare it to the golden value.
The output which is the result of a printf in the code, looks like this:
04D0CDE6   75098

how can I do it? Is there any better way rather running the GRMON with a TCL file?
I did the following in my tcl file, but unsurprisingly it just returns the SIGTERM value:
set result [run]
puts $result


any help is highly appreciated.

RS

__._,_.___
Posted by: razi_seyyedi-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

Openocd support

Hi,

I wonder if there is any openocd support for leon3? I searched a little
bit but at least I didn't see any upstream support.

Best regards,
Alexis.
Picon

Remotely debuggin Linux kernel



Hi everyone,

I am doing some kernel hacking with Leon3 running on a Xilinx board. I set up my system according to instructions given Gaisler's Buildroot-based Linuxbuild toolset.

To debug my kernel changes, I am coupling GRMON (evaluation version) with GDB from one of the cross-compiled toolchains from Gaisler. I am following section 3.7 of the GRMON manual to go about this, especially section 3.7.7, which discusses using GDB/GRMON to specifically debug Linux. I have been succesful in loading and booting the kernel in this way. But my problem is this: once the kernel boots, and presents a prompt inside GDB, I don't seem to be able direct input to it, i.e., anything I type from inside GDB doesn't get forwarded to the remote prompt.

Don't know if this would have worked, but I tried using GRMON's console forwarding feature, to force remote I/O into a tty and manipulating that tty inside GDB. The GRMON evaluation version however lacks this feature. I also tried running the remote console inside GRMON while having an instance of GDB simultaneously attached to it. This didn't work either -- breakpoints set in GDB don't hit.

Would anyone have any pointers as to how I could do I/O with the remote shell from inside GDB?

Appreciate any help. Thanks,
Kanad




__._,_.___
Posted by: kanad.sinha-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

Remote debugging linux kernel with GDB



Hi everyone,

I am doing some kernel hacking with Leon3 running on a Xilinx board. I set up my system according to instructions given here.

To debug my kernel changes, I am coupling GRMON (evaluation version) with GDB from one of the cross-compiled toolchains from Gaisler. I am following section 3.7 of the GRMON manual to go about this, especially section 3.7.7, which discusses using GDB/GRMON to specifically debug Linux. I have been succesful in loading and booting the kernel in this way. But my problem is this: once the kernel boots, and presents a prompt inside GDB, I don't seem t o be able direct input to it, i.e., anything I type from inside GDB doesn't get forwarded to the remote prompt.

Don't know if this would have worked, but I tried using GRMON's console forwarding feature, to force remote I/O into a tty and manipulating that tty inside GDB. The GRMON evaluation version however lacks this feature. I also tried running the remote console inside GRMON while having an instance of GDB simultaneously attached to it. This didn't work either -- breakpoints set in GDB don't hit.

Would anyone have any pointers as to how I could do I/O with the remote shell from inside GDB?

Appreciate any help. Thanks,
Kanad


__._,_.___
Posted by: kanad.sinha-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___
Picon

error on running .ram image in DE0-NANO board



Guys, I have this error on running a linux image on the terasic de0-nano board,

grmon2> load image.ram
  40000000 .text                           4.2kB /   4.2kB       [===============>] 100%
  400010F0 .data                          80B                        [===============>] 100%
  40004000 .vmlinux                      22.9MB /  22.9MB   [===============>] 100%
  416E8880 .startup_prom             39.5kB /  39.5kB     [===============>] 100%
  Total size: 22.94MB (2.17Mbit/s)
  Entry point 0x40000000
  Image /home/xxx/Desktop/grlib-gpl-1.3.7-b4144/designs/leon3-terasic-de0-nano/linux/bin/image.ram loaded
 
grmon2> run
 
  Stopped
  0x40000800: 91d02000  ta  0x0  <head_bad_trap+0>
 
grmon2> inst
      TIME     ADDRESS   INSTRUCTION   &nb sp;               RESULT    
       897747  40000954  be  0x4000096C                [00000000]
       897749  40000958  nop                           [00000000]
       897750  4000095C  sethi  %hi(0xFFD03000), %g1   [FFD03000]
       897752  40000960  or  %g1, 0x210, %g1      &nbs p;    [FFD03210]
       897801  40000964  call  %g1                     [40000964]
       897803  40000968  nop                           [00000000]
       897819  FFD03210  unimp                         [  TRAP  ]
       897859  40000020  ba&nbs p; 0x40000800                [00000000]
       897862  40000024  mov  2, %o0                   [00000002]
       897873  40000800  ta  0x0                       [  TRAP  ]




__._,_.___
Posted by: miku.abuan-/E1597aS9LQAvxtiuMwx3w@public.gmane.org



__,_._,___

Gmane