Thông báo

Collapse
No announcement yet.

Học ARM, nhỏ nhất, đơn giản nhất.

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

  • Học ARM, nhỏ nhất, đơn giản nhất.

    Với mục tiêu học arm bằng cách nào đó đơn giản nhất, dễ hiểu nhất và hứng thú nhất. Không phải là việc quá khó. dự định này ban đầu dự tính làm trên ARM7 nhưng qua tham khảo các bạn hứng thú hơn với M0 lên đã thực hiện với M0.
    Như chủ đề ta hãy thử.

    Đầu tiên tải về những thứ cần thiết.

    1* YAGARTO Tools và YAGARTO GNU ARM toolchain tại http://www.yagarto.de/#download
    Tại sao ?: YAGARTO là một bộ công cụ biên dịch C GNU ARM, nhiều tính năng, mạnh, cập nhật thường xuyên và miễn phí... có lẽ từng đó lý do là đủ.

    2* Programmer's Notepad 2 tại http://www.pnotepad.org/download/ hay http://code.google.com/p/mini-arm-vi/downloads/list
    Tại sao ?: pn2 là Text editor, có nhiều lý do để dùng nó, có lẽ lý do lớn nhất là nó nhẹ, dễ dùng. Bạn có thể dùng bất kỳ Text editor nào mà bạn thích vì hướng ta đi sẽ không phụ thộc vào bất kỳ Text editor hay IDE nào cả, vỉ ta sẽ thử cách làm việc của dân pro chỉ cần Text editor + dòng lệnh.

    3* LPC1114_CodeBase tại http://code.google.com/p/mini-arm-vi/downloads/list Đây là bộ code khung sườn viết sẵn, sử dụng nó ta sẽ tiết kiện được rất nhiều mồ hôi và thời gian để học ARM . Bản gốc không chỉnh sửa có tại http://www.microbuilder.eu

    4* Schematic và pcb của lpc1114 test kit. Đây là thứ cuối cùng nhưng cũng không kém phần quan trọng tải về tại http://code.google.com/p/mini-arm-vi/downloads/list
    pcb các bạn chỉ việc in và gia công mạch theo phương pháp ủi.

    Ok vậy là xong phần giới thiệu sơ qua về test kit.

    Ngày mai ta sẽ nạp thử code vào chip bằng Flash Magic, biên dịch file hex phân tích sơ qua về Makefile, chỉnh sửa Makefile để trình biên dịch, dịch ngược ra ASM để ta có thể phân tích, xem coi GNU ARM làm việc thế nào.

    Ps: ITX sẽ cố gắng sắp xếp công việc để có thể có tiến độ 1 tuần 1 post, có thể nhanh hơn hặc chậm hơn.
    Từ chối trách nhiệm:
    Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
    Blog: http://mritx.blogspot.com

  • #2
    Trc em thấy anh bắt đầu với LPC2103. Giờ lại LPC1114, em cũng triển khai học ARM nhưng còn mung lung quá. Mong anh post thêm bài để chúng em có cơ hội học hỏi. Rất cám ơn anh!


    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
    Tel: 031 518648 Phone: 0904 283 505

    Comment


    • #3
      Thanks itx về một gợi ý rất hay, học ARM nhỏ nhất và đơn giản. Mình đã down shematic của test kit, tuy nhiên không có giá trị của các linh kiện tụ, trở ...Itx có thể update shematic cho cụ thể hơn không ?

      Comment


      • #4
        shematic quá đơn giản và giá trị linh kiện tụ, trở là không quan trọng tuy nhiên đã update shematic.
        Từ chối trách nhiệm:
        Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
        Blog: http://mritx.blogspot.com

        Comment


        • #5
          Arm M0 có khác gì arm cortex M3 không mấy bác, thấy tụi bạn nói là M3 khủng hơn, giá cả cũng như nhau.. Nói chung là nó nói có nhiều ưu điểm vựot trội hơn so với con M0 và ARM 7. Đang mông lung nhờ các cao thủ tư vấn.. đang chuẩn bị học ARM
          Sống trong đời sống cần có một tấm lòng..

          Comment


          • #6
            Chọn chip không phải là chọn con nào khủng (tốc độ cao, nhiều tính năng, tập lệnh) mà chọn theo nhu cầu của chính bản thân mình, điều này itx luôn nhắc đi nhắc lại khi các bạn hỏi. Vấn đề chọn chip đã được bàn rồi, vì thế sẽ không bàn tới tại đây nữa.
            tuy nhiên up lên bản so sánh tập lệnh gữa M0 và M3. Để các bạn có thêm khái niệm về M0
            Click image for larger version

