Angelo,

This sounds like your application stack size is too small and you are 
overflowing the stack.  Remember, uClinux has no MMU to protect for that.  Try 
increasing the stack size.  Ted Ma told me once the application flthdr can 
manipulate the stack size in the executable's header:

> Hi Larry,
>   flthdr is the utility to manipulate the header
> ====
> The flat format also defines the stack size for an application as a field in 
> the flat header. To increase the stack allocated to an application, a simple 
> change of this field is all that is required. This can be done with the 
> flthdr command, like this:
> flthdr -s  flat-executable
> 
> The flat format also allows two compression options. The entire executable 
> can be compressed, providing maximum ROM savings. It also offers the often 
> useful side effect that the application is loaded entirely into a contiguous 
> RAM block. You also may choose data-segment-only compression. This is 
> important if you want to save ROM space but still want the option to utilize 
> XIP. The following:
> 
> flthdr -z flat-executable
>   creates a fully compressed executable, and
> 
> flthdr -d flat-executable
>   compresses only the data segment.
> ====
>                               ...MaTed


Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov



On 23 Jan 2014, at 1:15 AM, Angelo Dureghello wrote:

> Dear all,
> 
> i have a small board with a coldfire mcf5307, 4 MB flash and 16MB sdram.
> 
> I have loaded on it this ucLinux:
> 
> ~ # cat /proc/version 
> uClinux version 2.6.36.2 (angelo@angel3) (gcc version 4.6.1 (Sourcery 
> CodeBench Lite 2011.09-23) ) #122 Fri Dec 14 23:52:01 CET 2012
> 
> I am now trying to upload and run a simple c++ program, with just 3 simple 
> classes,
> and a main().
> 
> Fist issue, 
> 
> I tried to use the most recent uclinux.org supplied toolchanin 
> (m68k-uclinux-20101118), 
> i get :
> 
> make
> /usr/local/bin/m68k-uclinux-g++ -O2 --pipe -m5307 -Iinclude -Wall -c -o 
> obj/base64.o src/base64.cc
> /usr/local/bin/m68k-uclinux-g++ -O2 --pipe -m5307 -Iinclude -Wall -c -o 
> obj/main.o src/main.cc
> /usr/local/bin/m68k-uclinux-g++ -O2 --pipe -m5307 -Iinclude -Wall -c -o 
> obj/sha256.o src/sha256.cc
> /usr/local/bin/m68k-uclinux-g++ obj/base64.o obj/main.o obj/sha256.o -m5307 
> -o bin/cfbm  -Wl,-Map,bin/cfbm.map
> ERROR: text=0x1c100 overlaps data=0x0 ?
> collect2: ld returned 1 exit status
> make: *** [bin/cfbm] Error 1
> 
> Surfing the net, i don't find any good explaination to this, and the common 
> workaround 
> suggested is to use the CodeSourcery toolchain.
> So as a first thing i was wondering if the uclinux "user" folder does contain 
> some cpp 
> projects, how do they compile ? 
> 
> Then i moved to the CodeSourcery toolchain, that i copied from an old hard 
> disk, since
> seems is not free to download anymore, is it ? Are there any alternative ?
> 
> 
> With this toolchain strange things happen, until a certain point, adding 
> code, everything 
> works fine, program is correctly compiled on my host and executed on the 
> board. Then, 
> strangely, as the code increase, the program execution crash (without errors 
> on console) 
> and paralize the system. As i remove (comment out) some lines, ini random 
> places, program
> start to work correctly again.
> So for now, also the CodeSourcery toolchain solution is not helping me.
> 
> I have now the suspect that uClinux itself has not been correctly configured, 
> or that i am
> suffering for my 16MB of ram, even if i see 6,8MB still free before executing.
> 
> ~ # cat /proc/meminfo
> MemTotal:          13684 kB
> MemFree:            6984 kB
> Buffers:              16 kB
> Cached:              144 kB
> SwapCached:            0 kB
> Active:               64 kB
> Inactive:             48 kB
> Active(anon):          0 kB
> Inactive(anon):        0 kB
> Active(file):         64 kB
> Inactive(file):       48 kB
> Unevictable:           0 kB
> Mlocked:               0 kB
> MmapCopy:            412 kB
> SwapTotal:             0 kB
> SwapFree:              0 kB
> Dirty:                40 kB
> Writeback:             0 kB
> AnonPages:             0 kB
> Mapped:                0 kB
> Shmem:                 0 kB
> Slab:               1292 kB
> SReclaimable:         64 kB
> SUnreclaim:         1228 kB
> KernelStack:         108 kB
> PageTables:            0 kB
> NFS_Unstable:          0 kB
> Bounce:                0 kB
> WritebackTmp:          0 kB
> CommitLimit:        6840 kB
> Committed_AS:          0 kB
> VmallocTotal:          0 kB
> VmallocUsed:           0 kB
> VmallocChunk:          0 kB
> 
> 
> I don't know actually how to move, every help is accepted.
> 
> Many thanks,
> angelo
> 
> 
> 
> 
> 
> 
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to