vxworks.st_rom cannot startup with romfs size over 2MB
Recently, I built the vxWorks.st_rom combined with a romfs image. If
the "content.romfs" size is less than 2MB, the vxWorks.st_rom can
startup from flash device. But if the "content.romfs" size is larger
than 2MB, it cannot startup and the HW watchdog on my board is timout,
then board reboots. If I disable the HW watchdog, the board is hung
with this output:
"Starting at 0xfe780100..."
Part of my Makefile as below:
## The constants ROM_TEXT_ADRS, ROM_SIZE, and RAM_HIGH_ADRS are
defined
## in config.h and Makefile. All definitions for these constants must
be
## identical.
ROM_TEXT_ADRS = fef00100 # ROM entry address
ROM_WARM_ADRS = fef00108 # ROM warm entry address
ROM_LINK_ADRS = fe000000
RAM_LOW_ADRS = 00010000 # RAM text/data address
RAM_HIGH_ADRS = 00e00000 # RAM text/data address
#ifdef BOOTROM
ROM_SIZE = 00100000 # number of bytes of ROM space
#else # for BSP build
ROM_SIZE = 00600000 # number of bytes of ROM space
ROMFS_IMAGE= "content.romfs"
#endif
....
Hope someone can give me some suggestions. Thanks.
BRs,
Alan
Re: vxworks.st_rom cannot startup with romfs size over 2MB
On 8月4日, 下午4时37分, alanyin...@gmail.com wrote:[color=blue]
> Recently, I built the vxWorks.st_rom combined with a romfs image. If
> the "content.romfs" size is less than 2MB, the vxWorks.st_rom can
> startup from flash device. But if the "content.romfs" size is larger
> than 2MB, it cannot startup and the HW watchdog on my board is timout,
> then board reboots. If I disable the HW watchdog, the board is hung
> with this output:
>
> "Starting at 0xfe780100..."
>
> Part of my Makefile as below:
>
> ## The constants ROM_TEXT_ADRS, ROM_SIZE, and RAM_HIGH_ADRS are
> defined
> ## in config.h and Makefile. All definitions for these constants must
> be
> ## identical.
>
> ROM_TEXT_ADRS = fef00100 # ROM entry address
>
> ROM_WARM_ADRS = fef00108 # ROM warm entry address
> ROM_LINK_ADRS = fe000000
>
> RAM_LOW_ADRS = 00010000 # RAM text/data address
> RAM_HIGH_ADRS = 00e00000 # RAM text/data address
>
> #ifdef BOOTROM
> ROM_SIZE = 00100000 # number of bytes of ROM space
> #else # for BSP build
> ROM_SIZE = 00600000 # number of bytes of ROM space
> ROMFS_IMAGE= "content.romfs"
> #endif
>
> ...
>
> Hope someone can give me some suggestions. Thanks.
>
> BRs,
> Alan[/color]
This problem is solved. The root cause is the watchdog timeout when
uncompressing the vxWorks ROM image to RAM, which would spend more
time if the romfs size increased.