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



    Macpaul Lin & AndesTech
     COSCUP 2010/08/15
Who am I?
    ●   Macpaul ( 馬克泡 )
             ●   林智斌
             ●   Macpaul <at> gmail.com
             ●   阿宅
             ●   亂入
             ●   網路技術
             ●   最近對紫微斗數有興趣
             ●   下次在 COSCUP 要擺
                 婚友社攤位




2010/08/15
Outline
    ●   Introduction.
    ●   A new RISC architecture – NDS32.
    ●   The framework of OpenWrt build system.
    ●   Porting Items.
    ●   Conclusion.




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




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



       A software framework to build firmware
              for those wireless routers.




2010/08/15
Introduction
                        What is OpenWrt?
   ●   The most popular open source project for networking
       devices.
       ●   A firmware/package build system (framework) for various kinds of SoC
           platforms and wireless routers.
   ●   The workgroup of OpenWrt focuses on…
       ●   Analyze the kernel/protocol differences between vendors’ code release
           and vanilla Linux kernel.
       ●   Maintain the compatible firmware for vendors‘ boot loaders. (CRC, version
           headers)
       ●   Keep the compatibility with driver binaries.
       ●   Disassembled driver binary.
   ●   Has been embedded in many companies’ successful
       products.
   ●     It will pull the stable source code of each component
         from its project's site during compiling time.
2010/08/15
Introduction
                                   Topic Review.
     ●   OSDC
           ●   Porta2030 @ Taipei – 2007 (Macpaul)
     ●   ICOS
           ●   Porting WiFi router to OpenWrt – 2007 (Macpaul)
     ●   COSCUP
           ●   Router Hacking 101. – 2007 (Rex)
           ●   OpenWrt and Case Study. – 2008 (Rex)
           ●   OpenWRT, A value-add base solution for your product. – 2009 (Rex, Macpaul)
           ●   Porting a New Architecture to OpenWrt Project. – 2010 (Macpaul)
     ●   Co-play
           ●   Porta2030 的未來及未實現 . – 2009 (Rex)
     ●   自由軟體技術充電站 (OSSF)
           ●   OpenWrt. – 2009 (Macpaul, Rex)
     ●   Computex
2010/08/15 ●   Andeswrt: NDS32 is ready for your OpenWrt Products. - 2010 (Macpaul)
Introduction
                  The trend of using OpenWrt.
    ●   Community achievement
    ●   Business achievement
             ●   Networking Device Sellers / Manufacturer. (FON)
             ●   ISP. (BT/Tomizone)
             ●   Chip / IP Vendors. (Broadcom/Ubicom/Andes)
                  –   All AndesTech CPU licensees for networking SoC
                      use OpenWrt.
             ●   Software Solution Vendor.
                  –   (OpenMesh, BATMAN, Savari)




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


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




             C zech




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




       http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Roboter_Controlling
       http://www.cuhkacs.org/~scli/blog/2007/09/fujiq_gundam_crisis.html
2010/08/15
Introduction
                                    About the Industry Chain.
                                                                               回 報 錯 誤
                                                                               提 出 建 議                       回 報 錯 誤

              S oC 供 應 商              系 統 整 合 廠                                          品 牌 廠     消 費 者



                                                  自 由 軟 體 社 群    附 加 價 值 廠 商



                  某 版 本
             L in u x K e r n e l     產 品 原 型                                              販 售
                                                  更 新 函 式 庫            生 產 測 試                     回 報 錯 誤
                開 發 工 具               開 發 驗 證                                            發 佈 更 新
              提 供 新 科 技



                                                  更 新 通 訊 協 定




                                                  提 升 效 能 及 修
                                                   正 錯 誤 補 綴



                                                  通 訊 協 定 及 整
                                                    合 客 製 化



                                                  整 合 第 三 方 軟
                                                       體



                                                  整 合 廠 商 既 有
                                                    軟 體 架 構
                                                   O p en W rt


2010/08/15
Introduction
             About the Industry Chain.
    ●   Embedded system hardware level.


                                      Hardware System
                Arch   CPU Core   SoC            And
                                              Other IC



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

         ● Faraday,

         ● National Development Fund,

         ● and other industry heavy weights.



