SlideShare a Scribd company logo
1 of 42
Porting a New Architecture to
      OpenWrt Project



    Macpaul Lin & AndesTech
     COSCUP 2010/08/15
Who am I?
    โ—   Macpaul ( ้ฆฌๅ…‹ๆณก )
             โ—   ๆž—ๆ™บๆ–Œ
             โ—   Macpaul <at> gmail.com
             โ—   ้˜ฟๅฎ…
             โ—   ไบ‚ๅ…ฅ
             โ—   ็ถฒ่ทฏๆŠ€่ก“
             โ—   ๆœ€่ฟ‘ๅฐ็ดซๅพฎๆ–—ๆ•ธๆœ‰่ˆˆ่ถฃ
             โ—   ไธ‹ๆฌกๅœจ COSCUP ่ฆๆ“บ
                 ๅฉšๅ‹็คพๆ”คไฝ




2010/08/15
Outline
    โ—   Introduction.
    โ—   A new RISC architecture โ€“ NDS32.
    โ—   The framework of OpenWrt build system.
    โ—   Porting Items.
    โ—   Conclusion.




2010/08/15
Introduction
                       What is OpenWrt?
    โ—   If you bought a wireless router, you will also
        buy the following softwares.




         Ref:
         http://www.dataweek.co.za/news.aspx?pklNewsId=28298&pklCategoryID=42
2010/08/15
Introduction
                What is OpenWrt?



       A software framework to build firmware
              for those wireless routers.




2010/08/15
Introduction
                        What is OpenWrt?
   โ—   The most popular open source project for networking
       devices.
       โ—   A firmware/package build system (framework) for various kinds of SoC
           platforms and wireless routers.
   โ—   The workgroup of OpenWrt focuses onโ€ฆ
       โ—   Analyze the kernel/protocol differences between vendorsโ€™ code release
           and vanilla Linux kernel.
       โ—   Maintain the compatible firmware for vendorsโ€˜ boot loaders. (CRC, version
           headers)
       โ—   Keep the compatibility with driver binaries.
       โ—   Disassembled driver binary.
   โ—   Has been embedded in many companiesโ€™ successful
       products.
   โ—     It will pull the stable source code of each component
         from its project's site during compiling time.
2010/08/15
Introduction
                                   Topic Review.
     โ—   OSDC
           โ—   Porta2030 @ Taipei โ€“ 2007 (Macpaul)
     โ—   ICOS
           โ—   Porting WiFi router to OpenWrt โ€“ 2007 (Macpaul)
     โ—   COSCUP
           โ—   Router Hacking 101. โ€“ 2007 (Rex)
           โ—   OpenWrt and Case Study. โ€“ 2008 (Rex)
           โ—   OpenWRT, A value-add base solution for your product. โ€“ 2009 (Rex, Macpaul)
           โ—   Porting a New Architecture to OpenWrt Project. โ€“ 2010 (Macpaul)
     โ—   Co-play
           โ—   Porta2030 ็š„ๆœชไพ†ๅŠๆœชๅฏฆ็พ . โ€“ 2009 (Rex)
     โ—   ่‡ช็”ฑ่ปŸ้ซ”ๆŠ€่ก“ๅ……้›ป็ซ™ (OSSF)
           โ—   OpenWrt. โ€“ 2009 (Macpaul, Rex)
     โ—   Computex
2010/08/15 โ—   Andeswrt: NDS32 is ready for your OpenWrt Products. - 2010 (Macpaul)
Introduction
                  The trend of using OpenWrt.
    โ—   Community achievement
    โ—   Business achievement
             โ—   Networking Device Sellers / Manufacturer. (FON)
             โ—   ISP. (BT/Tomizone)
             โ—   Chip / IP Vendors. (Broadcom/Ubicom/Andes)
                  โ€“   All AndesTech CPU licensees for networking SoC
                      use OpenWrt.
             โ—   Software Solution Vendor.
                  โ€“   (OpenMesh, BATMAN, Savari)




2010/08/15
Introduction
                 The trend of using OpenWrt.


             D D -W R T                    O p e n W rt
               DDW RT




             C zech




              G e r m a n y , T a iw a n                  H o n g K o n g , C h in a
2010/08/15
Introduction
             The trend of using OpenWrt.
   โ—   OpenWrt Robot
   โ—   OpenWrt Gumdam




       http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Roboter_Controlling
       http://www.cuhkacs.org/~scli/blog/2007/09/fujiq_gundam_crisis.html
2010/08/15
Introduction
                                    About the Industry Chain.
                                                                               ๅ›ž ๅ ฑ ้Œฏ ่ชค
                                                                               ๆ ๅ‡บ ๅปบ ่ญฐ                       ๅ›ž ๅ ฑ ้Œฏ ่ชค

              S oC ไพ› ๆ‡‰ ๅ•†              ็ณป ็ตฑ ๆ•ด ๅˆ ๅป                                           ๅ“ ็‰Œ ๅป      ๆถˆ ่ฒป ่€…



                                                  ่‡ช ็”ฑ ่ปŸ ้ซ” ็คพ ็พค    ้™„ ๅŠ  ๅƒน ๅ€ผ ๅป  ๅ•†



                  ๆŸ ็‰ˆ ๆœฌ
             L in u x K e r n e l     ็”ข ๅ“ ๅŽŸ ๅž‹                                              ่ฒฉ ๅ”ฎ
                                                  ๆ›ด ๆ–ฐ ๅ‡ฝ ๅผ ๅบซ            ็”Ÿ ็”ข ๆธฌ ่ฉฆ                     ๅ›ž ๅ ฑ ้Œฏ ่ชค
                ้–‹ ็™ผ ๅทฅ ๅ…ท               ้–‹ ็™ผ ้ฉ— ่ญ‰                                            ็™ผ ไฝˆ ๆ›ด ๆ–ฐ
              ๆ ไพ› ๆ–ฐ ็ง‘ ๆŠ€



                                                  ๆ›ด ๆ–ฐ ้€š ่จŠ ๅ” ๅฎš




                                                  ๆ ๅ‡ ๆ•ˆ ่ƒฝ ๅŠ ไฟฎ
                                                   ๆญฃ ้Œฏ ่ชค ่ฃœ ็ถด



                                                  ้€š ่จŠ ๅ” ๅฎš ๅŠ ๆ•ด
                                                    ๅˆ ๅฎข ่ฃฝ ๅŒ–



                                                  ๆ•ด ๅˆ ็ฌฌ ไธ‰ ๆ–น ่ปŸ
                                                       ้ซ”



                                                  ๆ•ด ๅˆ ๅป  ๅ•† ๆ—ข ๆœ‰
                                                    ่ปŸ ้ซ” ๆžถ ๆง‹
                                                   O p en W rt


