[ECOS] redboot configuration bug

Jürgen Lambrecht J.Lambrecht@televic.com
Thu May 29 12:22:00 GMT 2008


Armin von Collrepp wrote:
> Hi,
> we met the same problem when building a Redboot debug version with RAM 
> startup and mangling enabled.
>
> Well, the only reason not to claim the COMMs is that you have another 
> way to print/read characters to/from console. Normally this is a 
> bootloader that initializes the COMMs in the VVT.
Indeed, the bootloader is redboot in ROM that initializes the VVT. So 
the RAM application should not reinitialize the VVT (so not claim COMMs).
>
> This solved the problem for our purposes...
> #if !defined(CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs)
>     
> CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL);
> #endif // #if defined(CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs)
Indeed, I do the same; but I guess it's better to find a way to solve it 
in the main ecos tree.

Kind regards,
Juergen
>
> Best Regards,
> Armin
>
>
> On May 28, 2008, at 11:55 PM, Jürgen Lambrecht wrote:
>
>> Hello,
>>
>> I am building a RAM version of redboot, and I want to disable the 
>> following option:
>> CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS.
>> But this *forces* CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL to become 
>> inactive, so it is undeclared.
>> And therefore redboot/../main.c fails to compile on line 270:
>> void
>> cyg_start(void)
>> {
>>    ...
>>    
>> CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL); 
>>
>>
>> The CDL rationale is correct:
>> CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL should only be modifiable if 
>> CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE=1, and this only 
>> makes sense if CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS=1.
>>
>> So the redboot source code should be changed, agree?
>>
>> line 270 should be replace by something like this:
>> #ifdef CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
>>    
>> CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL); 
>>
>> #else
>>    CYGACC_CALL_IF_SET_CONSOLE_COMM(READ_VVT(VVT_DEBUG_CHANNEL));
>> #endif
>>
>> Of course READ_VVT is not the correct function/macro. Does anybody 
>> know it?
>>
>> Kind regards,
>> Juergen
>>
>>
>> --Before posting, please read the FAQ: 
>> http://ecos.sourceware.org/fom/ecos
>> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>>
>



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



More information about the Ecos-discuss mailing list