SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
hugo lu
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
chancelab
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
 

Was ist angesagt? (20)

Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Whoops! I Rewrote It in Rust
Whoops! I Rewrote It in RustWhoops! I Rewrote It in Rust
Whoops! I Rewrote It in Rust
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
Service Function Chaining with SRv6
Service Function Chaining with SRv6Service Function Chaining with SRv6
Service Function Chaining with SRv6
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
 
DPDK QoS
DPDK QoSDPDK QoS
DPDK QoS
 
Ifupdown2: Network Interface Manager
Ifupdown2: Network Interface ManagerIfupdown2: Network Interface Manager
Ifupdown2: Network Interface Manager
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
U boot-boot-flow
 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
 
Introduction to BTRFS and ZFS
Introduction to BTRFS and ZFSIntroduction to BTRFS and ZFS
Introduction to BTRFS and ZFS
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能についてDeep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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