2010/08/15
A new RISC architecture – NDS32
                     National Development Fund
    ●   第四條 本基金之來源如下:
             ●   一、中美經濟社會發展基金:
                 – ( 一 ) 前美援項下所衍生之新臺幣資金結餘。
                 – ( 二 ) 本基金運用後孳生之收益。
                 – ( 三 ) 本基金運用後之賸餘及其他經核定撥入之款項。
             ●   二、開發基金:
                 – ( 一 ) 由政府循預算程序之撥款。
                 – ( 二 ) 國際開發協會貸款運用後收回之本金及孳息。
                 – ( 三 ) 本基金之收益。
                 – ( 四 ) 其他有關收入。



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




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

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

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



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

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

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


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

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


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


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

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

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

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

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



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

                      ● AndeSight 1.4.0 – Kernel 2.6.29, Gcc 3, glibc / uClibc

             ●   NDS32 Architecture is also supported for OpenWrt main trunk to build your
                 own NDS32 based toolchain.
                  – Has been verified by…
                      ● Kernel 2.6.29,

                      ● binutils 2.19.1

                      ● Gcc 4.4.3

                      ● uClibc 0.9.30.2

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


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

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



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

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




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




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




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




2010/08/15
Conclusion




             Never live demo.
             ●




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

2010/08/15
Conclusion




        Next Summer!
             NDS32 RISC CPU with GPU SoC!



2010/08/15
Conclusion



              To build a Gundam with NDS32 inside is nothing.
                  做一台有 NDS32 CPU 的剛彈不算什麼。

             Only one person can drive the Gundam.
                   只有一個人可以駕駛剛彈。



2010/08/15
Conclusion

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

    Everyone can use it.
2010/08/15
Conclusion
    ●   AndesTech provides Andes Open Source
        SDK.
             ●   http://osdk.andestech.com/
                 –   QEMU
                 –   Kernel
                 –   Toolchain




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


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




2010/08/15
Copyrights
    ●   All the Logo and trademarks belongs to
             ●   AndesTech Corporation.




2010/08/15

More Related Content

What's hot

Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux NetworkingPLUMgrid
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabMichelle Holley
 
What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?Michelle Holley
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingMichelle Holley
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
Building Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCBuilding Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCKernel TLV
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
Qt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoQt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoPrabindh Sundareson
 
Share the Experience of Using Embedded Development Board
Share the Experience of Using Embedded Development BoardShare the Experience of Using Embedded Development Board
Share the Experience of Using Embedded Development BoardJian-Hong Pan
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
高負荷に耐えうるWebApplication Serverの作り方
高負荷に耐えうるWebApplication Serverの作り方高負荷に耐えうるWebApplication Serverの作り方
高負荷に耐えうるWebApplication Serverの作り方GMO-Z.com Vietnam Lab Center
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020Akihiro Suda
 

What's hot (20)

Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux Networking
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
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
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Building Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCBuilding Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCC
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
Qt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoQt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with Yocto
 
Share the Experience of Using Embedded Development Board
Share the Experience of Using Embedded Development BoardShare the Experience of Using Embedded Development Board
Share the Experience of Using Embedded Development Board
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
高負荷に耐えうるWebApplication Serverの作り方
高負荷に耐えうるWebApplication Serverの作り方高負荷に耐えうるWebApplication Serverの作り方
高負荷に耐えうるWebApplication Serverの作り方
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 

Viewers also liked

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)Rex Tsai
 
OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007Rex Tsai
 
政黨票的故事
政黨票的故事政黨票的故事
政黨票的故事Macpaul Lin
 
Porting linux to a new architecture
Porting linux to a new architecturePorting linux to a new architecture
Porting linux to a new architectureKALRAY
 
Linux Porting
Linux PortingLinux Porting
Linux PortingChamp Yen
 
U boot 程式碼打掃計畫
U boot 程式碼打掃計畫U boot 程式碼打掃計畫
U boot 程式碼打掃計畫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-toMacpaul Lin
 
How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015Macpaul 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 importantMacpaul Lin
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded LinuxTushar B Kute
 
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
 
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)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 FrameworkMacpaul Lin
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
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 ARMSherif Mousa
 

Viewers also liked (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 to Porting a new architecture (NDS32) to open wrt project

Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boardsLF Events
 
Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio Andrea Gangemi: project portfolio
Andrea Gangemi: project portfolio Andrea Gangemi
 
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 ...Ambassador Labs
 
LAS16 100 K1 - Keynote George Grey
LAS16 100 K1 - Keynote George GreyLAS16 100 K1 - Keynote George Grey
LAS16 100 K1 - Keynote George Grey96Boards
 
LAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome KeynoteLAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome KeynoteLinaro
 
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_newHenry Sun
 
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...confluent
 
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 ToolboxBrett Hackleman
 
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 analyticsSouth West Data Meetup
 
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 KeynoteLinaro
 
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 asicsijsc
 
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 seminarBlue Line
 
LCU14 Keynote by George Grey
LCU14 Keynote by George GreyLCU14 Keynote by George Grey
LCU14 Keynote by George GreyLinaro
 
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
 
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_2018Mender.io
 

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

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

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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 textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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 DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer 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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

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