SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
 

La actualidad más candente (20)

仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理
 
Hands-on ethernet driver
Hands-on ethernet driverHands-on ethernet driver
Hands-on ethernet driver
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stable
 
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
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
semaphore & mutex.pdf
semaphore & mutex.pdfsemaphore & mutex.pdf
semaphore & mutex.pdf
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 

Destacado

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
 
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
 
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
 

Destacado (19)

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
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
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 a Porting a new architecture (NDS32) to open wrt project

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 a 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
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+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
 
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
 

Último (20)

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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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...
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+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...
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 

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