[Buildroot] [PATCH v3 1/3] arch: add support for Andes 32-bit(nds32)

Nylon Chen nylon7 at andestech.com
Thu Mar 21 02:36:10 UTC 2019


Hello Yann,

sorry,i thought that i didn't send the letter successfully, so I sent it twice(the first time, i only sent to you ).

Thank you for your comment

On Fri, Mar 15, 2019 at 06:22:11AM +0800, Yann E. MORIN wrote:
> Nylon, All,
> 
> On 2019-03-07 10:11 +0800, Nylon Chen spake thusly:
> > This commit provides basic support for the Andes 32-bit(nds32) architecture.
> 
> Out of curiosity, and just for my information: do you have examples of
> products shipping with an nds32 CPU?
> 
> I have a few comments (the last one very minor), see below...
> 
> > Signed-off-by: Che-Wei Chuang <cnoize at andestech.com>
> > Signed-off-by: Greentime Hu <greentime at andestech.com>
> > Signed-off-by: Nylon Chen <nylon7 at andestech.com>
> > ---
> >  DEVELOPERS           |  3 +++
> >  arch/Config.in       | 12 ++++++++++++
> >  arch/Config.in.nds32 | 19 +++++++++++++++++++
> >  3 files changed, 34 insertions(+)
> >  create mode 100644 arch/Config.in.nds32
> > 
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index c17ba6db99..06a20c68b6 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -1605,6 +1605,9 @@ F:	package/trousers/
> >  N:	Norbert Lange <nolange79 at gmail.com>
> >  F:	package/tcf-agent/
> >  
> > +N:	Nylon Chen <nylon7 at andestech.com>
> > +F:	arch/Config.in.nds32
> > +
> >  N:	Olaf Rempel <razzor at kopf-tisch.de>
> >  F:	package/ctorrent/
> >  
> > diff --git a/arch/Config.in b/arch/Config.in
> > index f50760a0cf..d82803c828 100644
> > --- a/arch/Config.in
> > +++ b/arch/Config.in
> > @@ -154,6 +154,14 @@ config BR2_mips64el
> >  	  http://www.mips.com/
> >  	  http://en.wikipedia.org/wiki/MIPS_Technologies
> >  
> > +config BR2_nds32
> > +	bool "nds32"
> > +	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
> 
> It would be nice that you provide a package for a pre-built toolchain,
> like we have for a few of them, see:
> 
>     toolchain/toolchain-external/
> 
> This is not mandatory, but would be a good addition.
> 
> It would even make the defconfig in your second patch a bit simpler.
> 
Ok,i will try this method
> > +	select BR2_ARCH_HAS_MMU_MANDATORY
> > +	help
> > +	  nds32 is a 32-bit architecture developed by Andes Technology.
> > +	  https://en.wikipedia.org/wiki/Andes_Technology
> > +
> >  config BR2_nios2
> >  	bool "Nios II"
> >  	select BR2_ARCH_HAS_MMU_MANDATORY
> > @@ -419,6 +427,10 @@ if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
> >  source "arch/Config.in.mips"
> >  endif
> >  
> > +if BR2_nds32
> > +source "arch/Config.in.nds32"
> > +endif
> > +
> >  if BR2_nios2
> >  source "arch/Config.in.nios2"
> >  endif
> > diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32
> > new file mode 100644
> > index 0000000000..38b1c2d4eb
> > --- /dev/null
> > +++ b/arch/Config.in.nds32
> > @@ -0,0 +1,19 @@
> > +config BR2_ARCH
> > +	default "nds32"
> > +
> > +config BR2_ANDES_NDS32_FPU
> > +	bool "Enable FPU coprocessor"
> > +	help
> > +	  You can say y here if your Andes CPU have a Floating-Point Coprocessor
> > +	  or if you need FPU support for your user-space programs.
> 
> So, the situation about FPU is always a bit icky for me.
> 
> If you say 'n' above, does that mean that you need to do a pure
> soft-float build, or that the FP instrcution get trapped an emulated
> by the kernel?
> 
> If the former, then you may want to check whether you need to select
> BR2_SOFT_FLOAT (a few packages have conditions based on that).
> 
> > +config BR2_GCC_TARGET_ARCH
> > +	default "v3"  if !BR2_ANDES_NDS32_FPU
> > +	default "v3f" if BR2_ANDES_NDS32_FPU
> 
> I always find it nicer to have the positive logic come first. Also,
> kconfig will stop on the first default stanza which condition is true,
> so:
> 
>     config BR2_GCC_TARGET_ARCH
>         default "v3f" if BR2_ANDES_NDS32_FPU
>         default "v3"
> 
Here is my negligence, thank you for your suggestion, i will adopt
> > +config BR2_ENDIAN
> > +	default "LITTLE"
> > +
> > +config BR2_READELF_ARCH_NAME
> > +	default "Andes Technology compact code size embedded RISC processor family"
> > +
> > -- 
> > 2.18.0
> > 
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list