[ECOS] Redboot- flash config and dynamic memry allocation

Nelly PISON npison@elios.gfi.fr
Fri Jun 8 08:42:00 GMT 2007


Hello,

I use  redboot and an ecos application on a powerpc8270 board.
It works well since 1 year but at this moment I have problems with it.
After about 1 day of running I have the following messages on the 
redboot console:

"Flash configuration checksum error or invalide key
ASSERT_FAIL: <c> mutex.cxx[252] cyg_bool Cyg_Mutex::lock() locking mutex 
I already own"
5 times

I found that the message "Flash configuration checksum error or invalide 
key" is in the function flash_get_config in redboot
The problem occurs for a config of type CONFIG_BOOL and key 
"info_console_force" not found, then it check a config zone which had a 
bad cheksum
this zone has a physical address in the RAM : address 0x3fdd000 with a 
RAM that is mapped from 0 to 0x4000000
I dump this zone before having the problem and after :
Before:
03FDD000: 00 00 10 00 0B AD FA CE  01 0C 01 00 62 6F 6F 74  
|............boot|
03FDD010: 5F 73 63 72 69 70 74 00  00 00 00 01 04 11 01 0C  
|_script.........|
03FDD020: 62 6F 6F 74 5F 73 63 72  69 70 74 5F 64 61 74 61  
|boot_script_data|
03FDD030: 00 62 6F 6F 74 5F 73 63  72 69 70 74 00 66 69 73  
|.boot_script.fis|
03FDD040: 20 6C 6F 61 64 20 65 6C  69 70 61 73 73 0A 67 6F  | load 
elipass.go|
03FDD050: 0A 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
|................|
03FDD060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  
|................|
.....
After :
03FDD000: 00 0c 00 25 03 fd d2 38 00 00 01 00 00 13 bc 41  
|.......8.......A |
03FDD010: 4e 35 46 00 43 4e 49 00 00 01 37 01 46 49 4e 4e  | 
N5F.CNI...7.FINN |
03FDD020: 32 00 33 00 0d 53 0d 53 0d 53 0d 53 00 00 00 20  
|2.3..S.S.S.S.... |
03FDD030: 44 45 42 42 00 00 00 08 03 fd d0 58 03 fd cf d8  | 
DEBB.......X.... |
03FDD040: 46 49 4e 4e 0d 53 0d 53 0d 53 0d 53 00 00 00 40  
|FINN.S.S.S.S.... |
03FDD050: 44 45 42 42 00 00 00 24 44 46 2e 32 49 4d 50 20  
|DEBB....DF.2IMP. |
03FDD060: 00 10 00 24 03 fd d2 38 00 00 01 00 00 13 bc 41  | 
.......8.......A |

Before, the dump seems to be OK with a redboot config zone
After, the zone contains data managed by the ecos application in a zone 
dynamically allocated

I don't know if it is a problem of the application or a bad 
configuration between redboot and the ecos application.

In the redboot configuration tool , the Dynamic memory allocation is 
configured as:
 - "Kernel C API support for memory allocation"
- "malloc() and supporting allocators" with option "Doug Lea's malloc 
implementation"

In the ecos application configuration tool , the Dynamic memory 
allocation is configured as:
 - "Kernel C API support for memory allocation"
- "malloc() and supporting allocators" with option "Simple variable 
block implementation"


2 questions :
1 Where is the Dynamic memory  allocation zone for redboot and the ecos 
application allocation : is that the same? ,
if yes how can this work ?
if not where can we see where is mapped the zone for each?
2 I thought that the ecos application doesn't call redboot after it is 
started . What part of the ecos application can call the 
flash_get_config function?

Note : I do 'fconfig -i' on redboot:
fconfig -i
Initialize non-volatile configuration - continue (y/n)? y
flash_lookup_config: Can't find config data for 'boot_script'
flash_lookup_config: Can't find config data for 'boot_script_data'
flash_lookup_config: Can't find config data for 'boot_script_timeout'
flash_lookup_config: Can't find config data for 'bootp'
flash_lookup_config: Can't find config data for 'bootp_my_ip'
flash_lookup_config: Can't find config data for 'bootp_server_ip'
flash_lookup_config: Can't find config data for 'fcc1_esa'
flash_lookup_config: Can't find config data for 'fcc2_esa'
flash_lookup_config: Can't find config data for 'gdb_port'
flash_lookup_config: Can't find config data for 'info_console_force'
flash_lookup_config: Can't find config data for 'info_console_number'
flash_lookup_config: Can't find config data for 'net_debug'
flash_lookup_config: Can't find config data for 'net_device'
Run script at boot: false
...
I add this message in reboot ("flash_lookup_config: Can't find config 
data for ...".)
What does that mean ?  Is that normal?

Thanks for your help

Nelly






-- 
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