2010/08/15
Introduction
             About the Industry Chain.
    โ—   Embedded system hardware level.


                                      Hardware System
                Arch   CPU Core   SoC            And
                                              Other IC



        Most embedded software framework were
        organized according to different SoC.
    โ—   However everything was related to CPU
        architecture.
2010/08/15
A new RISC architecture - NDS32
    โ—   Invented by AndesTech Corporation.
    โ—   The innovative configurable platform solution
        allows Andesโ€™ customers to construct unique
        system architecture and hardware/software
        partitioning.
    โ—   Andes is invested by
         โ— MediaTek,

         โ— Faraday,

         โ— National Development Fund,

         โ— and other industry heavy weights.



2010/08/15
A new RISC architecture โ€“ NDS32
                     National Development Fund
    โ—   ็ฌฌๅ››ๆข ๆœฌๅŸบ้‡‘ไน‹ไพ†ๆบๅฆ‚ไธ‹๏ผš
             โ—   ไธ€ใ€ไธญ็พŽ็ถ“ๆฟŸ็คพๆœƒ็™ผๅฑ•ๅŸบ้‡‘๏ผš
                 โ€“ ( ไธ€ ) ๅ‰็พŽๆด้ …ไธ‹ๆ‰€่ก็”Ÿไน‹ๆ–ฐ่‡บๅนฃ่ณ‡้‡‘็ต้ค˜ใ€‚
                 โ€“ ( ไบŒ ) ๆœฌๅŸบ้‡‘้‹็”จๅพŒๅญณ็”Ÿไน‹ๆ”ถ็›Šใ€‚
                 โ€“ ( ไธ‰ ) ๆœฌๅŸบ้‡‘้‹็”จๅพŒไน‹่ณธ้ค˜ๅŠๅ…ถไป–็ถ“ๆ ธๅฎšๆ’ฅๅ…ฅไน‹ๆฌพ้ …ใ€‚
             โ—   ไบŒใ€้–‹็™ผๅŸบ้‡‘๏ผš
                 โ€“ ( ไธ€ ) ็”ฑๆ”ฟๅบœๅพช้ ็ฎ—็จ‹ๅบไน‹ๆ’ฅๆฌพใ€‚
                 โ€“ ( ไบŒ ) ๅœ‹้š›้–‹็™ผๅ”ๆœƒ่ฒธๆฌพ้‹็”จๅพŒๆ”ถๅ›žไน‹ๆœฌ้‡‘ๅŠๅญณๆฏใ€‚
                 โ€“ ( ไธ‰ ) ๆœฌๅŸบ้‡‘ไน‹ๆ”ถ็›Šใ€‚
                 โ€“ ( ๅ›› ) ๅ…ถไป–ๆœ‰้—œๆ”ถๅ…ฅใ€‚



2010/08/15
A new RISC architecture - NDS32
    โ—   Provide 3 different CPU core families for
        customers.




2010/08/15
A new RISC architecture - NDS32
    โ—   CPU Core (N9 as example)
             โ—   16/32bit mixable instruction format
             โ—   16 or 32 general-purpose 32-bit registers
             โ—   Multiple stage pipeline
             โ—   Aligned post-increment load/store single
             โ—   Aligned and unaligned load/store multiple
             โ—   Vectored interrupts with 6 signals for interrupt sources and 2
                 runtime options:
                  โ€“ the built-in internal interrupt controller for 6 interrupt sources
                  โ€“ the external interrupt controller with 64 interrupt sources
             โ—   2 or 3 HW nested interruption levels
             โ—   Memory-mapped I/O
             โ—   Non-Translated-Mapping (NTM) for cacheability attributes
2010/08/15
A new RISC architecture - NDS32
    โ—   Benefit (N9 as example)
             โ—   Performance
                  โ€“   16/32bit mixable instruction format for compacting code density
                  โ€“   Static branch predication
                  โ€“   Low-latency vectored interrupt for real-time performance
                  โ€“   Completion of one 32-bit operation per cycle
             โ—   Flexibility
                  โ€“   Memory-mapped IO space
                  โ€“   PC-relative jumps for position independent code
                  โ€“   JTAG-based debug support
                  โ€“   Support for bi-endian data accesses
                  โ€“   Several configurations to trade off between core size and application requirements
             โ—   Power Management
                  โ€“   Clock-gated pipeline
                  โ€“   Power management instructions

2010/08/15
A new RISC architecture โ€“ NDS32
            About the industry chain.
       N D S 3 2 is h e r e .                                                                                R ep o rt b u g s,
                                                                                                          R e q u e st fe a tu r e s                                   R ep ort b u gs

              S oC V en d or               S I /O D M /O E M                                                                           B ran d V en d or    C on su m er



                                                                     O p en S ou rce          V a lu e -a d d
                                                                     C o m m u n ity           V en d ors

             L in u x K e r n e l
               2 .X .X B S P ,              P r o to ty p in g ,                                                                             S a le ,      R ep ort b u gs,
                                                                         U p d a te                   P r o d u c tio n
                T o o lc h a in ,          D e v e lo p m e n t,                                                                          P r o v id e s      R eq u est
                                                                        L ib r a r ie s                  T e s tin g
                 w ith N e w                V e r ific a tio n .                                                                          U p d a te s.       fe a tu r e s
        T e c h n o lo g y s u p p o r t

                                                                         U p d a te
                                                                      N e tw o r k in g
                                                                        P ro to c o l


                                                                    E n h a n cem en t,                                                N D S 3 2 is h e r e .
                                                                        fix b u g s ,
                                                                   u p d a te p a tc h e s

      N D S 3 2 is h e r e .
                                                                   I n te g r a tio n a n d
                                                                    C u s to m iz a tio n
                                                                                                                                        N D S 3 2 is h e r e .
                                                                    In te g r a te 3 r d -
                                                                   P a r ty S o ftw a r e


                               N D S 3 2 is h e r e .               I n te g r a te w ith
                                                                         o r ig in a l
                                                                   S o ftw a r e A r c h .
                                                                       O p en W rt


