public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] RedBoot ROM monitor causes DMA errors!!
@ 2008-06-25 17:17 Jürgen Lambrecht
  2008-07-08 15:26 ` Jürgen Lambrecht
  0 siblings, 1 reply; 2+ messages in thread
From: Jürgen Lambrecht @ 2008-06-25 17:17 UTC (permalink / raw)
  To: ecos-discuss

Hello,

My DMA problems with the AT91 EMAC Ethernet driver are solved (cf. 
http://ecos.sourceware.org/ml/ecos-discuss/2008-06/msg00135.html).

The problems are caused by the RedBoot ROM monitor:
=> a RAM application has DMA problems (RX Overrun in EMAC Ethernet HW 
block in AT91SAM9260)
=> a "JTAGRAM" application works fine
(JTAGRAM: initializes the VVT, so does not use/need a ROM monitor - from 
my build script:
  cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
      user_value 0 0
  };

  # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
  #     user_value 1
  #     # Default value:  CYG_HAL_STARTUP != "RAM" || 
!CYGSEM_HAL_USE_ROM_MONITOR
  #     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
  #     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
  # }; default with rom monitor to 0

  cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
      user_value 0
  };
)

Does anybody know why??
I am not debugging with gdb. I am only connected to the board with a 
serial port to see the diag_printf's.
This is the startup procedure: Redboot ROM does 'fis load application; go;'

Kind regards,
Jürgen


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ECOS] RedBoot ROM monitor causes DMA errors!!
  2008-06-25 17:17 [ECOS] RedBoot ROM monitor causes DMA errors!! Jürgen Lambrecht
@ 2008-07-08 15:26 ` Jürgen Lambrecht
  0 siblings, 0 replies; 2+ messages in thread
From: Jürgen Lambrecht @ 2008-07-08 15:26 UTC (permalink / raw)
  To: ecos-discuss

Jürgen Lambrecht wrote:
> Hello,
>
> My DMA problems with the AT91 EMAC Ethernet driver are solved (cf. 
> http://ecos.sourceware.org/ml/ecos-discuss/2008-06/msg00135.html).
>
> The problems are caused by the RedBoot ROM monitor:
> => a RAM application has DMA problems (RX Overrun in EMAC Ethernet HW 
> block in AT91SAM9260)
Also RedBoot ROM itself had the same DMA problems during networking.
The RedBoot ROM (code running in NOR flash) problems were caused by the 
very slow flash accesses.
After fine tuning the timing parameters and enabling burst access, 
networking in RedBoot ROM works fine.

A RAM application is almost OK, only very seldom there is (still) a DMA 
error (RX Overrun).

Conclusions:
OK, a RAM application (using a ROM monitor) is meant to debug, but if 
the problems are related to timing, you are lost, because a part of the 
code (VVT functions) still resides in ROM which is very slow in access 
compared to code in S(D)RAM. (on the faster platforms, as the 
AT91SAM9260 ARM9 I have).
So use a standalone appication (not using a ROM monitor) when having 
timing related problems!!

Kind regards,
Jürgen

P.S.: yes I will commit my at91 emac driver patch - it just needs some 
time. Also, I'm still waiting for answers from Atmel to finalize the TX 
part...
> => a "JTAGRAM" application works fine
> (JTAGRAM: initializes the VVT, so does not use/need a ROM monitor - 
> from my build script:
>  cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
>      user_value 0 0
>  };
>
>  # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
>  #     user_value 1
>  #     # Default value:  CYG_HAL_STARTUP != "RAM" || 
> !CYGSEM_HAL_USE_ROM_MONITOR
>  #     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
>  #     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
>  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
>  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
>  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
>  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
>  #     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
>  # }; default with rom monitor to 0
>
>  cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
>      user_value 0
>  };
> )
>
> Does anybody know why??
> I am not debugging with gdb. I am only connected to the board with a 
> serial port to see the diag_printf's.
> This is the startup procedure: Redboot ROM does 'fis load application; 
> go;'
>
> Kind regards,
> Jürgen
>
>




-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-07-08 15:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-25 17:17 [ECOS] RedBoot ROM monitor causes DMA errors!! Jürgen Lambrecht
2008-07-08 15:26 ` Jürgen Lambrecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).