Thông báo

Collapse
No announcement yet.

PIC/dsPIC trên Linux - công cụ phát triển trong Ubuntu 8.04++

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

  • PIC/dsPIC trên Linux - công cụ phát triển trong Ubuntu 8.04++

    Tại sao lại phải ghi rõ ràng như vậy, bởi vì cho tới thời điểm này, bản Gusty 7.10 vẫn chưa chạy được Piklab ổn định.

    Thực ra có nhiều cách làm, và nhiều mẹo vặt để sửa. Có đồng chí thậm chí còn đem cả gói rpm về cài dạng alien. Nhiều đồng chí khác làm đủ các trò để vọc nó. Tuy nhiên, tới thời điểm này F vẫn chưa cài và chưa demo, bởi quan điểm của F là ta cứ từ từ mà xử lý thôi, còn rất nhiều việc để xử lý, liệu có làm hết được không, ta cần làm việc vơi PIC/Microchip hay là ta cần chứng tỏ khả năng Linux của ta?

    Chính vì thế, chủ trương của F hiện nay là khuyên các đồng chí xài Ubuntu chưa nên cài Piklab.

    Piklab được công bố chính thức năm 2005, và trong danh sách những người phát triển Piklab có một đồng chí người Việt Nam. Điều này cũng là một điều đáng tự hào nhỉ (tên Minh NGUYEN). Oki, dù sao cho tới nay, chúng ta nhận thấy bộ công cụ ICD2, PICkit 2 của Microchip trở nên khá hiệu quả, mọi trình dịch của Microchip hầu như đều được Piklab hỗ trợ. Piklab cũng lôi luôn cả thằng GPUtils vào.

    Piklab theo đánh giá tổng quan thì có thể nói đây là một điểm sáng mới của Microchip. Tuy nhiên cho tới giờ, Piklab vẫn chưa thực sự hoàn thiện, và đặc biệt là chỉ cho tới khi phiên bản 8.04 thì Ubuntu mới có thể cài đặt Piklab một cách ổn thỏa. Có nghĩa là hơn 1 tháng nữa thôi thì bản Ubuntu 8.04 Hardy sẽ được cập nhật.

    Anh em PIC Bang sẽ ngồi chờ thêm một tháng nữa vậy

    Chúc vui

    PS> Lời khuyên là cho tới nay phiên bản 8.04 alpha-4 đã có, nhưng F vẫn chủ trương làm việc "một cách thoải mái", ta dùng Ubuntu hay Ubuntu dùng ta?

    Cập nhật: Ubuntu 8.04.1 đã chạy được tất cả các công cụ phát triển cho PIC tương đối ổn định.
    Last edited by bqviet; 19-09-2008, 15:46. Lý do: cập nhật tin tức
    Falleaf
    Công ty TNHH Thương mại và Giao nhận R&P
    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

  • #2
    Hôm nay Ubuntu đã chính thức công bố phiên bản 8.04 ổn định và đã cho nâng cấp hệ thống trực tuyến.

    Các đồng chí hãy nhanh chân upgrade lên phiên bản 8.04 để enjoy cái Piklab nhé. Kể từ hôm nay chúng ta sẽ thảo luận về Piklab như một công cụ chính thức dành cho Microchip trên nền Ubuntu.

    Chúc vui.
    Falleaf
    Công ty TNHH Thương mại và Giao nhận R&P
    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

    Comment


    • #3
      Vâng, em đang xài bản 8.4 nè. Xin anh 1 bài hướng dẫn sử dụng Pika trong ubun tu, và giải thích ứng dụng của Pika trong ubuntu .

      Em cám ơn !

      vmt thân !
      ---------------------------------
      Ai dám nói:
      1 +1 =2 ^^

      Comment


      • #4
        Sử dụng CCS C trên Piklab?

        Các vấn đề chúng ta quan tâm ở đây để làm quen với Piklab và CCS C trên Piklab đó là:
        - Cài đặt Piklab
        - Cài đặt CCS C
        - Tạo một dự án bằng Piklab
        - Biên dịch

        Tất nhiên trong quá trình này chúng ta sẽ phải dần tìm hiểu các vấn đề liên quan, nhưng trong bước đầu vui vẻ này, chúng ta chỉ cần một dự án nhỏ để thấy rằng CCS C hoạt động như thế nào trên Piklab nhé.

        1. Cài đặt Piklab:
        Từ phiên bản Ubuntu 8.04 trở lên, việc cài đặt Piklab trở nên đơn giản với Synaptics, và từ phiên bản 8.04 thì Piklab mới chạy ổn định trên Ubuntu. Do vậy, yêu cầu đầu tiên đó là bạn hãy dùng Ubuntu 8.04++

        F bỏ qua bước này vì không có vấn đề gì quan trọng cả khi đã dùng Synaptics.

        2. Cài đặt CCS C:
        Vấn đề chúng ta gặp đó là CCS C chỉ làm việc với Windows, do vậy, rõ ràng chúng ta cần sự hỗ trợ của Wine. Vấn đề thứ hai, đó là CCS C có đi kèm theo các file bản quyền, và cách activate như thế nào?

        Bước 1: Chép các file bản quyền CCS C mà bạn nhận được (ở đâu đó thì tùy, nhưng bạn nhớ rằng R&P là nhà phân phối chính thức duy nhất của CCS C tại Việt Nam, và vì vậy làm ơn đừng xin F các file này ) vào một thư mục nào đó trên Ubuntu của bạn.

        Bước 2: Giả sử file bạn download được là setup_pwhd.exe chẳng hạn. Đây là file cài đặt mà bạn dùng trên Windows để cài CCS C. Hãy bỏ nó ở thư mục home/Applications/CCSC/setup_pwhd.exe

        Chạy dòng lệnh:
        Code:
        $ wine Applications/CCSC/setup_pwhd.exe
        Oki, bây giờ bạn bắt đầu quá trình cài đặt giống y như trên Windows, không có gì phức tạp cả. Có thể nó sẽ bị lỗi đâu đó, đừng bấm vào các nút báo lỗi đó, cứ cho nó chạy tiếp đến khi kết thúc.

        Vấn đề này F vẫn chưa nghiên cứu kỹ, nên tạm thời để đó, nhưng nó vẫn chạy rất ổn. Lỗi này được báo do nó cài IDE của CCS C. Mà IDE thì ta không cần dùng của CCS C, ta đã dùng Piklab rồi, nên ta có thể bỏ qua.

        Bước 3: Cấu hình Piklab để chạy CCS C
        - Tạo một dự án với Piklab bằng cách tạo một Projects >> New Project.
        - Cấu hình thông thường bằng việc chọn Device. Ở ví dụ này F chọn PIC6F887.
        - Chọn Tool Chains là CCS C ở (Setting >> Tool Chains)
        - Chọn CCS C như trong hình, và chuyển Executable Type sang Windows thay vì là Unix.

        Oki, bạn sẽ thấy mọi việc hoàn toàn đơn giản. Chú ý là khi chuyển qua Windows thì bạn sẽ thấy dòng chữ "ccsc" found ở chỗ Compiler. Và đừng sửa gì nữa cả, mặc định nó sẽ chạy Wine, dòng Path không cần điền gì. Xem hình dưới đây.

        Bước 4: Tạo file mới, add Source File và bắt đầu code thôi.

        Cuối cùng Build All.

        Mọi thứ thật ok, không có gì khác biệt với Windows.

        F để dành lại những vấn đề chuyên sâu hơn cho các bạn thử nghiệm và thảo luận. Những Screenshots trong bài được chụp từ máy của F, và nó hoàn toàn chạy rất oki, không hề có báo lỗi.

        Lưu ý: Trong bài viết này F không chú trọng tới vấn đề một chương trình thế nào, chỉ kiểm tra hoạt động của Piklab trên Ubuntu 8.04 mà thôi.

        Chúc vui
        Attached Files
        Falleaf
        Công ty TNHH Thương mại và Giao nhận R&P
        58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
        mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

        Comment


        • #5
          Nguyên văn bởi falleaf Xem bài viết
          Bước 3: Cấu hình Piklab để chạy CCS C
          - Tạo một dự án với Piklab bằng cách tạo một Projects >> New Project.
          - Cấu hình thông thường bằng việc chọn Device. Ở ví dụ này F chọn PIC6F887.
          - Chọn Tool Chains là CCS C ở (Setting >> Tool Chains)
          - Chọn CCS C như trong hình, và chuyển Executable Type sang Windows thay vì là Unix.
          Em chỉ cài đến đây, sử dụng luôn được chứ anh.

          vmt thân!
          ---------------------------------
          Ai dám nói:
          1 +1 =2 ^^

          Comment


          • #6
            Hiện F đang gặp vấn đề kết nối USB ICD2 với Piklab, có đồng chí nào nghiên cứu ổn rồi thì hú F một phát nhé.

            Chúc vui
            Falleaf
            Công ty TNHH Thương mại và Giao nhận R&P
            58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
            mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

            Comment


            • #7
              Kết nối USB ICD2 với Piklab

              Nguyên văn bởi falleaf Xem bài viết
              Hiện F đang gặp vấn đề kết nối USB ICD2 với Piklab, có đồng chí nào nghiên cứu ổn rồi thì hú F một phát nhé.

              Chúc vui
              Sau một hồi tìm hiểu em đã connect thành công mạch Piklab với ICD2 trong Ubuntu 8.04 LTS. Cách làm như sau.

              1. Tạo một file 026_microchip.rules trên Desktop với nội dung như sau:
              Code:
              #PICKit
              SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0032", MODE="0660", GROUP="ngohaibac"
              #PICKit2
              SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0033", MODE="0660", GROUP="ngohaibac"
              #ICD2
              SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="8000", MODE="0660", GROUP="ngohaibac"
              #ICD21
              SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="8001", MODE="0660", GROUP="ngohaibac"
              Trong đó, ngohaibac là tên của group user mà mình đang dùng, vì thế sẽ thay bằng tên group của máy bạn.

              2. Copy file này vào trong thư mục /etc/udev/rules.d bằng quyền root. Do đó, phải dùng lệnh su để chuyển quyền root, và dùng lệnh cp để copy.
              Code:
              su
              cp  026_microchip.rules /home/ngohaibac/Desktop /etc/udev/rules.d
              3. Mở Piklab lên và cấu hình phần programmer cho nó. Vào menu Programmer -> Settings vào tab Programmer Selection chọn USB Port và thư mục Fireware trỏ đến thư mục C:/Program Files/Microchip/ICD2 khi cài MPLab trong Windows. Nói chung nếu ổ C của bạn format là NTFS thì nên copy thư mục ICD2 vào phân vùng FAT32 hoặc vào trong thư mục nào đó của Ubuntu.

              Thế là xong, ke ke.

              Quay vào trong chương trình Piklab và chọn thử Bank Select xem ke ke. Mình đã thử và connect với ICD2 thành công.

              Chúc các bạn thành công.

              Tham khảo:

              http://piklab.sourceforge.net/files/...ev_hotplug.txt
              http://piklab.wiki.sourceforge.net/USB+Port+Problems
              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

              Comment


              • #8
                Cài đặt Piklab cho Kubuntu 8.04.1

                Kể từ bản 8.04.1, Piklab đã chạy tương đối ổn định và nằm ngay trong hệ thống quản lý gói của Ubuntu. Vậy tại sao lại không cài đặt nó để phát triển thay công cụ MPLAB vốn phải mô phỏng nhỉ ? Dùng Adept manager là đơn giản hơn cả (các bạn nhớ chú ý gõ đúng tên và trạng thái các hộp kiểm tùy chọn cho dễ nhìn).
                Attached Files
                Phần mềm tự do hoặc không dùng máy tính nữa !.

                Comment


                • #9
                  Cài đặt gputils

                  Gputils là gói chứa các công cụ biên dịch hợp ngữ cho PIC, tương tự gói binutils của máy tính để bản thông thường. Sau khi cài Piklab và gputils, người dùng đã có một môi trường phát triển cho PIC cơ bản : IDE, trình dịch hợp ngữ, chương trình nạp chíp.
                  Attached Files
                  Phần mềm tự do hoặc không dùng máy tính nữa !.

                  Comment


                  • #10
                    Cài đặt SDCC

                    SDCC là trình biên dịch C cho PIC. Nói chung theo phản ánh của nhiều người thì chất lượng mã dịch của nó chưa được tối ưu lắm, nhưng dù sao đây vẫn là một công cụ tốt trong thế giới phần mềm tự do : mã nguồn mở, biên dịch đúng, chạy trên cả Windows lẫn Linux, nhỏ và miễn phí. Điều hay nữa là công cụ này tích hợp rất tốt với Piklabgputils.
                    Attached Files
                    Phần mềm tự do hoặc không dùng máy tính nữa !.

                    Comment


                    • #11
                      Tóm tắt

                      Sau khi cài đủ 3 chương trình Piklab, gputils và SDCC, người dùng đã có đủ các công cụ tương đối hoàn chỉnh để bắt tay vào phát triển phần mềm cho PIC (ít nhất là đối với tôi). Tất nhiên còn nhiều công cụ khác nhưng nói chung là không phải tối cần thiết. Vd icprog, picprog, picprg không cần thiết vì vốn Piklab đã có chương trình nạp chíp rồi. Ai cảm thấy tiếc vài chục ngàn VNđ có thể cài thêm gpsim để chạy mô phỏng PIC trên máy tính, nhưng cái này đối với bqviet cũng không thấy hữu dụng mấy. Vi điều khiển sinh ra là để tương tác với môi trường xung quanh, mô phỏng thì còn ý nghĩa gì nữa ?

                      Thay vì dùng Adept manager, người có kinh nghiệm với Linux có thể chỉ cần duy nhất 1 dòng lệnh để cài đặt tất cả các công cụ đã đề cập
                      Code:
                      sudo apt-get install piklab gputils sdcc gpsim picprog
                      Phần mềm tự do hoặc không dùng máy tính nữa !.

                      Comment


                      • #12
                        Làm mạch nạp hỗ trợ bởi Piklab

                        Nếu không dùng phần mềm mô phỏng, chắc chắn bạn cần một cái gì đó để thử chương trình của mình. Mạch nạp sau vẽ lại từ PG1 của Olimex bằng Kicad là loại đơn giản nhất nạp được PIC. Trước tiên bạn cần cài đặt bộ công cụ Kicad. Sau đó mở tập tin mạch in đuôi .brd bằng pcbnew của Kicad. Lưu ý rằng 2 đi-ốt D3 và D4 có thể thay bằng 1 đi-ốt zener 8,2 V duy nhất, hoặc bằng 1 đi-ốt zener 6,2 V và 1 đèn LED.
                        Attached Files
                        Phần mềm tự do hoặc không dùng máy tính nữa !.

                        Comment


                        • #13
                          Làm mạch nạp hỗ trợ bởi Piklab (2)

                          Loại vừa đề cập dùng cổng tuần tự RS232. Loại giới thiệu sau đây sử dụng cổng song song IEEE1284 dựa theo thiết kế của tác giả David Tait. Nó cần nguồn cấp từ ngoài là 15 VDC hoặc 9 VAC và chạy rất ổn định. Khác biệt duy nhất là phần nguồn sử dụng LM317 thay vì 7805 & 7808; đã từ lâu bqviet quen thiết kế với 317 vì điện áp đầu ra ổn định hơn và điện áp đầu vào có thể lên tới 37 VDC.
                          Attached Files
                          Phần mềm tự do hoặc không dùng máy tính nữa !.

                          Comment


                          • #14
                            Khuyến cáo: không nên dùng SDCC để lập trình cho dòng PIC 10/12/16

                            Ít nhất là trong giai đoạn này. Theo kinh nghiệm đánh vật với SDCC trong vòng cỡ 3 tuần, lòng tin vào SDCC khi dịch mã nguồn cho PIC bị suy giảm trầm trọng, mặc dù trước đây rất tin tưởng khi dịch cho 8051. Các lỗi đã gặp:

                            Không dịch được lệnh XOR, ví dụ để nhấp nháy LED :
                            Code:
                            PORTC ^= 0x01;
                            Không hỗ trợ kiểu viết binary, cứ phải dùng mã hexa nhiều khi khó luận
                            Code:
                            0b00001000;
                            Khởi tạo biến static ba lăng nhăng
                            Code:
                            static unsigned char led_state = 0;
                            thực tế không phải lúc nào giá trị ban đầu của led_state cũng được khởi tạo bằng 0 trong lần chạy đầu tiên, không hiểu nhóm phát triển nghĩ thế nào ?

                            Một loạt lệnh gán liên tiếp không chạy (hình như do cơ chế tối ưu mã hoạt động sai)
                            Code:
                            void display2led(unsigned int val, unsigned char * segbuf) {
                            	T0IE = 0;
                            	if(val > 9999) {
                            		segbuf[3] = led_segment_table[14];
                            		segbuf[2] = led_segment_table[14];
                            		segbuf[1] = led_segment_table[14];
                            		segbuf[0] = led_segment_table[14];
                            ...
                            1 lệnh gán = thì chạy, 2 lệnh cũng chạy, nhưng từ 3 lệnh liên tiếp trở lên thì không còn chạy đúng nữa. Mặc dù mã này đã thử tốt cho PSoC, 8051, HT-PICC.

                            Bản 2.8.0 hiện tại không dịch được cho 16F631, bản 2.7.0 thì không dịch được cho 16F887 mặc dù nói là có hỗ trợ. Bản đang phát triển thì dịch sai thư viện tất cho cả dòng 16F.


                            Khuyến cáo mọi người phát triển PIC trên nền Linux thì hoặc dùng bản HT-PICC lite hoặc cắn răng mua CCS vậy. Hoặc ch_ôm phần mềm trên Windows rồi chạy mô phỏng bằng Wine cũng tốt.
                            Phần mềm tự do hoặc không dùng máy tính nữa !.

                            Comment


                            • #15
                              http://www.dattalo.com/gnupic/sdcc.html

                              Vấn đề lệnh XOR của bác ở đây.

                              Chúc vui
                              Falleaf
                              Công ty TNHH Thương mại và Giao nhận R&P
                              58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                              mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X