Hi Simon, It may be that the RAM/ROM region you have respectively set is too small for the image that's being created -- or it may just be a binutils bug. I didn't have any issues with any particular 'wierdness' like that.
What happens if you build your code under ARM ELF? That was usually my sanity check if I suspect the EABI tool chain was doing something weird. --Chris > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: 23 September 2008 12:31 > To: Chris Zimman; [email protected] > Subject: eCos using Codesourcery Toolchain > > Hi Chris > > Thanks again for your help. EABI seems to work fine so far. But I've > run in another problem with the codesourcery toolchain, might be cortex > specific though. I have a working RedBoot, but it crashes in a few > places, because code is compiled wrong. Here are the warning from the > linker: > > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-32599) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-32603) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-32603) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-32599) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16335) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16335) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16303) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16303) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16295) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16295) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16263) > /home/simon/ecos/tools/bin/../lib/gcc/arm-none- > eabi/4.2.3/../../../../arm-none-eabi/bin/ld: > /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access > beyond end of merged section (-16263) > > One problem is the fis_usage() function: > > fis_usage(char *why) > { > diag_printf("*** invalid 'fis' command: %s\n", why); > cmd_usage(__FIS_cmds_TAB__, &__FIS_cmds_TAB_END__, "fis "); } > > The pointer resolution of the string literal ("*** invalid ...") is > going wrong (r0 holds a wrong address), so diag_printf() corrupts > memory and the whole system crashes. If I replace the function with a > marco, the code works properly and I get a few less "access beyond" > warnings. > There must be other places where things go wrong. > > Any ideas here? > > I attach my current linker script, as I suppose the mistake could be > there. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
