Hi John John Dallaway wrote:
> Hi Sergei > > Sergei Gavrikov wrote: > > > I tried to build and run "thumb" tests for NXP ARM7TDMI (LPC2294) using > > corresponding RedBoot/GDB > > > > ecos-v3_0-branchpoint GCC 4.3.2 most of tests failed > > ecos AnonCVS GCC 4.3.2 most of tests failed > > ecos AnonCVS GCC 4.6.2 most of tests failed > > ecos AnonCVS GCC 4.6.3 most of tests failed > > > > Thus, it looks like that GCC 4.6.2 is not point of those fails. > > > > BTW, I never tried ro run "thumb" blobs before on my target and maybe > > I should turn on/off more CDL options than just to force CYGHWR_THUMB > > option. > > Enabling CYGHWR_THUMB should be sufficient. Be sure to "make clean" when > switching to Thumb. Also, check that the -mthumb and -mthumb-interwork > flags are definitely present during the building of your eCos tests. Thank you for this information. Thus, I confirm that I had got the right thumb binaries for testing. > > So, I agree with the said "Thumb support looks broken" at the least > > for lpc2xxx, lpc24xx variants, but, it seems to me it was broken > > even before eCos 3.0. > > I have just verified that the kernel tm_basic test builds for target > eb40a (ARM7) with RAM startup and CYGHWR_THUMB. The resulting binary > runs under debug (via RedBoot) without problem. This is using the new > eCos 4.6.2-20120125 test release toolchain. What is about GCC optimization in your test? So far, I found that I can run only not optimized thumb executables in GDB under RedBoot, and -O1, and -O2 builds are failed as I reported above. Though, I guess that you use default -O2 optimization for your test. > There could be a Thumb-related issue within a certain variant/platform > HAL or device driver package. It seems to me you are right, I will try to investigate. Thank you for feedback. Sergei > John Dallaway > eCos maintainer > http://www.dallaway.org.uk/john >