Thông báo

Collapse
No announcement yet.

Chức năng các thành phần trong hệ thống nhúng la gì?

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

  • Chức năng các thành phần trong hệ thống nhúng la gì?

    Lúc trước có học PIC, nay mình dự định chuyển sang ARM để làm về nhúng. Bước đầu tiên đối với mình thực sự không dễ, chỉ là đọc hiểu các khái niệm nhưng gần 1 tuần rồi cũng chưa hệ thống được các thành phần của một embeded system nó như thế nào. Kính mong mọi người khai sáng giúp mình chút.
    1. Trên linux pc cài những phần mềm gì, tool gì? Thứ tự cài đặt như thế nào?
    2. Sự khác nhau giữa GCC và arm-linux-gcc?
    3. Tại sao phải build toolchain cho arm, và có cài cái "build toolchain" đó lên chip arm không? Trong khi đó ta còn phải build kernel linux cho arm nữa.
    4. Các bước làm embeded software từ đầu đến cuối? (Có phải là chỉnh sửa kernel linux, xong cài lên arm, rồi viết ứng dụng trên nền kernel đó?), nhưng cụ thể các bước cài đặt, build cái này, cái nọ lọ chai làm mình rối tung không hiểu như thế nào nữa.

  • #2
    Mấy cái này search trên mạng nhiều mà.
    1. Ko hiểu câu hỏi
    2. GCC là hệ thống biên dịch chung của nhiều ngôn ngữ, ARM-GCC là hệ thống biên dịch cho nhiều ngôn ngữ để sử dụng trên kiến trúc ARM
    3. Tool chain ARM (bao gồm GCC ARM) là bộ công cụ cho phép bạn biên dịch và gỡ rối (debug) trên nền kiến trúc ARM. (ngoài ra còn 1 số macro khác). Nhấn mạnh là dành cho kiến trúc ARM. Build toolchain tương tự như cài đặt. Build kernel là khái niệm khác, ko liên quan.
    4. Ko hiểu câu hỏi.
    Hệ thống nhúng ko đồng nghĩa vs Linux.

    Comment


    • #3
      Cảm ơn htc2k14. Giả sử bây giờ mình đã thiết kế xong phần cứng, vấn đề còn lại là phần mềm. Ở đây mình không lấy source toolchain hay kernel gì đó đã được build sẵn, mình muốn mọi thứ phải tự tay mình làm lấy từ một bản kernel gốc. Như vậy để xây dựng được một linux OS và các ứng dụng để nạp lên board mình đã thiết kế thì các bước cụ thể nó như thế nào? Từ cài đặt, build toolchain, build kernel, viết shell script, viết ứng dụng...

      Comment


      • #4
        Nguyên văn bởi ngocnam12 Xem bài viết
        Cảm ơn htc2k14. Giả sử bây giờ mình đã thiết kế xong phần cứng, vấn đề còn lại là phần mềm. Ở đây mình không lấy source toolchain hay kernel gì đó đã được build sẵn, mình muốn mọi thứ phải tự tay mình làm lấy từ một bản kernel gốc (1). Như vậy để xây dựng được một linux OS(2)các ứng dụng để nạp lên board(3) mình đã thiết kế thì các bước cụ thể nó như thế nào? Từ cài đặt, build toolchain, build kernel, viết shell script, viết ứng dụng...
        (1) Nghĩa là sao? Là bạn xây dựng thêm module từ kernel có sẵn hay xây dựng kernel từ A-Z?
        (2) Linux nó đã là OS vậy bạn muốn xây dựng cái gì?
        (3) Bạn đã học qua vdk PIC thì biết rồi còn gì?
        ARM hay intel cũng là VDK xét về chức năng cũng tương tự như PIC.

        Comment


        • #5
          Ah, tức là như vầy:
          (1) Mình đọc được ở các tài liệu nước ngoài thì họ nói kernel linux gốc có dung lượng lớn, tích hợp nhiều dịch vụ, nhưng trên board mình làm có hạn chế về bộ nhớ, tốc độ xử lý, cũng như cần một số ít các dịch vụ như giao tiếp ngoại vi, adc, dsp... Như vậy cần phải build lại bản kernel gốc để có được bản kernel (custom kernel) nhẹ hơn, chạy nhanh hơn, phù hợp với board của mình (2).
          (3) Lấy bản custom kernel đó cài lên board, sau đó viết ứng dụng dựa trên bản custom kernel đó.

          Cuối cùng, mình không biết cách hiểu của mình về hệ thống nhúng linux trên arm có đúng theo trình tự như vậy hay không? Nếu đúng thì mình muốn biết chi tiết hơn về các bước làm cụ thể. Ví dụ: trước khi build kernel thì mình cần làm những gì và cần những phần mềm gì?, tại sao và khi nào cần viết shell script? Đấy, thoắc mắc của mình chỉ bấy nhiêu ah bạn

          Comment


          • #6
            Nguyên văn bởi ngocnam12 Xem bài viết
            Ah, tức là như vầy:
            (1) Mình đọc được ở các tài liệu nước ngoài thì họ nói kernel linux gốc có dung lượng lớn, tích hợp nhiều dịch vụ, nhưng trên board mình làm có hạn chế về bộ nhớ, tốc độ xử lý, cũng như cần một số ít các dịch vụ như giao tiếp ngoại vi, adc, dsp... Như vậy cần phải build lại bản kernel gốc để có được bản kernel (custom kernel) nhẹ hơn, chạy nhanh hơn, phù hợp với board của mình (2).
            (3) Lấy bản custom kernel đó cài lên board, sau đó viết ứng dụng dựa trên bản custom kernel đó.

            Cuối cùng, mình không biết cách hiểu của mình về hệ thống nhúng linux trên arm có đúng theo trình tự như vậy hay không? Nếu đúng thì mình muốn biết chi tiết hơn về các bước làm cụ thể(4) . Ví dụ: trước khi build kernel thì mình cần làm những gì và cần những phần mềm gì?, tại sao và khi nào cần viết shell script(5)? Đấy, thoắc mắc của mình chỉ bấy nhiêu(6) ah bạn
            (1) Đúng là kernel gốc thì lúc nào cũng bự (vì support rất nhiều)
            (3) Flash cái custom kernel đó lên bộ nhớ thiết bị của bạn
            (4) Bước làm cụ thể mình ko rõ vì thường mình viết ứng dụng trên kernel đã được config. Còn nếu bạn muốn nghiên cứu có thể làm thế này:
            a. Cài tất cả các tool cần thiết lên máy tính đang dùng linux của bạn (vì mình ko biết trên Win thế nào) chủ yếu là bộ toolchain cho ARM
            b. Ngồi so sánh cái kernel gốc vs kernel đã đc config ví dụ như
            https://www.kernel.org/ ==> tải về kernel 4.4.9, đây là nhân gốc
            https://github.com/raspberrypi/linux ==> đây là nhân 4.4.x đã đc tinh chỉnh cho con ARM11 sử dụng trên Pi
            https://github.com/beagleboard/linux ==> đây là nhân 4.4.9 đã đc tinh chỉnh cho con ARM A8 sử dụng trên Beaglebone
            *Lưu ý thường trong kernel có cái đám Readme thì nên đọc hết.
            c. Ngồi nghịch đến khi thấy thỏa mãn vs con ARM của bạn sau đó tiến hành build nhân đã được chỉnh sửa (chủ yếu là lược bỏ mấy cái ko phù hợp và viết thêm mấy cái driver chứ cũng ko ghê gớm gì)
            d. = (3)
            (5) Đọc thêm sách về linux hoặc gg có rất nhiều
            (6) Chỉ bao nhiêu đó cũng đã mất rất rất rất nhiều tgian rồi, nếu muốn thì nên đăng ký đi học thêm.

            Comment


            • #7
              Cảm ơn nhé, bạn support nhiệt tình lắm

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X