Re: [yocto] GCC on ARM
On Thu, Mar 30, 2017 at 10:07 PM, Khem Raj wrote: > On 3/30/17 9:07 PM, Gary Thomas wrote: >> [slightly off-topic] >> >> I work with a number of embedded ARM devices, all with different >> processors, hence somewhat different tuning and build directories: >> Raspberry-Pi (1,2,3 - mostly 3): >> TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 >> callconvention-hard cortexa7" >> build dirs: >> tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi >> BeagleBoneBlack: >> TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" >> build dirs: >> tmp/work/armv7ahf-neon-poky-linux-gnueabi >> i.MX6: >> TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard >> cortexa9" >> build dirs: >> tmp/work/cortexa9hf-neon-poky-linux-gnueabi >> tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi >> tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi >> >> What I'm wondering is, except for the obvious programs that use SoC >> specific >> functions like the IPU/GPU on the i.MX6, how different are these >> really? These tuning features refer to the CPU core only - not the rest of the SoC. Any differences in GPU etc are not relevant. >> So >> much so that they have to all have unique binaries? Surely I could build >> busybox or python and run the same binary on all three? CPU cores are generally backwards compatible. The Raspberry-Pi 3 (armv7ve) could run binaries created for the other two (armv7a), but not necessarily the other way around. e.g. armv7ve adds support for integer division in HW, which isn't supported by armv7a, so if busybox contains any integer division operations (which it almost certainly does) then a busybox binary built for Raspberry-Pi 3 would fail to run on the other two. > You can chose a least common denominator and use that as DEFAULTTUNE for > all your machines. May be like armv7at2-neon The common denominator for the examples above would include hardfloat, ie: DEFAULTTUNE = "armv7athf-neon" > > -- > ___ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] GCC on ARM
On 3/30/17 10:33 PM, Gary Thomas wrote: > On 2017-03-31 07:07, Khem Raj wrote: >> >> >> On 3/30/17 9:07 PM, Gary Thomas wrote: >>> [slightly off-topic] >>> >>> I work with a number of embedded ARM devices, all with different >>> processors, hence somewhat different tuning and build directories: >>> Raspberry-Pi (1,2,3 - mostly 3): >>> TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 >>> callconvention-hard cortexa7" >>> build dirs: >>> tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi >>> BeagleBoneBlack: >>> TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" >>> build dirs: >>> tmp/work/armv7ahf-neon-poky-linux-gnueabi >>> i.MX6: >>> TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard >>> cortexa9" >>> build dirs: >>> tmp/work/cortexa9hf-neon-poky-linux-gnueabi >>> tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi >>> tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi >>> >>> What I'm wondering is, except for the obvious programs that use SoC >>> specific >>> functions like the IPU/GPU on the i.MX6, how different are these >>> really? So >>> much so that they have to all have unique binaries? Surely I could >>> build >>> busybox or python and run the same binary on all three? >>> >> >> You can chose a least common denominator and use that as DEFAULTTUNE for >> all your machines. May be like armv7at2-neon > > That's good to know, thanks. > > What would I be giving up? Anything of substance/importance? > I doubt anything. Optimizations are oversell. signature.asc Description: OpenPGP digital signature -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] GCC on ARM
On 2017-03-31 07:07, Khem Raj wrote: On 3/30/17 9:07 PM, Gary Thomas wrote: [slightly off-topic] I work with a number of embedded ARM devices, all with different processors, hence somewhat different tuning and build directories: Raspberry-Pi (1,2,3 - mostly 3): TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7" build dirs: tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi BeagleBoneBlack: TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" build dirs: tmp/work/armv7ahf-neon-poky-linux-gnueabi i.MX6: TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9" build dirs: tmp/work/cortexa9hf-neon-poky-linux-gnueabi tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi What I'm wondering is, except for the obvious programs that use SoC specific functions like the IPU/GPU on the i.MX6, how different are these really? So much so that they have to all have unique binaries? Surely I could build busybox or python and run the same binary on all three? You can chose a least common denominator and use that as DEFAULTTUNE for all your machines. May be like armv7at2-neon That's good to know, thanks. What would I be giving up? Anything of substance/importance? -- Gary Thomas | Consulting for the MLB Associates |Embedded world -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] GCC on ARM
On 3/30/17 9:07 PM, Gary Thomas wrote: > [slightly off-topic] > > I work with a number of embedded ARM devices, all with different > processors, hence somewhat different tuning and build directories: > Raspberry-Pi (1,2,3 - mostly 3): > TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 > callconvention-hard cortexa7" > build dirs: > tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi > BeagleBoneBlack: > TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" > build dirs: > tmp/work/armv7ahf-neon-poky-linux-gnueabi > i.MX6: > TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard > cortexa9" > build dirs: > tmp/work/cortexa9hf-neon-poky-linux-gnueabi > tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi > tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi > > What I'm wondering is, except for the obvious programs that use SoC > specific > functions like the IPU/GPU on the i.MX6, how different are these > really? So > much so that they have to all have unique binaries? Surely I could build > busybox or python and run the same binary on all three? > You can chose a least common denominator and use that as DEFAULTTUNE for all your machines. May be like armv7at2-neon signature.asc Description: OpenPGP digital signature -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] GCC on ARM
[slightly off-topic] I work with a number of embedded ARM devices, all with different processors, hence somewhat different tuning and build directories: Raspberry-Pi (1,2,3 - mostly 3): TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7" build dirs: tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi BeagleBoneBlack: TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" build dirs: tmp/work/armv7ahf-neon-poky-linux-gnueabi i.MX6: TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9" build dirs: tmp/work/cortexa9hf-neon-poky-linux-gnueabi tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi tmp/work/cortexa9t2hf-neon-mx6qdl-poky-linux-gnueabi What I'm wondering is, except for the obvious programs that use SoC specific functions like the IPU/GPU on the i.MX6, how different are these really? So much so that they have to all have unique binaries? Surely I could build busybox or python and run the same binary on all three? -- Gary Thomas | Consulting for the MLB Associates |Embedded world -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto