This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Redboot- flash config and dynamic memry allocation


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]