Hi Gary,
On Wed, Aug 18, 2010 at 05:54:43AM -0600, Gary Thomas wrote:
> On 08/18/2010 12:54 AM, Stuart Longland wrote:
> > Hi,
> >
> > Does anyone happen to know what CYGACC_CALL_IF_RESET _actually_ does?
> > Please don't say "reset the device", because in my case, it doesn't...
> > and I'm looking to find out why.
> Look at .../packages/hal/arm/mdbmx1/var/current/include/hal_var_ints.h
> 
> #define HAL_PLATFORM_RESET()                                               \
>      CYG_MACRO_START                                                        \
>      ((void(*)(void))0)(); /* hang here forever if reset fails */           \
>      CYG_MACRO_END
> 
> This says that to reset the board, simply jump to location 0, which may or
> may not really do what you want.  You'll have to figure out what magic can
> actually reset the board.
> 
> Note: the code for this platform is not in the public repository, so you
> really should ask whomever delivered it to you for help as the eCos community
> in general will have no clue.  I just happen to also have access to it.

Much appreciated.  I found the bit of code in question for the i.MX27
(it does something with the watchdog to reset the device).  What I'm not
sure of is what happens in CYGACC_CALL_IF_RESET?  It seems that this
function gets called, and after a number of unknown steps, it eventually
calls HAL_PLATFORM_RESET, which does the actual reset of the device.

I'm suspicious that it's one of these intermediate steps that's causing
problems.  Is there any documentation on what happens in between?
Regards,
-- 
Stuart Longland (aka Redhatter, VK4MSL)      .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer  '.'` :
. . . . . . . . . . . . . . . . . . . . . .   .'.'
http://dev.gentoo.org/~redhatter             :.'

I haven't lost my mind...
  ...it's backed up on a tape somewhere.

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

Reply via email to