Name:	cortex-m0-vs-cortex-m3.JPG
Views:	1
Size:	126.4 KB
ID:	1347632
            Đừng ngạc nhiên vì điều đó nhà sản suất đã tính toán chi ly cho điều đó, không phải lúc nào và ở đâu nhiều hơn cũng tốt hơn, mạnh hơn sẽ thắng
            Từ chối trách nhiệm:
            Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
            Blog: http://mritx.blogspot.com

            Comment


            • #7
              Vote cho a Itx 1 phiếu. E thấy xài Eclipse hay lắm đấy.

              Comment


              • #8
                2/ Sử dụng Flash Magic, diy cáp

                Hôm nay ta sẽ bàn qua về flash magic, công cụ này là một bootloader app cho phép sử dụng bootloader mặc định trên chip của Philips nay là NXP.

                1* Diy cáp:
                Cáp chúng ta sử dụng rất đơn giản, chỉ đơn thuần là một mạch chuyển USB to UART các bạn có thể sử dụng bất kỳ chip nào như FT232RL, PL2303-HX hay CP2102.... rất nhiều tuy nhiên để khỏi mất công chế tạo ITX sử dụng cáp USB của nokia 1202 (CA 50). ( thích cái này vì nó tương thích 3.3v rất tốt và rất rẻ ).

                mổ ra và hàn lại cho thích hợp với kit của ta.


                Chú ý: đầu ra của mạch usb2uart này có đầy đủ các ngõ TX, RX, DTR, RTS, Mass, +5v. Bạn nhớ đo kiểm cho đúng và ráp vào đúng dây của kit arm.


                2* Flash Magic:

                Đầu tiên tải về và cài đặt tại http://www.flashmagictool.com/ .

                Thao tác sử dụng flashmagic rất đơn giản bạn thao tác như sau

                phần select device bạn chọn chip của mình trong danh sách ở đây là LPC1114/301. Com port , chọn cổng com mà bạn gắn cáp. Mhz nhớ chọn đúng tầng số thạch anh của kit ở đây là 12mhz . Baud Rate tùy bạn chọn, tuy nhiên nếu để tốc độ cao quá thường dễ bị lỗi, thấp quá thì chậm ở đây ta chọn 9600 như là một thỏa hiệp.

                Hex file chọn file hex mà bạn muốn nạp cho chip, trong ví dụ minh họa này của chúng ta nó nằm trong [ LPC1114_CodeBase_v0.65_itx\out\firmware.hex ].

                Ok nhấn start.

                Nếu tất cả mọi việc đuợc thao tác đúng gắn led vào pio2_6 (chân 1) và mass sẽ nhấp nháy.

                Ok. Ngày tếp theo ta sẽ phân tích make file, main.c và biên dịch lại firmware.hex xem có chạy không?.
                Từ chối trách nhiệm:
                Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
                Blog: http://mritx.blogspot.com

                Comment


                • #9
                  Như vậy là trên chip của NXP đã có sẳn bootloader code mặc định. Ta không cần mạch nạp để nạp bootloader code ?

                  Comment


                  • #10
                    Chính xác là như vậy, bootloader này nằm sẵn trong Flash ở dải địa chỉ 0x1FFF0000 tới 0x1FFF4000 ( Xem thêm tài liệu LPC11xx User manual trang 11 phần memory mapping. )
                    bootloader của LPC11xx chạy mỗi khi MCU được bật nguồn hoặc reset. Khi đang khởi động MCU (lúc bật nguồn hoặc sau khi reset) nó sẽ check chân PIO0_1, nếu mức LOW, nó sẽ đưa MCU vào chế độ chờ nạp code, nếu mức HIGH, MCU se nhảy vào thực thi chương trình được nạp trước đó trong Flash của nó...
                    Xem thêm ở phần "Chapter 20: LPC111x/LPC11Cxx Flash programming firmware" trong user manual nhe'

                    Or call me 0903911109

                    Comment


                    • #11
                      Bác ITX xem lại cái schematic, hai con diode D1, D2 1N4184 phải đổi chiều lại chứ nhỉ? Để nguyên thì làm sao kéo chân Reset và chân ISP_En xuống mức 0 được nhỉ ?

                      Or call me 0903911109

                      Comment


                      • #12
                        Nguyên văn bởi Connection Xem bài viết
                        Bác ITX xem lại cái schematic, hai con diode D1, D2 1N4184 phải đổi chiều lại chứ nhỉ? Để nguyên thì làm sao kéo chân Reset và chân ISP_En xuống mức 0 được nhỉ ?
                        FIX.
                        Các đồng chí thinh lặng quá cứ đinh nin rằng mình đã post đúng mạch ai ngờ post nhầm back em auto backup của Pulsonix tự tạo.

                        Ps: Từ hôm đó đến nay cứ bị ăn nhậu họp hành suốt, các đồng chí thong thả cho ITX sắp xếp việc cá nhân, vãn việc ITX lại hầu chuyện.
                        Last edited by itx; 15-06-2011, 17:46. Lý do: ps
                        Từ chối trách nhiệm:
                        Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
                        Blog: http://mritx.blogspot.com

                        Comment


                        • #13
                          Đang mong ngóng bài của anh....Bắt đầu mày mò nghiên cứu cái này ....

                          Comment


                          • #14
                            Cái nàu hơi bị hay đó! M cũng vote cho mod ITX 1 phiếu ! Rất hoan nghênh tinh thần vì cộng đồng của ITX.

                            Comment


                            • #15
                              ah` sẵn đây giới thiệu với anh em thằng này : http://www.coocox.org/CooCox_CoIDE.htm
                              thấy xài cũng hay hay , anh em xem thử có dùng thằng này được không thì dùng luôn cho tuturial này luôn ( free mà) ( nó biên dịch trên GNU ARM). mong anh ITX cho ý kiến luôn.

                              Comment

                              Về tác giả

                              Collapse

                              itx ITX Tìm hiểu thêm về itx

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

                              Collapse

                              Đang tải...
                              X