Thông báo

Collapse
No announcement yet.

Lập trình nhúng với Linux như thế nào???

Collapse
This topic is closed.
X
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lập trình nhúng với Linux như thế nào???

    Em đang bắt đầu học lập trình nhúng với linux!
    Con chip mà em chọn là IXP425.
    Theo em được biết thì sơ đồ lập trình nhúng như sau!

    (1) Installing Linux to host PC
    (2) Installing Embedded Linux GUI Toolkit, development kit to host PC
    (3) Compiling bootloader, kernel image, filesystem for target board
    (4) Porting images compiled at the preceding step to target board
    (5) Porting Embedded Linux GUI Toolkit to target board
    (6) Developing software for target board in host PC
    (7) Porting the developed software to target board

    em tìm thấy bọn này có hỗ trợ con IXP425.
    http://www.snapgear.org/snapgear/downloads.html


    Em cũng mới bắt đầu trong cả linux nên có nhiều thứ chưa rõ lắm. Down bản iso của snapgear , cho máy tính khởi động boot từ cdrom mà chả boot được chi cả! Sáng nay cũng thử tạo cái kernel với realtimelinux theo hướng dẫn của bác Võ Duy Thanh trên Fedora core 7 nhưng không được. bác nào có kinh nghiệm về lập trình nhúng thì cho anh em một cái sơ đồ clear từng bước phải làm với
    Lơ mơ quá, bắt đầu từ đâu bây giờ

  • #2
    Hi, theo kinh nghiem cua Jeff thi luc xa`i embedded Linux co' vo so' lo~i gap phai, ko cach na`o lam duoc mot cach suong se. Cach duy nhat la` hieu het va` hieu ki~ cac buoc roi vua` lam vua` sua.
    - Mot so khai niem co ba?n, mi`nh ko ra`nh, ba.n kie'm them ta`i lieu doc:
    + Qua' tri`nh boot cua target board. T`uy board, uC (micro controller, processor) se nhay vo address na`o do' doc truoc, co' the la` ROM hoac co' the la Flash RAM. Thuong thi` cai address do' la boot loader. Boot loader co' the se co' mot so' chuc nang don gian, giao tiep voi RS232, hoac giao tiep voi Ethernet, hoac Load cai OS (operating system) ... Do do' van de` dau tien, truoc het la` la`m sao load cai boot-loader vo trong ROM hoac Flash RAM. Cai na`y moi board moi khac, ban kie'm tai liêu doc.
    + OS image: Khi da~ boot duoc thi` la`m sao download cai image xuong duoi board. Thuong thi` bootloader se ho~ tro* mot so' chuc nang giao tiep voi PC-host, qua RS232 hoac qua Ethernet, ... thuong thi ban phai chi ra down xuong address na`o tren FlashRAM hoac RAM. Ban kiem tai lieu doc .
    + Compile OS image: thuong thi ban phai compile OS cua target board tren PC. OS co' 2 pha`n la` pha`n Kernel va` phan Filesystem. Pha`n Kernel chua' kernel code. Phan File system se tao ra FileSystem tren target board. vi du tren pc ban se thay la` cau truc filesystem nhu the na`y :
    FileSystem/a
    FileSYstem/a/b
    FileSystem/A
    FileSystem/A/B
    Thi khi download filesystem len tren targetboard ban se co' mot cau truc tuong tu:
    /a
    /a/b
    /A
    /A/B ...

    Do mi`nh ko phai dan chuyen nghiep la`m phan na`y, chi la`m mot project nen ko nho' ki~, thi kinh nghiem thay la` can phai hieu that ki~ cach hoat dong cua board + OS roi vua` la`m vua` sua ... hope this helps ....

    Comment


    • #3
      Mình định triển khai SSL bằng thằng openssl cho một con device linux! Cài openssl bản 0.9.8g vào theo hướng dẫn của open ssl nhưng khi tra lại trên fedora thì nó vẫn chỉ là bản 0.9.8b cũ hơn là sao nhỉ?
      Việc triển khai thằng SSL này ra con device sẽ như thế nào nhỉ? Về mặt nào đó nó cũng tương tự như SSH! Em đang cố gắng đọc để hiểu nhưng đúng là mới beginner đọc cái gì cũng mệt! Có bác nào có kinh nghiệm thì chỉ em với nhé! Em đang phải bắt đầu học từ đầu, từ tìm hiểu linux là gì, lập trình nhúng thế nào, chọn Tool mà hỗ trợ IXP425(chip intel cho network), triển khai SSL, One Time Password ra sao. Nhiều thứ quá

      Comment


      • #4
        Co' ve la` co' mot chang duo`ng da`i phia truoc cho pulsar:
        Tam chia ra he thong nhu'ng ra 2 lop:
        Lop platform va` lop applications:
        - Platform: go`m microcontroller, processor va` cac peripherals ... truoc tien la` phai set up cai platform truoc ...
        - Application: application se duoc compile tren Host PC nhung chay tren target board ... goi la` cross compilation ... Thong thuong, cty na`o ba'n chip se ho tro compilers va` cac thu' linh tinh khac (goi la` tool chain) de port applications len chip cua no' ... ban ti`m hieu thu? coi IXP425 co' ho tro tool chain na`o ko? ...
        Sau khi set up duoc linux tren target board roi moi ti'nh chuyen develop may cai SSL ...

        Neu la`m tu` dau thi` rat rat PHE^ ... ko biet la` Pulsar ti'nh la`m tu` dau? ... la`m luon cai platform huh? hay mua development board co' san roi la`m len ...

        Comment


        • #5
          Bắt đầu với Linux nhúng

          Nguyên văn bởi pulsar Xem bài viết
          Em đang bắt đầu học lập trình nhúng với linux!
          Con chip mà em chọn là IXP425.
          Theo em được biết thì sơ đồ lập trình nhúng như sau!

          (1) Installing Linux to host PC
          (2) Installing Embedded Linux GUI Toolkit, development kit to host PC
          (3) Compiling bootloader, kernel image, filesystem for target board
          (4) Porting images compiled at the preceding step to target board
          (5) Porting Embedded Linux GUI Toolkit to target board
          (6) Developing software for target board in host PC
          (7) Porting the developed software to target board

          em tìm thấy bọn này có hỗ trợ con IXP425.
          http://www.snapgear.org/snapgear/downloads.html


          Em cũng mới bắt đầu trong cả linux nên có nhiều thứ chưa rõ lắm. Down bản iso của snapgear , cho máy tính khởi động boot từ cdrom mà chả boot được chi cả! Sáng nay cũng thử tạo cái kernel với realtimelinux theo hướng dẫn của bác Võ Duy Thanh trên Fedora core 7 nhưng không được. bác nào có kinh nghiệm về lập trình nhúng thì cho anh em một cái sơ đồ clear từng bước phải làm với
          Lơ mơ quá, bắt đầu từ đâu bây giờ
          Ngay cả Linux bạn cũng mới bắt đầu dùng thì làm Linux nhúng hầu như không khả thi. Đúng là có một số công cụ cho phép xây dựng hệ Linux nhúng ngay trong môi trường Windows, nhưng chỉ với ứng dụng rất hạn chế. Khi bạn muốn thay đổi một chút so với ví dụ có sẵn của hãng, hoặc khi công cụ có trục trặc thì không thể thiếu kiến thức về Linux.

          Nếu chỉ thử làm kiểu chơi chơi để sau này khoe với ai đó rằng mình đã từng "embedded Linux" thì chắc chắn công sức bỏ ra chắc chắn sẽ không xứng đáng với kết quả thu được.

          Nếu định làm nghiêm túc như một công việc kiếm tiền, hoặc như một sở thích lâu dài thì lời khuyên trước mắt là hãy dành cỡ ít nhất 2 tháng dùng Linux cho quen đi đã, học những thứ cơ bản của nó trước.
          Phần mềm tự do hoặc không dùng máy tính nữa !.

          Comment


          • #6
            Em đang học bên Hàn tham gia vào một project với một giáo sư Hàn, xây 1 con security! Hôm nay giáo sư quyết định chọn mua một con board mạch có sẵn các cổng kiếc hết cả rùi! Em gần như chưa bao h làm hệ nhúng + học linux cả! đây là cơ hội học và làm luôn! Dự án này có 2 VN, 1 philippine thiết kế phần cứng nhưng nó cũng mới nên giáo sư quyết định chọn mua một board mạch có sẵn rùi! khả năng làm chính trong dự án này chỉ là 2 VN thôi! Chưa làm bao giờ nên cố làm cho biết, chưa biết bao giờ xong nhưng sẽ cố! đúng là cái gì bắt đầu cũng sẽ mơ hồ và mất thời gian! Cố gắng vậy! Thanks các bác! Em sẽ vừa tìm hiểu linux vừa làm song song! Các bác đi trước có book nào hay hay thì share em với!
            hiện em mới down mấy quyển!

            Programming Embedded Systems - With C And GNU Development Tools, 2nd Edition
            Prentice.Hall.PTR.Embedded.Linux.Primer.A.Practica l.Real.World.Approach.Sep.2006
            O'Reilly - Building Embedded Linux Systems
            Embedded.Linux.System.Design.and.Development
            C_Programming_for_Embedded_Systems__CMP_Books
            _O__Reilly___Programming_Embedded_Systems_in_C_and _C_
            Last edited by pulsar; 29-11-2007, 22:40.

            Comment


            • #7
              Vài dòng giới thiệu snapgear vậy!
              http://snapgear.org

              SnapGear Embedded Linux - a new breed of Linux
              SnapGear's embedded Linux distribution represents state-of-the-art embedded Linux technology for deeply embedded microprocessors with or without MMU (memory management unit), an important advantage in allowing developers more choice in selection of processors for producing vertical ranges of products. SnapGear embedded Linux is unique in providing commercial quality tool chains and processor support in a freely downloadable open source format.

              SnapGear's engineering team has been instrumental in the development of uClinux (a subset of SnapGear Embedded Linux) which has been ported to more than 100 chip architectures, as well as the pioneering implementation of Microsoft's PPTP VPN standard on Linux. SnapGear's embedded Linux distribution runs in more than 20 million devices globally.

              SnapGear Linux was devised to solve some common problems that exist for embedded Linux developers today:

              MMUless microprocessors - uClinux has to date been one of the leading approaches to deeply embedded applications. "Normal" Linux simply doesn't run if there is no memory management unit, yet MMUless microprocessors are cost-effective and in wide use. How to modify the kernel for the target processor?
              Libraries - uClibc and other compacted libraries are required for embedded applications. Conventional libraries such as vanilla glibc are often just too big. Which library to select?
              Tool chains - building your application often requires modified compiler and debug tools to match your build target and generally your development environment is not identical to your target environment - that means cross-compilation from a more familiar platform. Where to find the tools?
              MMUful microprocessors - new processors such as the Hitachi SuperH family bring low-cost microprocessors with MMU to the market. However, expertise is required to match a kernel, compiler, and the rest of the toolchain to these targets (many of which are non-x86 compatible). Where to find these packages?
              API standardization - the Linux API represents a meeting point for Unix, Linux and POSIX APIs. Although it is tempting to switch to a proprietary API to solve short-term problems the smarter developers understand the important of a stable, mature API that will facilitate new product development and the maintenance of those products while providing a future-proof path. Where to find these APIs?
              Cost - many commercial distributions exist for embedded Linux (and Linux-like) systems - all at a hefty price tag. Where to find a distribution that is commercial-grade but at an open source price?
              Bringing all of these together in one place is SnapGear Embedded Linux - a distribution for the 21st century.

              uClinux and Linux
              uClinux (www.uclinux.org) consists of a set of patches to the 2.4 and earlier Linux (www.kernel.org) kernels to provide support for microprocessors lacking a memory management unit (MMU). Since the Linux 2.5 kernel a number of these patches are being rolled into the mainstream development kernel. Over time we expect that there will be conceptually a single Linux kernel source base that can be used to build for a variety of processor architectures. Even when that day arrived there is still going to be a need for SnapGear Embedded Linux to bring together embedded development expertise, toolchain, library and multi-architecture support which is all needed for an embedded development environment. Save time and money, download or buy a SnapGear Embedded Linux source and executables today!

              About SnapGear
              SnapGear is emerging as a global leader in applying open source and network security technologies to develop unique security appliances and custom embedded solutions for commercial, industrial and enterprise applications.

              Initially started in 1995 as Moreton Bay, the company focused on OEM solutions and provided security services to Fortune 500 companies. In 2001, SnapGear was incorporated and today SnapGear develops and manufactures a complete line of Internet security solutions that provide access security and transaction security for small, medium and large enterprises.

              Our market opportunity lies in the ongoing growth of the Internet combined with the rapid increase in security consciousness. The Internet is becoming a cost-effective and transparent communications environment but the rapid growth of the Internet far outpaces the security measures required to safely do business. SnapGear secures the edge so that devices may be safely attached to the Internet for a variety of purposes requiring network access free from interference.

              SnapGear is set to become the leading global supplier of fully featured, cost-effective Internet access and VPN produ cts and technologies, which our channel and OEM partners use to deliver security solutions to their small to medium ente rprise (SME) customers.

              For more information about SnapGear please visit the main About SnapGear page

              Comment


              • #8
                Downloads
                Links below point to the SnapGear Embedded Linux Distribution. SnapGear Linux is a full source package, containing kernel, libraries and application code for rapid development of embedded Linux systems.

                Source
                The following link is the latest snapshot source package that includes support for a wide variety of CPU architectures. It contains support for X86, M68k, ColdFire, ARM/XSCALE, Hitachi SuperH and many other microprocessor architectures, on many varied target platforms. It also contains 2.0.39, 2.4.32 and 2.6.19 Linux kernel sources, uC-libc, newer uClibc-0.9.27 libraries and a huge collection of application packages - everything you need to build fully functional embedded Linux systems.

                SnapGear Embedded Linux (3.5.0) [tarred gzipped]

                This is a source only package. You will need a tool chain to generate anything useful from this source. Several pre-built binary tools packages are available.

                Also available is a patch package that can be used to build the Intel IXP4xx Access Library code as part of the SnapGear distribution. This patch set contains support for the Intel CSR-1.4 with DSR-2.6.2 combination, and the Intel CSR-2.4 library (on both 2.4 and 2.6 linux kernels).

                SnapGear IXP400 Access Library patch [shar]

                Tools
                uClinux Tool Chains:

                M68k/ColdFire - m68k-uclinux-tools-20061214.sh binary and source
                ARM - arm-linux-tools-20061213.tar.gz binary and source
                SPARC - sparc-elf-20020214.tar.gz binary and source
                H8300 - h8300-elf-20030420.tar.gz binary and source
                Linux Tool Chains:

                x86 - i386-linux-20030930.tar.gz binary and source
                ARM/XSCALE - arm-linux-tools-20061213.tar.gz binary and source
                SuperH - sh-linux-20021008.tar.gz binary (sh-linux-tools-20021008-g++-v3.tar.gz g++ headers) and source
                Generally speaking the tool chains consists of at least the following packages:

                binutils, gcc, gdb (from www.gnu.org)
                Some targets also require additional tools for generating FLAT format binaries (uClinux targets), filesystem creation tools (genromfs, genext2fs, etc) or checksumming utilities. Original source, patches and build scripts for all binaries are available using the source links above. You can browse the tools directory here.

                ISO
                If you have the bandwidth / patience you can pull absolutely everything in a single ISO image:

                SnapGear Embedded Linux Distribution [iso]

                Otherwise, please visit our buy page for information about how you can get a CD shipped to you.

                Archives
                You can find older versions, if any, in the archive directory.

                Comment


                • #9
                  SSL là một giao thức đảm bảo việc truyền tin trên mạng! Nó bao gồm đủ cả các cơ chế mã khoá công khai, chứng thực với chữ kí điện tử,...! Có một opensource là openssl rùi! www.openssl.org. Ngoài ra còn phải dùng cả OTP nữa, one time password là cơ chế dùng password một lần nữa ví dụ bạn có hàm hash h chẳng hạn. tính toán Pn=h(P(n-1)). Pass ban đầu là Pn thì lần sau đăng nhập sẽ là P(n-1). Ứng dụng của one time pass được dùng trong internet banking của ngân hàng!

                  Comment


                  • #10
                    Nghe co' ve hay nhi ... pulsar da~ co' het cac thu' ca`n xai ... chi ca`n rap lai thoi ... khi na`o chay duoc thi demo cho moi nguoi cai process nha' ... co' cai lecture notes ... co' the giup ich duoc mot so' khai niem va` nhung thu' ca`n doc ...
                    Attached Files

                    Comment


                    • #11
                      Nguyên văn bởi pulsar Xem bài viết
                      Em đang học bên Hàn tham gia vào một project với một giáo sư Hàn, xây 1 con security! Hôm nay giáo sư quyết định chọn mua một con board mạch có sẵn các cổng kiếc hết cả rùi! Em gần như chưa bao h làm hệ nhúng + học linux cả! đây là cơ hội học và làm luôn! Dự án này có 2 VN, 1 philippine thiết kế phần cứng nhưng nó cũng mới nên giáo sư quyết định chọn mua một board mạch có sẵn rùi! khả năng làm chính trong dự án này chỉ là 2 VN thôi! Chưa làm bao giờ nên cố làm cho biết, chưa biết bao giờ xong nhưng sẽ cố! đúng là cái gì bắt đầu cũng sẽ mơ hồ và mất thời gian! Cố gắng vậy! Thanks các bác! Em sẽ vừa tìm hiểu linux vừa làm song song! Các bác đi trước có book nào hay hay thì share em với!
                      hiện em mới down mấy quyển!

                      Programming Embedded Systems - With C And GNU Development Tools, 2nd Edition
                      Prentice.Hall.PTR.Embedded.Linux.Primer.A.Practica l.Real.World.Approach.Sep.2006
                      O'Reilly - Building Embedded Linux Systems
                      Embedded.Linux.System.Design.and.Development
                      C_Programming_for_Embedded_Systems__CMP_Books
                      _O__Reilly___Programming_Embedded_Systems_in_C_and _C_

                      Nếu đã mua bo mạch phát triển, thường (>98%) nhà sản xuất cung cấp luôn bộ SDK để phát triển, cứ đọc tài liệu hướng dẫn của nó là đủ dùng. Nhiều nhà sản xuất còn cung cấp luôn cả sơ đồ nguyên lý và bản vẽ mạch in miễn phí luôn.

                      Trong trường hợp không có công cụ, đằng nào cũng đã mua phần cứng bạn thử thuyết phục ông giáo sư mua luôn 1 hệ phát triển phần mềm chạy trên cà L lẫn W mà dùng cho tiện. Để dành sức làm việc chính thay vì phân tán cho công việc tích hợp. Có nhiều hãng làm cái này, bạn thử tìm (chắc cũng đã biết) với những tên: TimeSys, MontaVista...
                      Phần mềm tự do hoặc không dùng máy tính nữa !.

                      Comment


                      • #12
                        Nguyên văn bởi pulsar Xem bài viết
                        Vài dòng giới thiệu snapgear vậy!
                        http://snapgear.org

                        SnapGear Embedded Linux - a new breed of Linux
                        SnapGear's embedded Linux distribution represents state-of-the-art embedded Linux technology for deeply embedded microprocessors with or without MMU (memory management unit), an important advantage in allowing developers more choice in selection of processors for producing vertical ranges of products. SnapGear embedded Linux is unique in providing commercial quality tool chains and processor support in a freely downloadable open source format.

                        SnapGear's engineering team has been instrumental in the development of uClinux (a subset of SnapGear Embedded Linux) which has been ported to more than 100 chip architectures, as well as the pioneering implementation of Microsoft's PPTP VPN standard on Linux. SnapGear's embedded Linux distribution runs in more than 20 million devices globally.

                        SnapGear Linux was devised to solve some common problems that exist for embedded Linux developers today:

                        MMUless microprocessors - uClinux has to date been one of the leading approaches to deeply embedded applications. "Normal" Linux simply doesn't run if there is no memory management unit, yet MMUless microprocessors are cost-effective and in wide use. How to modify the kernel for the target processor?
                        Libraries - uClibc and other compacted libraries are required for embedded applications. Conventional libraries such as vanilla glibc are often just too big. Which library to select?
                        Tool chains - building your application often requires modified compiler and debug tools to match your build target and generally your development environment is not identical to your target environment - that means cross-compilation from a more familiar platform. Where to find the tools?
                        MMUful microprocessors - new processors such as the Hitachi SuperH family bring low-cost microprocessors with MMU to the market. However, expertise is required to match a kernel, compiler, and the rest of the toolchain to these targets (many of which are non-x86 compatible). Where to find these packages?
                        API standardization - the Linux API represents a meeting point for Unix, Linux and POSIX APIs. Although it is tempting to switch to a proprietary API to solve short-term problems the smarter developers understand the important of a stable, mature API that will facilitate new product development and the maintenance of those products while providing a future-proof path. Where to find these APIs?
                        Cost - many commercial distributions exist for embedded Linux (and Linux-like) systems - all at a hefty price tag. Where to find a distribution that is commercial-grade but at an open source price?
                        Bringing all of these together in one place is SnapGear Embedded Linux - a distribution for the 21st century.

                        uClinux and Linux
                        uClinux (www.uclinux.org) consists of a set of patches to the 2.4 and earlier Linux (www.kernel.org) kernels to provide support for microprocessors lacking a memory management unit (MMU). Since the Linux 2.5 kernel a number of these patches are being rolled into the mainstream development kernel. Over time we expect that there will be conceptually a single Linux kernel source base that can be used to build for a variety of processor architectures. Even when that day arrived there is still going to be a need for SnapGear Embedded Linux to bring together embedded development expertise, toolchain, library and multi-architecture support which is all needed for an embedded development environment. Save time and money, download or buy a SnapGear Embedded Linux source and executables today!

                        About SnapGear
                        SnapGear is emerging as a global leader in applying open source and network security technologies to develop unique security appliances and custom embedded solutions for commercial, industrial and enterprise applications.

                        Initially started in 1995 as Moreton Bay, the company focused on OEM solutions and provided security services to Fortune 500 companies. In 2001, SnapGear was incorporated and today SnapGear develops and manufactures a complete line of Internet security solutions that provide access security and transaction security for small, medium and large enterprises.

                        Our market opportunity lies in the ongoing growth of the Internet combined with the rapid increase in security consciousness. The Internet is becoming a cost-effective and transparent communications environment but the rapid growth of the Internet far outpaces the security measures required to safely do business. SnapGear secures the edge so that devices may be safely attached to the Internet for a variety of purposes requiring network access free from interference.

                        SnapGear is set to become the leading global supplier of fully featured, cost-effective Internet access and VPN produ cts and technologies, which our channel and OEM partners use to deliver security solutions to their small to medium ente rprise (SME) customers.

                        For more information about SnapGear please visit the main About SnapGear page
                        Tha rác lên đây làm cái gì - chỉ copy & paste mà chả có chút giá trị gia tăng nào. Ít nhất cũng dịch cho người không thạo ngoại ngữ đọc, đăng này chép y nguyên. Với người cần làm thực sự - họ đi tìm hiểu từ đầu. Với người không biết - ai thèm quan tâm chứ ?
                        Phần mềm tự do hoặc không dùng máy tính nữa !.

                        Comment


                        • #15
                          Nguyên văn bởi bqviet Xem bài viết
                          Nghiên cứu sâu hơn
                          Thanks bác! Em cũng đã mò mẫm down được mấy quyển này rùi nhưng mới đọc được một ít! Em sẽ cố gắng đọc nhiều và học nhiều hơn!

                          Comment

                          Về tác giả

                          Collapse

                          pulsar Tìm hiểu thêm về pulsar

                          Bài viết mới nhất

                          Collapse

                          Đang tải...
                          X