[
https://issues.apache.org/jira/browse/MYNEWT-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sterling Hughes updated MYNEWT-477:
-----------------------------------
Fix Version/s: v1_1_beta1
> newt - Split image requires split startup .s file to be in BSP package
> ----------------------------------------------------------------------
>
> Key: MYNEWT-477
> URL: https://issues.apache.org/jira/browse/MYNEWT-477
> Project: Mynewt
> Issue Type: Bug
> Components: Newt
> Reporter: Christopher Collins
> Assignee: Sterling Hughes
> Fix For: v1_1_beta1
>
>
> It would be better if all the startup code could go in the MCU package. If
> the split startup file is put in the MCU package, a split image build results
> in an empty second-slot image and the following warning:
> {noformat}
> arm-none-eabi/bin/ld: warning: cannot find entry symbol Reset_Handler_split;
> defaulting to 0000000000042020
> {noformat}
> Newt thinks the second-stage app uses no symbols from the MCU package, so it
> doesn't include the MCU .a file in the final link phace. The app does use a
> symbol from the MCU app; namely Reset_Handler_split. This symbol is
> designated as the entry point in the split linker script, but not referenced
> anywhere else.
> The reason newt doesn't honor the linker script's reference to
> Reset_Handler_split has to do with the way it builds split images. Before
> performing the final link of the second-stage app, newt performs some "test
> links" to determine which packages and symbols are shared among the two apps.
> The test links are done using the regular stage 1 (loader) linker script.
> Hence, newt determines early that the second-stage app does not reference the
> MCU package at all.
> This problem does not occur when the split startup code is in the BSP
> package, because the second-stage app directly calls BSP functions in main(),
> namely bsp_init() (called via sysinit()). Therefore, newt recognizes that
> the app depends on the BSP package, and includes this package in the final
> link phase.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)