Thông báo

Collapse
No announcement yet.

Học AVR trên Linux

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

  • Học AVR trên Linux

    Lâu không viết bài, muốn góp bài viết có ích cho box anh bqviet. Mặc dù tôi biết có rất nhiều người dùng Linux để lập trình AVR nhưng k phải bạn nào cũng biết, người biết thì k có time để viết mà thôi. AVR được cộng đồng Linux hỗ trợ khá nhiều, công cụ rất đầy đủ chẳng thiếu thứ gì cả.

    Luồng này ghi lại nhật kí học AVR trên Linux của tôi. Trước kia chưa dùng AVR cảm thấy ngại động vào, nhưng khi đã dùng tới tôi bị chinh phục luôn Cảm giác đầu tiên là: AVR chân cẳng sắp xếp khoa học hơn thằng PIC rất nhiều. Cái thứ 2, tôi rất thích là các công cụ như trình biên dịch, ... đều là miễn phí, và hay nhất ở chỗ là nó hỗ trợ Linux khá tốt, thằng PIC thì không có cửa rồi.

    1. Trình biên dịch

    Để bắt đầu với AVR thì cần tìm hiểu các trình biên dịch có thể dùng. Thông tin đầy đủ và chi tiết nhất là đọc tại đây , khỏi cần dịch lại dài dòng làm gì cả. Thêm nữa là trang này giải thích cực kì rõ, hãy chú ý đọc về GCC và GNU Binutils

    Nên nhớ là trên AVR nó không phải chỉ dùng mỗi 1 trình biên dịch, quá trình dịch của nó bao gồm rất nhiều công đoạn nhỏ, như avr-gcc chỉ dịch ra assembly, còn công việc chuyển sang .hex, ... lại do thằng khác làm đó

    Điều quan trọng lúc này là hãy dành thời gian đọc hết chỗ User manual của AVR Libc đã. Bạn sẽ thấy khá nhiều điều thú vị.

    Tóm lại cuối cùng là, kiểu gì cũng phải cài đầy đủ các gói sau: avr-libc, binutils-avr, gcc-avr, avrdude

    Trên Ubuntu thì gõ lệnh:
    Code:
    sudo apt-get install  avr-libc binutils-avr gcc-avr avrdude

    Trên ArchLinux (cái mà tôi đang dùng) thì gõ lệnh:
    Code:
    sudo pacman -S  avr-libc binutils-avr gcc-avr avrdude
    2. IDE

    Về IDE, tùy theo thói quen, có thể dùng IDE hoặc không. Nếu không dùng IDE thì phải tự viết makefile hoặc sửa từ makefile mẫu tùy vào từng project. Nhược điểm của phương pháp này là hơi tốn thời gian, vì cái nào cũng phải viết makefile cả. Các công cụ tự sinh makefile như CMake dùng rất phức tạp và không hiệu quả trong trường hợp này. Nên tôi khuyên các bạn dùng Eclipse với AVR Plugin.

    Trước hết download phiên bản Eclipse mới nhất (Bản Eclipse CDT), sau đó chọn install new plugin với đường dẫn là: http://avr-eclipse.sourceforge.net/updatesite/

    Thông tin thêm về cách cấu hình với Eclipse xem tại trang chủ

    3. Thư viện cho AVR

    Bản thân khi cài đặt xong avr-libc thì chỉ có các header định nghĩa chân cẳng và vài file định kiểu ở trong thư mục /usr/avr/include và /usr/avr/lib nên túm lại là làm với module nào thì cũng phải viết lại cả.

    Cộng đồng dùng AVR có thư viện Procyon AVRlib viết bởi Pascal Stang, giảng viên của trường Stanford viết từ lâu rồi, nhưng vẫn được nhiều người sử dụng, thể hiện ở sự logic của thư viện. Thư viện được phổ biến dưới giấy phép GPL.

    Thông tin chi tiết về thư viện tại đây

    Tuy nhiên, có thể hơi khó download vì một vài lần k down được, nên tôi đã upload toàn bộ file lên host riêng của tôi tại: http://pptutorials.com/doc/avrlib/

    4. Nạp cho chip

    Có thể dùng AVRDude để nạp cho chip bằng các mạch nạp thông dụng ngon lành. Định nghĩa các mạch hỗ trợ bởi avrdude ở trong /etc/avrdude.conf

    Tuy nhiên, khi nạp có thể sẽ báo về k có quyền truy xuất IO gì đó, thì hãy dùng quyền của superuser để nạp đã rồi tính tiếp. ở đây dùng sudo.

    Cách khắc phục nhược điểm trên là tạo rule cho udev được hướng dẫn tại đây ở phần "Operation not permitted" error đó.

    Minh họa dùng Eclipse IDE để biên dịch AVR:

    Technical sale at WT Microelectronics S'pore
    Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
    Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

  • #2
    xin hỏi anh. học AVR là như thế nào?mong a giải thích rõ hơn.

    Comment


    • #3
      Nguyên văn bởi thandieu86 Xem bài viết
      xin hỏi anh. học AVR là như thế nào?mong a giải thích rõ hơn.
      Câu hỏi của bạn quá chuẩn!
      Hãy gọi tôi khi bạn cần

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      • vi van pham
        Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
        bởi vi van pham
        Dinhthuong ơi! cơ hội làm giàu của cháu đến rồi.

        Trên thế giới toàn bộ : "Chân Vịt" cho tàu bè đều là cánh to, nó hao nhiên liệu, ma sát làm hư hao. Nay cháu sx chân vịt cánh nhò cho thế giới sử dụng, chân vịt của cháu...
        hôm nay, 21:25
      • bqviet
        Trả lời cho nguồn switching
        bởi bqviet
        Thông tin cá nhân bqv xin phép tránh nêu ở diễn đàn. Nghề nghiệp thì bao năm nay vẫn thế thôi : điện - điện tử - tự động hóa - IT. Làm ơn đừng hâm mộ, nhỡ có dịp gặp thật thì lại thất vọng vì thực tế không như mình nghĩ. Bqv xét...
        hôm nay, 21:16
      • mèomướp
        Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
        bởi mèomướp
        Dạ chú dinh... cứ xét hệ tại 1 thời điểm thì sẽ dễ hiểu hơn ạ, với cánh to thì mặt tiếp xúc lớn hơn, lực tác động vào đồng thời nhiều không khí hơn, nhìu không khí cùng chuyển động thì sẽ tạo lưu lượng gió lớn hơn ạ...
        hôm nay, 18:49
      • mèomướp
        Trả lời cho nguồn switching
        bởi mèomướp
        Dạ cháu hỏi lại chị hàng xóm nhà cháu rồi ạ, chị ấy bảo anh thợ sửa điều hòa tâm sự với chị ấy nên hông nhầm đâu ạ. Chú bq... hông tin thì có thể xem video này ạ
        https://youtu.be/dvU8ZcvgYH4?si=15Sd_j3uxuWah9PR
        hôm nay, 17:30
      • dinhthuong80
        Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
        bởi dinhthuong80
        Cảm ơn bác ạ, nhờ chủ đề này, nhờ bác nhiệt tình chia sẻ mà mọi người biết thêm nhiều kiến thức về quạt điên, thiết bị điện tưởng chừng rất đơn giản chỉ chuyển điện thành cơ.

        Tuy nhiên, chỗ in đậm cháu không đồng...
        hôm nay, 17:00
      • bqviet
        Trả lời cho nguồn switching
        bởi bqviet
        Hình như bạn mèomướp lộn chút. Mạch nguồn xung vốn chạy 220V, muốn chuyển sang chạy 110V thì có thể dùng mạch nhân áp; hoặc thậm chí chẳng phải làm gì nếu đó là nguồn xung flyback đầu vào dải rộng. Chứ mạch nguồn vốn chạy 110V hoặc 100V nay muốn chuyển sang chạy 220 thì phải thay một mớ đấy....
        hôm nay, 16:16
      • milan
        Trả lời cho nguồn switching
        bởi milan
        Đại ca bqviet năm nay bao nhiêu tuổi rồi, làm nghề gì nhỉ.
        Ngày xưa em hâm mộ anh nhất diễn đàn mà chưa có dịp gặp....
        hôm nay, 11:51
      • mèomướp
        Trả lời cho nguồn switching
        bởi mèomướp
        Dạ ai lại làm như chú bq... ạ. một số dòng điều hòa của nhật bên trong nó có mạch nhân áp thì bỏ qua mạch ấy là chạy 220v được ạ. Còn máy hàn thì cháu hông biết nó có thể làm vậy ko, chú tháo ra xem mạch mới biết được ạ...
        hôm nay, 07:09
      • tuyennhan
        Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
        bởi tuyennhan
        Senko này là sử dụng cánh nhỏ đầu tiên , hình dáng đẹp giá vừa phải nhưng lại thiết kế sai ở chổ thêm nối tiếp cầu chì nhiệt vào đàu dây chung mô tơ , sử dụng lâu quạt tăng nhiệt cầu chì đứt thế là hết xài dù những linh kiện...
        hôm nay, 07:07
      • vi van pham
        Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
        bởi vi van pham
        Tất ca kiến thức về quạt của tôi do thầy hiệu trưởng Nguyễn Hồng Lam tốt nghiệpp kỹ sư bên Mỹ giảng dạy. Cánh quạt cong cũng là thầy dạy , nó tạo khí động học.

        Tôi đã dùng ngôn ngữ bình dân để thuyết minh cho mọi người...
        hôm nay, 01:36
      Đang tải...
      X