2010/08/15
The framework of OpenWrt build system.

    โ—   Architectures           โ—   Target
             โ—   Target             โ—   Imagebuilder
             โ—   Toolchain          โ—   Linux
             โ—   Tools                  โ€“   Generic Kernel
             โ—   Scripts                โ€“   SoC
                                             โ—   Kernel versions
             โ—   Package                     โ—   Kernel patches
             โ—   Include                     โ—   Profiles
                                             โ—   System files
                                             โ—   Image formats
                                    โ—   SDK
                                    โ—   Toolchain
2010/08/15
The framework of OpenWrt build system.

    โ—   Toolchain                      โ—   Tools
             โ—   binutils                  โ—   autotools
             โ—   eglibc/glibc/uClibc       โ—   ccache
             โ—   gcc/llvm                  โ—   lzma
             โ—   gdb/insight               โ—   squashfs/ext3/ext2/
                                               yaffs
                                           โ—   ipkg
                                           โ—   sed
                                           โ—   etc.

2010/08/15
The framework of OpenWrt build system.

   โ—    Include
         โ—       $ARCH as $LINUX_KARCH for kernel.
         โ—       $DEFAULT_CFLAGS for $ARCH.
         โ—       Endian type for $ARCH.
         โ—       Data types in include/site/* for autotools.
    โ—   Scripts
             โ—   For maintaining system-wide tools and
                 definitions.



2010/08/15
The framework of OpenWrt build system.
                      Benefits - Flexibility.
    โ—   Flexibility
             โ—   You can use your customized toolchain to develop
                 your network products.
                 โ€“   External Toolchain.
                 โ€“   Customized toolchain patches.
             โ—   You can use customized Linux kernel (usually from
                 chip vendors) and drivers to develop your network
                 products.
                 โ€“   External kernel source tree.
                 โ€“   Customized kernel patches.
             โ—   You can add your applications to customize your
                 network products.
2010/08/15
The framework of OpenWrt build system.
                      Benefits - Flexibility.
    โ—   2 Ways To Develop OpenWrt with NDS32
        Architecture.
             โ—   AndesWrt with pre-build external toolchain to build NDS32 based OpenWrt
                 Firmware
                  โ€“ Very easy to use.
                  โ€“ Has been verified byโ€ฆ
                      โ— BSP 2.1.0 โ€“ Kernel 2.6.29, Gcc 3, glibc / uClibc

                      โ— AndeSight 1.4.0 โ€“ Kernel 2.6.29, Gcc 3, glibc / uClibc

             โ—   NDS32 Architecture is also supported for OpenWrt main trunk to build your
                 own NDS32 based toolchain.
                  โ€“ Has been verified byโ€ฆ
                      โ— Kernel 2.6.29,

                      โ— binutils 2.19.1

                      โ— Gcc 4.4.3

                      โ— uClibc 0.9.30.2

2010/08/15
Porting Items.
    โ—   Definitions in OpenWrt framework.
    โ—   toolchain โ€“ gcc, uClibc, binutil
    โ—   target โ€“ NDS32 Linux Kernel, ADP-AG101
    โ—   autotool data type โ€“ include/site
    โ—   u-boot
    โ—   busybox
    โ—   and other libraries and applications as well.


2010/08/15
Porting Items.
     โ—    include/kernel.mk                                    |    2 +-
     โ—    include/site/nds32-linux                             |   30 +
     โ—    include/site/nds32-openwrt-linux-gnu                 |    5 +
     โ—    include/site/nds32-openwrt-linux-uclibc              |    5 +
     โ—    include/site/nds32eb-linux                           |   30 +
     โ—    include/site/nds32eb-linux-openwrt-linux-gnu         |    5 +
     โ—    include/site/nds32eb-linux-openwrt-linux-uclibc      |    5 +
     โ—    include/target.mk                                    |    2 +
     โ—    scripts/config.sub                                   |    2 +
     โ—    target/Config.in                                     |    9 +
     โ—    target/linux/adpxc5/Makefile                         |   27 +
     โ—    target/linux/adpxc5/base-files.mk                    |    5 +
     โ—    .../base-files/etc/defconfig/generic/network         |   16 +
     โ—    target/linux/adpxc5/config-2.6.29                    | 242 +
     โ—    target/linux/adpxc5/config-2.6.32                    | 216 +
     โ—    target/linux/adpxc5/image/Makefile                   | 210 +
     โ—    .../adpxc5/patches-2.6.29/001-uImage_support.patch   |   35 +
     โ—    .../002-nds32_2_6_29_gcc4_support.patch              |   60 +
     โ—    target/linux/generic-2.6/config-2.6.29               | 2343 +
     โ—    .../000-nds32_arch_basic_2_6_29.patch                |74781 +++++++++
     โ—    .../2.19.1/802-Add-nds32-target-support.patch        |169128 ++++++++++++++++++++
     โ—    ...utils-2.19.1-from-binutils-2.15-in-v1.4-t.patch   | 2143 +
     โ—    .../patches/2.19.1/804-Add-nds32-cgen.patch          | 5945 +
     โ—    toolchain/gcc/Config.in                              |    2 +
     โ—    toolchain/gcc/Config.version                         |    1 +
     โ—    .../gcc/patches/4.4.3/995-nds32_support.patch        |26078 +++
     โ—    toolchain/uClibc/Config.version                      |    3 +
     โ—    toolchain/uClibc/Makefile                            |    2 +
     โ—    toolchain/uClibc/config-0.9.30.2/common              |    1 +
     โ—    toolchain/uClibc/config-0.9.30.2/nds32               |   74 +
     โ—    toolchain/uClibc/config-0.9.30.2/nds32eb             |   74 +
     โ—    .../patches-0.9.30.2/800-nds32_support.patch         | 7778 +
2010/08/15tools/mkimage/Makefile
     โ—                                                         |    5 +-
Porting Items.
                             Toolchains.
    โ—   Add NDS32 architecture related definitions
        and dependency into Config.in.
    โ—   Make modularized patches and default
        configurations.
    โ—   Make the diff (patch) from git repository
        according to the stable release.
             โ—   Binutils
             โ—   uClibc
             โ—   gcc

2010/08/15
Porting Items.
                        Target.
    โ—   Add SoC (AG101) directory.
    โ—   Add Profile (model) related files.
    โ—   Setup default configuration of kernel.
    โ—   Add architecture specific kernel patches.
    โ—   Make patch (git diff) according to a specific
        stable release version.



2010/08/15
Porting Items.
                        Kernel.
    โ—   Setup default configuration for generic
        kernel.
    โ—   Setup default configuration for architecture
        related codes.
    โ—   Add architecture related patches into the
        patch set.
    โ—   Make patch (git diff) according to a specific
        stable release version.

2010/08/15
Porting Items.
    โ—   Release early, release often.
             int maintain_patch;
             while (porting_done()) {
                 if (commit ())
                      break;
                 else {
                      other_patches_coming ();
                      fix_patch();
                      maintain_patch();
                      maintain_patch++;
                      delay_schedule();
                 }
             }
    โ—   Commit patches to the most root open source projects.
2010/08/15
Porting Items.
                                 U-boot.
    โ—   Mailing list: u-boot@lists.denx.de
    โ—   The custodian system.
             โ—   http://www.denx.de/wiki/U-Boot/CustodianGitTrees




2010/08/15
Porting Items.
                                 U-boot.
    โ—   Mailing list: u-boot@lists.denx.de
    โ—   The custodian system.
             โ—   http://www.denx.de/wiki/U-Boot/CustodianGitTrees




                              http://www.toei-anim.co.jp/sp/seiya/
2010/08/15
Porting Items.
                       U-boot.




    โ—   Current we are fixing Patch v3.
2010/08/15
Porting Items.
                                U-boot.
    โ—   The framework of u-boot.
             โ—   Codes are classified into multiple levels,
                  โ€“ Architectures, Cores, SoC, Board, Models,
                    company.
             โ—   arch โ€“ cpu (init asm), include, lib (board).
             โ—   api
             โ—   common โ€“ common commands.
             โ—   board โ€“ evb or products.
             โ—   drivers โ€“ peripheral drivers.
             โ—   includes โ€“ configs and other include headers.
             โ—   examples/standalone
2010/08/15
Conclusion




2010/08/15
Conclusion




             Never live demo.
             โ—




2010/08/15
Conclusion
    โ—   However, once the component of OpenWrt
        evolved to a new version, we will need to re-
        generate the corresponding patches again.
    โ—   Do the right things first, then do the things
        right.
    โ—   If you do not commit the source code into
        the mainline open source projects, you will
        suffer pain when maintaining patches for
        your customers.

2010/08/15
Conclusion




        Next Summer!
             NDS32 RISC CPU with GPU SoC!



2010/08/15
Conclusion



              To build a Gundam with NDS32 inside is nothing.
                  ๅšไธ€ๅฐๆœ‰ NDS32 CPU ็š„ๅ‰›ๅฝˆไธ็ฎ—ไป€้บผใ€‚

             Only one person can drive the Gundam.
                   ๅชๆœ‰ไธ€ๅ€‹ไบบๅฏไปฅ้ง•้ง›ๅ‰›ๅฝˆใ€‚



2010/08/15
Conclusion

             To build a Ubuntu (debain)
                     distribution
             with NDS32 is something.

    Everyone can use it.
2010/08/15
Conclusion
    โ—   AndesTech provides Andes Open Source
        SDK.
             โ—   http://osdk.andestech.com/
                 โ€“   QEMU
                 โ€“   Kernel
                 โ€“   Toolchain




2010/08/15
Advertisement
    โ—   NDS32 architecture powered by Andes is ready for your
        OpenWrt products.
    โ—   If you are interested, Please contact our sales or HRโ€ฆ


        Andes Technology Corporation
        2F, No.1, Li-Hsin First Road, Science-Based Industrial Park,
        Hsin-Chu City, Taiwan 300 R.O.C (SiSoft Research Center)
           Tel: +886-3-6668300 Fax: +886-3-6668322
        Business : sales@andestech.com
        Technical : support@andestech.com




2010/08/15
Copyrights
    โ—   All the Logo and trademarks belongs to
             โ—   AndesTech Corporation.




2010/08/15

More Related Content

What's hot

U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
ย 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
Houcheng Lin
ย 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
mukul bhardwaj
ย 

What's hot (20)

U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
ย 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
ย 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
ย 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
ย 
I2c drivers
I2c driversI2c drivers
I2c drivers
ย 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
ย 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
ย 
Site-to-Site IPSEC VPN Between Cisco ASA and Pfsense
Site-to-Site IPSEC VPN Between Cisco ASA and PfsenseSite-to-Site IPSEC VPN Between Cisco ASA and Pfsense
Site-to-Site IPSEC VPN Between Cisco ASA and Pfsense
ย 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
ย 
LAS16-402: ARM Trusted Firmware โ€“ from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware โ€“ from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware โ€“ from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware โ€“ from Enterprise to Embedded
ย 
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
ย 
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
ย 
Linux Usb overview
Linux Usb  overviewLinux Usb  overview
Linux Usb overview
ย 
Embedded linux network device driver development
Embedded linux network device driver developmentEmbedded linux network device driver development
Embedded linux network device driver development
ย 
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemTutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
ย 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
ย 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
ย 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
ย 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
ย 
OpenflowๅฎŸ้จ“
OpenflowๅฎŸ้จ“OpenflowๅฎŸ้จ“
OpenflowๅฎŸ้จ“
ย 

Viewers also liked

OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007
Rex Tsai
ย 
ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹
ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹
ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹
Macpaul Lin
ย 
U boot source clean up project how-to
U boot source clean up project how-toU boot source clean up project how-to
U boot source clean up project how-to
Macpaul Lin
ย 
How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015
Macpaul Lin
ย 
Why sending patches back is so important
Why sending patches back is so importantWhy sending patches back is so important
Why sending patches back is so important
Macpaul Lin
ย 
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
Macpaul Lin
ย 
ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—
ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—
ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—
Macpaul Lin
ย 
USB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device FrameworkUSB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device Framework
Macpaul Lin
ย 

Viewers also liked (18)

OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
ย 
OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007
ย 
ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹
ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹
ๆ”ฟ้ปจ็ฅจ็š„ๆ•…ไบ‹
ย 
Porting linux to a new architecture
Porting linux to a new architecturePorting linux to a new architecture
Porting linux to a new architecture
ย 
Linux Porting
Linux PortingLinux Porting
Linux Porting
ย 
U boot ็จ‹ๅผ็ขผๆ‰“ๆŽƒ่จˆ็•ซ
U boot ็จ‹ๅผ็ขผๆ‰“ๆŽƒ่จˆ็•ซU boot ็จ‹ๅผ็ขผๆ‰“ๆŽƒ่จˆ็•ซ
U boot ็จ‹ๅผ็ขผๆ‰“ๆŽƒ่จˆ็•ซ
ย 
U boot source clean up project how-to
U boot source clean up project how-toU boot source clean up project how-to
U boot source clean up project how-to
ย 
How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015
ย 
Why sending patches back is so important
Why sending patches back is so importantWhy sending patches back is so important
Why sending patches back is so important
ย 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
ย 
Qt5 embedded
Qt5 embeddedQt5 embedded
Qt5 embedded
ย 
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)OpenWRT, A value-add base solution for your product. (2nd, Macpual)
OpenWRT, A value-add base solution for your product. (2nd, Macpual)
ย 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
ย 
Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)
ย 
Porting Android
Porting AndroidPorting Android
Porting Android
ย 
ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—
ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—
ๅพžu-boot ็งปๆค NDS32 ่ซ‡ ๅตŒๅ…ฅๅผ็ณป็ตฑ้–‹ๆ”พๅŽŸๅง‹็ขผ้–‹็™ผ็š„ ไธ€ไบ›็ถ“้ฉ—
ย 
USB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device FrameworkUSB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device Framework
ย 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
ย 

Similar to Porting a new architecture (NDS32) to open wrt project

Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
sarinsahab
ย 
A new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asicsA new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asics
ijsc
ย 
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS  A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
ijsc
ย 

Similar to Porting a new architecture (NDS32) to open wrt project (20)

Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
ย 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
ย 
Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio
ย 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
ย 
LAS16 100 K1 - Keynote George Grey
LAS16 100 K1 - Keynote George GreyLAS16 100 K1 - Keynote George Grey
LAS16 100 K1 - Keynote George Grey
ย 
LAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome KeynoteLAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome Keynote
ย 
Henry s software_engineer__resume _07_15_new
Henry s software_engineer__resume _07_15_newHenry s software_engineer__resume _07_15_new
Henry s software_engineer__resume _07_15_new
ย 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
ย 
Nanaji_Jonnadula
Nanaji_JonnadulaNanaji_Jonnadula
Nanaji_Jonnadula
ย 
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxEclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
ย 
Leveraging open source for large scale analytics
Leveraging open source for large scale analyticsLeveraging open source for large scale analytics
Leveraging open source for large scale analytics
ย 
Eclipse RT Day
Eclipse RT DayEclipse RT Day
Eclipse RT Day
ย 
BKK16-100K1 George Grey, Linaro CEO Opening Keynote
BKK16-100K1 George Grey, Linaro CEO Opening KeynoteBKK16-100K1 George Grey, Linaro CEO Opening Keynote
BKK16-100K1 George Grey, Linaro CEO Opening Keynote
ย 
A new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asicsA new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asics
ย 
Aplit-Soft
Aplit-Soft Aplit-Soft
Aplit-Soft
ย 
Intels presentation at blue line industrial computer seminar
Intels presentation at blue line industrial computer seminarIntels presentation at blue line industrial computer seminar
Intels presentation at blue line industrial computer seminar
ย 
LCU14 Keynote by George Grey
LCU14 Keynote by George GreyLCU14 Keynote by George Grey
LCU14 Keynote by George Grey
ย 
Sa*ple
Sa*pleSa*ple
Sa*ple
ย 
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS  A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
ย 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
ย 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(โ˜Ž๏ธ+971_581248768%)**%*]'#abortion pills for sale in dubai@
ย 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
ย 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
ย 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
ย 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
ย 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
ย 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
ย 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
ย 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
ย 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
ย 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
ย 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
ย 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
ย 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
ย 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
ย 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
ย 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
ย 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
ย 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
ย 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
ย 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
ย 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
ย 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
ย 

Porting a new architecture (NDS32) to open wrt project

  • 1. Porting a New Architecture to OpenWrt Project Macpaul Lin & AndesTech COSCUP 2010/08/15
  • 2. Who am I? โ— Macpaul ( ้ฆฌๅ…‹ๆณก ) โ— ๆž—ๆ™บๆ–Œ โ— Macpaul <at> gmail.com โ— ้˜ฟๅฎ… โ— ไบ‚ๅ…ฅ โ— ็ถฒ่ทฏๆŠ€่ก“ โ— ๆœ€่ฟ‘ๅฐ็ดซๅพฎๆ–—ๆ•ธๆœ‰่ˆˆ่ถฃ โ— ไธ‹ๆฌกๅœจ COSCUP ่ฆๆ“บ ๅฉšๅ‹็คพๆ”คไฝ 2010/08/15
  • 3. Outline โ— Introduction. โ— A new RISC architecture โ€“ NDS32. โ— The framework of OpenWrt build system. โ— Porting Items. โ— Conclusion. 2010/08/15
  • 4. Introduction What is OpenWrt? โ— If you bought a wireless router, you will also buy the following softwares. Ref: http://www.dataweek.co.za/news.aspx?pklNewsId=28298&pklCategoryID=42 2010/08/15
  • 5. Introduction What is OpenWrt? A software framework to build firmware for those wireless routers. 2010/08/15
  • 6. Introduction What is OpenWrt? โ— The most popular open source project for networking devices. โ— A firmware/package build system (framework) for various kinds of SoC platforms and wireless routers. โ— The workgroup of OpenWrt focuses onโ€ฆ โ— Analyze the kernel/protocol differences between vendorsโ€™ code release and vanilla Linux kernel. โ— Maintain the compatible firmware for vendorsโ€˜ boot loaders. (CRC, version headers) โ— Keep the compatibility with driver binaries. โ— Disassembled driver binary. โ— Has been embedded in many companiesโ€™ successful products. โ— It will pull the stable source code of each component from its project's site during compiling time. 2010/08/15
  • 7. Introduction Topic Review. โ— OSDC โ— Porta2030 @ Taipei โ€“ 2007 (Macpaul) โ— ICOS โ— Porting WiFi router to OpenWrt โ€“ 2007 (Macpaul) โ— COSCUP โ— Router Hacking 101. โ€“ 2007 (Rex) โ— OpenWrt and Case Study. โ€“ 2008 (Rex) โ— OpenWRT, A value-add base solution for your product. โ€“ 2009 (Rex, Macpaul) โ— Porting a New Architecture to OpenWrt Project. โ€“ 2010 (Macpaul) โ— Co-play โ— Porta2030 ็š„ๆœชไพ†ๅŠๆœชๅฏฆ็พ . โ€“ 2009 (Rex) โ— ่‡ช็”ฑ่ปŸ้ซ”ๆŠ€่ก“ๅ……้›ป็ซ™ (OSSF) โ— OpenWrt. โ€“ 2009 (Macpaul, Rex) โ— Computex 2010/08/15 โ— Andeswrt: NDS32 is ready for your OpenWrt Products. - 2010 (Macpaul)
  • 8. Introduction The trend of using OpenWrt. โ— Community achievement โ— Business achievement โ— Networking Device Sellers / Manufacturer. (FON) โ— ISP. (BT/Tomizone) โ— Chip / IP Vendors. (Broadcom/Ubicom/Andes) โ€“ All AndesTech CPU licensees for networking SoC use OpenWrt. โ— Software Solution Vendor. โ€“ (OpenMesh, BATMAN, Savari) 2010/08/15
  • 9. Introduction The trend of using OpenWrt. D D -W R T O p e n W rt DDW RT C zech G e r m a n y , T a iw a n H o n g K o n g , C h in a 2010/08/15
  • 10. Introduction The trend of using OpenWrt. โ— OpenWrt Robot โ— OpenWrt Gumdam http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Roboter_Controlling http://www.cuhkacs.org/~scli/blog/2007/09/fujiq_gundam_crisis.html 2010/08/15
  • 11. Introduction About the Industry Chain. ๅ›ž ๅ ฑ ้Œฏ ่ชค ๆ ๅ‡บ ๅปบ ่ญฐ ๅ›ž ๅ ฑ ้Œฏ ่ชค S oC ไพ› ๆ‡‰ ๅ•† ็ณป ็ตฑ ๆ•ด ๅˆ ๅป  ๅ“ ็‰Œ ๅป  ๆถˆ ่ฒป ่€… ่‡ช ็”ฑ ่ปŸ ้ซ” ็คพ ็พค ้™„ ๅŠ  ๅƒน ๅ€ผ ๅป  ๅ•† ๆŸ ็‰ˆ ๆœฌ L in u x K e r n e l ็”ข ๅ“ ๅŽŸ ๅž‹ ่ฒฉ ๅ”ฎ ๆ›ด ๆ–ฐ ๅ‡ฝ ๅผ ๅบซ ็”Ÿ ็”ข ๆธฌ ่ฉฆ ๅ›ž ๅ ฑ ้Œฏ ่ชค ้–‹ ็™ผ ๅทฅ ๅ…ท ้–‹ ็™ผ ้ฉ— ่ญ‰ ็™ผ ไฝˆ ๆ›ด ๆ–ฐ ๆ ไพ› ๆ–ฐ ็ง‘ ๆŠ€ ๆ›ด ๆ–ฐ ้€š ่จŠ ๅ” ๅฎš ๆ ๅ‡ ๆ•ˆ ่ƒฝ ๅŠ ไฟฎ ๆญฃ ้Œฏ ่ชค ่ฃœ ็ถด ้€š ่จŠ ๅ” ๅฎš ๅŠ ๆ•ด ๅˆ ๅฎข ่ฃฝ ๅŒ– ๆ•ด ๅˆ ็ฌฌ ไธ‰ ๆ–น ่ปŸ ้ซ” ๆ•ด ๅˆ ๅป  ๅ•† ๆ—ข ๆœ‰ ่ปŸ ้ซ” ๆžถ ๆง‹ O p en W rt 2010/08/15
  • 12. Introduction About the Industry Chain. โ— Embedded system hardware level. Hardware System Arch CPU Core SoC And Other IC Most embedded software framework were organized according to different SoC. โ— However everything was related to CPU architecture. 2010/08/15
  • 13. A new RISC architecture - NDS32 โ— Invented by AndesTech Corporation. โ— The innovative configurable platform solution allows Andesโ€™ customers to construct unique system architecture and hardware/software partitioning. โ— Andes is invested by โ— MediaTek, โ— Faraday, โ— National Development Fund, โ— and other industry heavy weights. 2010/08/15
  • 14. A new RISC architecture โ€“ NDS32 National Development Fund โ— ็ฌฌๅ››ๆข ๆœฌๅŸบ้‡‘ไน‹ไพ†ๆบๅฆ‚ไธ‹๏ผš โ— ไธ€ใ€ไธญ็พŽ็ถ“ๆฟŸ็คพๆœƒ็™ผๅฑ•ๅŸบ้‡‘๏ผš โ€“ ( ไธ€ ) ๅ‰็พŽๆด้ …ไธ‹ๆ‰€่ก็”Ÿไน‹ๆ–ฐ่‡บๅนฃ่ณ‡้‡‘็ต้ค˜ใ€‚ โ€“ ( ไบŒ ) ๆœฌๅŸบ้‡‘้‹็”จๅพŒๅญณ็”Ÿไน‹ๆ”ถ็›Šใ€‚ โ€“ ( ไธ‰ ) ๆœฌๅŸบ้‡‘้‹็”จๅพŒไน‹่ณธ้ค˜ๅŠๅ…ถไป–็ถ“ๆ ธๅฎšๆ’ฅๅ…ฅไน‹ๆฌพ้ …ใ€‚ โ— ไบŒใ€้–‹็™ผๅŸบ้‡‘๏ผš โ€“ ( ไธ€ ) ็”ฑๆ”ฟๅบœๅพช้ ็ฎ—็จ‹ๅบไน‹ๆ’ฅๆฌพใ€‚ โ€“ ( ไบŒ ) ๅœ‹้š›้–‹็™ผๅ”ๆœƒ่ฒธๆฌพ้‹็”จๅพŒๆ”ถๅ›žไน‹ๆœฌ้‡‘ๅŠๅญณๆฏใ€‚ โ€“ ( ไธ‰ ) ๆœฌๅŸบ้‡‘ไน‹ๆ”ถ็›Šใ€‚ โ€“ ( ๅ›› ) ๅ…ถไป–ๆœ‰้—œๆ”ถๅ…ฅใ€‚ 2010/08/15
  • 15. A new RISC architecture - NDS32 โ— Provide 3 different CPU core families for customers. 2010/08/15
  • 16. A new RISC architecture - NDS32 โ— CPU Core (N9 as example) โ— 16/32bit mixable instruction format โ— 16 or 32 general-purpose 32-bit registers โ— Multiple stage pipeline โ— Aligned post-increment load/store single โ— Aligned and unaligned load/store multiple โ— Vectored interrupts with 6 signals for interrupt sources and 2 runtime options: โ€“ the built-in internal interrupt controller for 6 interrupt sources โ€“ the external interrupt controller with 64 interrupt sources โ— 2 or 3 HW nested interruption levels โ— Memory-mapped I/O โ— Non-Translated-Mapping (NTM) for cacheability attributes 2010/08/15
  • 17. A new RISC architecture - NDS32 โ— Benefit (N9 as example) โ— Performance โ€“ 16/32bit mixable instruction format for compacting code density โ€“ Static branch predication โ€“ Low-latency vectored interrupt for real-time performance โ€“ Completion of one 32-bit operation per cycle โ— Flexibility โ€“ Memory-mapped IO space โ€“ PC-relative jumps for position independent code โ€“ JTAG-based debug support โ€“ Support for bi-endian data accesses โ€“ Several configurations to trade off between core size and application requirements โ— Power Management โ€“ Clock-gated pipeline โ€“ Power management instructions 2010/08/15
  • 18. A new RISC architecture โ€“ NDS32 About the industry chain. N D S 3 2 is h e r e . R ep o rt b u g s, R e q u e st fe a tu r e s R ep ort b u gs S oC V en d or S I /O D M /O E M B ran d V en d or C on su m er O p en S ou rce V a lu e -a d d C o m m u n ity V en d ors L in u x K e r n e l 2 .X .X B S P , P r o to ty p in g , S a le , R ep ort b u gs, U p d a te P r o d u c tio n T o o lc h a in , D e v e lo p m e n t, P r o v id e s R eq u est L ib r a r ie s T e s tin g w ith N e w V e r ific a tio n . U p d a te s. fe a tu r e s T e c h n o lo g y s u p p o r t U p d a te N e tw o r k in g P ro to c o l E n h a n cem en t, N D S 3 2 is h e r e . fix b u g s , u p d a te p a tc h e s N D S 3 2 is h e r e . I n te g r a tio n a n d C u s to m iz a tio n N D S 3 2 is h e r e . In te g r a te 3 r d - P a r ty S o ftw a r e N D S 3 2 is h e r e . I n te g r a te w ith o r ig in a l S o ftw a r e A r c h . O p en W rt 2010/08/15
  • 19. The framework of OpenWrt build system. โ— Architectures โ— Target โ— Target โ— Imagebuilder โ— Toolchain โ— Linux โ— Tools โ€“ Generic Kernel โ— Scripts โ€“ SoC โ— Kernel versions โ— Package โ— Kernel patches โ— Include โ— Profiles โ— System files โ— Image formats โ— SDK โ— Toolchain 2010/08/15
  • 20. The framework of OpenWrt build system. โ— Toolchain โ— Tools โ— binutils โ— autotools โ— eglibc/glibc/uClibc โ— ccache โ— gcc/llvm โ— lzma โ— gdb/insight โ— squashfs/ext3/ext2/ yaffs โ— ipkg โ— sed โ— etc. 2010/08/15
  • 21. The framework of OpenWrt build system. โ— Include โ— $ARCH as $LINUX_KARCH for kernel. โ— $DEFAULT_CFLAGS for $ARCH. โ— Endian type for $ARCH. โ— Data types in include/site/* for autotools. โ— Scripts โ— For maintaining system-wide tools and definitions. 2010/08/15
  • 22. The framework of OpenWrt build system. Benefits - Flexibility. โ— Flexibility โ— You can use your customized toolchain to develop your network products. โ€“ External Toolchain. โ€“ Customized toolchain patches. โ— You can use customized Linux kernel (usually from chip vendors) and drivers to develop your network products. โ€“ External kernel source tree. โ€“ Customized kernel patches. โ— You can add your applications to customize your network products. 2010/08/15
  • 23. The framework of OpenWrt build system. Benefits - Flexibility. โ— 2 Ways To Develop OpenWrt with NDS32 Architecture. โ— AndesWrt with pre-build external toolchain to build NDS32 based OpenWrt Firmware โ€“ Very easy to use. โ€“ Has been verified byโ€ฆ โ— BSP 2.1.0 โ€“ Kernel 2.6.29, Gcc 3, glibc / uClibc โ— AndeSight 1.4.0 โ€“ Kernel 2.6.29, Gcc 3, glibc / uClibc โ— NDS32 Architecture is also supported for OpenWrt main trunk to build your own NDS32 based toolchain. โ€“ Has been verified byโ€ฆ โ— Kernel 2.6.29, โ— binutils 2.19.1 โ— Gcc 4.4.3 โ— uClibc 0.9.30.2 2010/08/15
  • 24. Porting Items. โ— Definitions in OpenWrt framework. โ— toolchain โ€“ gcc, uClibc, binutil โ— target โ€“ NDS32 Linux Kernel, ADP-AG101 โ— autotool data type โ€“ include/site โ— u-boot โ— busybox โ— and other libraries and applications as well. 2010/08/15
  • 25. Porting Items. โ— include/kernel.mk | 2 +- โ— include/site/nds32-linux | 30 + โ— include/site/nds32-openwrt-linux-gnu | 5 + โ— include/site/nds32-openwrt-linux-uclibc | 5 + โ— include/site/nds32eb-linux | 30 + โ— include/site/nds32eb-linux-openwrt-linux-gnu | 5 + โ— include/site/nds32eb-linux-openwrt-linux-uclibc | 5 + โ— include/target.mk | 2 + โ— scripts/config.sub | 2 + โ— target/Config.in | 9 + โ— target/linux/adpxc5/Makefile | 27 + โ— target/linux/adpxc5/base-files.mk | 5 + โ— .../base-files/etc/defconfig/generic/network | 16 + โ— target/linux/adpxc5/config-2.6.29 | 242 + โ— target/linux/adpxc5/config-2.6.32 | 216 + โ— target/linux/adpxc5/image/Makefile | 210 + โ— .../adpxc5/patches-2.6.29/001-uImage_support.patch | 35 + โ— .../002-nds32_2_6_29_gcc4_support.patch | 60 + โ— target/linux/generic-2.6/config-2.6.29 | 2343 + โ— .../000-nds32_arch_basic_2_6_29.patch |74781 +++++++++ โ— .../2.19.1/802-Add-nds32-target-support.patch |169128 ++++++++++++++++++++ โ— ...utils-2.19.1-from-binutils-2.15-in-v1.4-t.patch | 2143 + โ— .../patches/2.19.1/804-Add-nds32-cgen.patch | 5945 + โ— toolchain/gcc/Config.in | 2 + โ— toolchain/gcc/Config.version | 1 + โ— .../gcc/patches/4.4.3/995-nds32_support.patch |26078 +++ โ— toolchain/uClibc/Config.version | 3 + โ— toolchain/uClibc/Makefile | 2 + โ— toolchain/uClibc/config-0.9.30.2/common | 1 + โ— toolchain/uClibc/config-0.9.30.2/nds32 | 74 + โ— toolchain/uClibc/config-0.9.30.2/nds32eb | 74 + โ— .../patches-0.9.30.2/800-nds32_support.patch | 7778 + 2010/08/15tools/mkimage/Makefile โ— | 5 +-
  • 26. Porting Items. Toolchains. โ— Add NDS32 architecture related definitions and dependency into Config.in. โ— Make modularized patches and default configurations. โ— Make the diff (patch) from git repository according to the stable release. โ— Binutils โ— uClibc โ— gcc 2010/08/15
  • 27. Porting Items. Target. โ— Add SoC (AG101) directory. โ— Add Profile (model) related files. โ— Setup default configuration of kernel. โ— Add architecture specific kernel patches. โ— Make patch (git diff) according to a specific stable release version. 2010/08/15
  • 28. Porting Items. Kernel. โ— Setup default configuration for generic kernel. โ— Setup default configuration for architecture related codes. โ— Add architecture related patches into the patch set. โ— Make patch (git diff) according to a specific stable release version. 2010/08/15
  • 29. Porting Items. โ— Release early, release often. int maintain_patch; while (porting_done()) { if (commit ()) break; else { other_patches_coming (); fix_patch(); maintain_patch(); maintain_patch++; delay_schedule(); } } โ— Commit patches to the most root open source projects. 2010/08/15
  • 30. Porting Items. U-boot. โ— Mailing list: u-boot@lists.denx.de โ— The custodian system. โ— http://www.denx.de/wiki/U-Boot/CustodianGitTrees 2010/08/15
  • 31. Porting Items. U-boot. โ— Mailing list: u-boot@lists.denx.de โ— The custodian system. โ— http://www.denx.de/wiki/U-Boot/CustodianGitTrees http://www.toei-anim.co.jp/sp/seiya/ 2010/08/15
  • 32. Porting Items. U-boot. โ— Current we are fixing Patch v3. 2010/08/15
  • 33. Porting Items. U-boot. โ— The framework of u-boot. โ— Codes are classified into multiple levels, โ€“ Architectures, Cores, SoC, Board, Models, company. โ— arch โ€“ cpu (init asm), include, lib (board). โ— api โ— common โ€“ common commands. โ— board โ€“ evb or products. โ— drivers โ€“ peripheral drivers. โ— includes โ€“ configs and other include headers. โ— examples/standalone 2010/08/15
  • 35. Conclusion Never live demo. โ— 2010/08/15
  • 36. Conclusion โ— However, once the component of OpenWrt evolved to a new version, we will need to re- generate the corresponding patches again. โ— Do the right things first, then do the things right. โ— If you do not commit the source code into the mainline open source projects, you will suffer pain when maintaining patches for your customers. 2010/08/15
  • 37. Conclusion Next Summer! NDS32 RISC CPU with GPU SoC! 2010/08/15
  • 38. Conclusion To build a Gundam with NDS32 inside is nothing. ๅšไธ€ๅฐๆœ‰ NDS32 CPU ็š„ๅ‰›ๅฝˆไธ็ฎ—ไป€้บผใ€‚ Only one person can drive the Gundam. ๅชๆœ‰ไธ€ๅ€‹ไบบๅฏไปฅ้ง•้ง›ๅ‰›ๅฝˆใ€‚ 2010/08/15
  • 39. Conclusion To build a Ubuntu (debain) distribution with NDS32 is something. Everyone can use it. 2010/08/15
  • 40. Conclusion โ— AndesTech provides Andes Open Source SDK. โ— http://osdk.andestech.com/ โ€“ QEMU โ€“ Kernel โ€“ Toolchain 2010/08/15
  • 41. Advertisement โ— NDS32 architecture powered by Andes is ready for your OpenWrt products. โ— If you are interested, Please contact our sales or HRโ€ฆ Andes Technology Corporation 2F, No.1, Li-Hsin First Road, Science-Based Industrial Park, Hsin-Chu City, Taiwan 300 R.O.C (SiSoft Research Center) Tel: +886-3-6668300 Fax: +886-3-6668322 Business : sales@andestech.com Technical : support@andestech.com 2010/08/15
  • 42. Copyrights โ— All the Logo and trademarks belongs to โ— AndesTech Corporation. 2010/08/15