Thông báo

Collapse
No announcement yet.

Lập trình nhúng Linux cho di động!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lập trình nhúng Linux cho di động!

    Hiện tại mình đang tìm hiểu về lập trình nhúng linux trên điện thoại di động. Nhưng thực sự chưa biết phải bắt đầu như thế nào? Mong mọi người đóng góp ý kiến giúp mình với!
    Mình định dùng phiên bản MontaVista, không biết có ổn không nữa! Trên website của nó thấy không có ghi rõ lắm thông tin cần thiết để tìm hiểu. Mình không biết phải mua thiết bị nào để bẳt đầu nghiên cứu nữa...
    Bạn nào có kinh nghiệm giúp mình với! Cám ơn nhiều.
    |

  • #2
    mình nghĩ là bạn phải xác định xem mình làm ở mức nào:
    nếu bạn chỉ định làm ở mức ứng dụng tức là viết software chạy trên embedded linux thôi thì rất dễ bạn chỉ cần viết chuơng trình rồi qua cross-compiler đi kèm thiết bị hoặc tự tìm tools free trên mạng sau đó bạn cross-compile rồi nhét lên thiết bị và chạy lỗi thì xem lỗi gì, thiếu thư viện thì lại cross-compile thư viên ...

    Nếu bạn định làm như trên thì chỉ việc mua một develpment kit thường sẽ kèm tools và nhân linux biên dịch sẵn cho bạn rồi, bạn chỉ việc viết software chạy trên đấy thôi.

    thứ 2 là bạn làm từ a->z. mình không nói đến những cái về phần cứng chỉ xin đưa ra một số công việc như sau:

    - bootloader và cross-compile ( thường cũng lại dùng opensource nhưng bản phải chỉnh lại thông số cho đúng. nếu là arm thì có u-boot một số board có file cấu hình sẵn còn chưa có thì tự viết )
    - cấu hình và biên dịch nhân và device driver. cái này cũng khá vất vả đấy.
    - tạo một filesystem cho hệ thống, thường dùng busy box cho console nó có gần như tát cả các lệnh ( như trong terminal) mình dùng buildroot biên dịch xong thì filesystem này chỉ khoảng hơn 1MB nếu cấu hình tối ưu thì có thể nhở hơn.
    - sang một phần quan trọng đó là chọn giao diện đồ họa có thể dùng x-windows hoặc một số bản đã được optimized sẵn cho linux như opie hay GPE. Cũng mệt chẳng kém gì các bước trên.
    - cuối cùng là trình ứng dụng.

    -> kết luận là phải dùng thành thạo linux từ đồ họa đến console, các file cấu hình, các quá trình trong nhân linux và load giao diện đồ họa có thể là cả device driver nữa và không thể thiếu là phải hiểu phần cứng.

    Hi vọng bạn chọn được con đường đi cho mình.

    chúc vui.

    Comment


    • #3
      Nguyên văn bởi cation_h Xem bài viết
      -> kết luận là phải dùng thành thạo linux từ đồ họa đến console, các file cấu hình, các quá trình trong nhân linux và load giao diện đồ họa có thể là cả device driver nữa và không thể thiếu là phải hiểu phần cứng.
      Theo bạn để thành thạo những thứ bạn nói thì cần kinh nghiệm bao nhiêu năm vậy?

      Comment


      • #4
        Nguyên văn bởi inspiration Xem bài viết
        Theo bạn để thành thạo những thứ bạn nói thì cần kinh nghiệm bao nhiêu năm vậy?
        Cứ cộng dồn thế này xem nào:
        - Kinh nghiệm về phần cứng
        - Kinh nghiệm về Linux
        - Kinh nghiệm về viết ứng dụng + driver

        Để thành pro thật sự chắc khó dưới 5 năm (Trừ khi tài năng thật sự, đam mê vô cùng, gặp môi trường cực kỳ thuận lợi ... gộp cả lại thì khoảng 2 năm )
        Some rights reserved!

        Comment


        • #5
          Nguyên văn bởi inspiration Xem bài viết
          Theo bạn để thành thạo những thứ bạn nói thì cần kinh nghiệm bao nhiêu năm vậy?
          Cái này phụ thuộc vào bạn.

          Lợi thế rất lớn của linux đó là tài liệu rất nhiều, tài liệu free cũng có, tài liệu có bản quyền cũng có (đọc chùa cũng được ). Nó không giấu các thuật toán, giả thuật và source code như windows -> bạn tha hồ tìm hiểu .
          Bạn có thể vào trang tldp.org để đọc các tài liệu miễn phí theo bản quyền GPL.
          Những tài liệu có phải mua thì chỉ biết hỏi google thôi

          Comment


          • #6
            Nguyên văn bởi cation_h Xem bài viết
            Lợi thế rất lớn của linux đó là tài liệu rất nhiều, tài liệu free cũng có, tài liệu có bản quyền cũng có (đọc chùa cũng được ). Nó không giấu các thuật toán, giả thuật và source code như windows -> bạn tha hồ tìm hiểu .
            Bạn có thể vào trang tldp.org để đọc các tài liệu miễn phí theo bản quyền GPL.
            Nhiều tài liệu đôi khi không phải là một lợi thế mà là một trở ngại thật sự đối với những người mới bắt đầu linux hoặc những người biết sơ sơ về linux nếu như người đó k biết cách hệ thống hóa tài liệu. Bản thân người mới bắt đầu hoàn toàn không biết gì thì khi nhìn vô một đống tài liệu sẽ thật sự mất thăng bằng vì k biết nên đọc cái nào trước. Khi bắt đầu một dự án linux sẽ gặp một hoặc nhiều vấn đề, search vấn đề ấy lại đẻ ra quá nhiều tài liệu về vấn đề ấy nhưng lại không thống nhất, thiếu trước hụt sau, hoặc quá chi tiết đòi hỏi phải hiểu thêm một đống khái niệm khác nữa, làm cho mất thêm nhiều thời gian trong khi thời gian cho 1 dự án không có nhiều. Đó là 1 trong những khó khăn mình đang gặp phải.
            Nhưng dù sao sợ nhất là khi nghiên cứu cái gì mà không có tài liệu hỗ trợ, gặp error thì chỉ nước chiếu bí mà thôi.
            Last edited by inspiration; 19-01-2009, 13:52.

            Comment


            • #7
              mình đang có ý định nghiên cứu, xây dựng hệ thống nhúng trên FPGA. công việc cụ thể là dùng bo virtex 4. ML403. sau đó sử dụng Microblaze hay PowerPC, nhồi hệ điều hành cho một trong hai con này sau đó chạy các ứng dụng. mình cũng đã xem xét một số vấn đề để thực hiện dự định này. như: mình đang sử dụng phần mềm EDK 10.1, trong đó đã có sẵn phần lõi xilKernel nhưng mình chưa biết sử dụng như thế nào. mình có tìm trên mạng thì có một số example về sử dụng ulinux, BlueCat Linux. tuy nhiên còn một số vấn đề chưa thực sự rõ.
              + thứ nhất: mình chưa biết chọn hệ điều hành nào để nhồi vào
              + thứ 2: để nhồi hệ điều hành đó thì cần phải cài những phần mềm nào
              + thứ 3: các bước để thực hiện xây dựng một ứng dụng. từ đầu đến cuối.
              các cao thủ đã làm hoặc đã nghiên cứu share cho mình với.
              thanhks a lot!

              Comment


              • #8
                nen nghien cuu phan build toolchain and cross-compiler arm-iPhone thì thấy rất rõ. mua một cái iphone giá khoảng 6tr, nếu mua một dev kit thì giá không dưới $500.

                Comment


                • #9
                  Để bắt đầu mình nghĩ nên mua một cái Openmoko, giá ~ 2 triệu đồng. Đây là một điện thoại rất mở, cài được khoảng 4 hệ điều hành linux arm kernel. Đặc biệt trong đó có hệ đh Android đang lên rất mạnh.

                  Comment


                  • #10
                    @xuantung: neu dung microblaze thi chac nen dung RTOS nhu FreeRTOS, uCOS. dung PowerPC chac la nen cai linux port for PowerPC.
                    @fadine: neu mua openmoko thi phai mua Freerunner , ko mua Neo1973. Cai nay chi de choi chu nghe goi chan lam.
                    ! ! you can win if you want ! !

                    Comment


                    • #11
                      Đánh giá cao bài viết của bạn, nhưng làm ơn viết đủ dấu giúp.
                      Phần mềm tự do hoặc không dùng máy tính nữa !.

                      Comment


                      • #12
                        cảm ơn bạn anhtuan133. Tuy nhiên bạn có thể nói cụ thể hơn một chút được không. nếu bạn có một ví dụ cụ thể thì mọi người sẽ dễ hiểu hơn.

                        Comment


                        • #13
                          Em chào anh Xuân Tùng

                          Nguyên văn bởi xuantung Xem bài viết
                          cảm ơn bạn anhtuan133. Tuy nhiên bạn có thể nói cụ thể hơn một chút được không. nếu bạn có một ví dụ cụ thể thì mọi người sẽ dễ hiểu hơn.
                          Em xin lỗi anh đã làm phiền anh trong luống này, và em cũng mong các MOD đừng xoá bài của em trước khi anh Xuân tùng đọc được tin này của em. Em cảm ơn!
                          Thưa anh, em có đọc bài viết của anh về xử lý tín hiệu đầu vào của ADC có phần âm. Em cũng có down cái mạch anh post về nhưng em ko thấy có sơ đồ nguêyn lý của cái mạch nâng điện áp lên lơn hơn 0V đó.
                          Em đang rất cần cái mạch này, và em làm mãi mà ko được. Em xin anh bỏ chút thời gian ra giúp em với. Nick yahoo của em là phongtd_3i và e-mail của em là phongtd3i@gmail.com
                          Anh có thể cho em xin số điện thoại của anh được ko ạ.
                          Về vấn đề này em đã dùng KDTT để thực hiện mạch cộng điện áp. tín hiệu đầu vào là DC = 5V, và AC có hiệu dụng <1V thì đầu ra được anh ạ. Nhưng khi thành phần AC lớn hơn thì đầu ra không được. Một vấn đề nữa anh cho em hỏi, khi làm cái mạch đó, thì giá trị của điện áp đầu ra tính toán như thế nào so với 2 tín hiệu đầu vào như thế ạ.
                          Em cảm ơn anh rất nhiều và mong sớm nhận được trả lời của anh. Vì em đang rất cần xử lý vấn đề này ạ.

                          Comment


                          • #14
                            Để nhờ riêng, làm ơn dùng chức năng Tin nhắn ở góc trên bên tay phải cửa sổ diễn đàn. Bài viết của bạn sẽ được để ở đây trong 48 giờ rồi xóa.
                            Phần mềm tự do hoặc không dùng máy tính nữa !.

                            Comment

                            Về tác giả

                            Collapse

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

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

                            Collapse

                            Đang tải...
                            X