PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   Sử dụng MPLab (http://www.picvietnam.com/forum/showthread.php?t=108)

thanhphongltv 07-08-2005 10:23 AM

Sử dụng MPLab
 
Chào các bạn ! Tôi đang học lập trình Pic nhưng tôi chưa biết dùng phần mềm MPLab dể lập trình và mô phỏng cho Pic , các bạn chỉ giùm nhé , tôi mô phỏng nhưng k được , tạo project mới thì bị báo lỗi "no source " . Thanks nhiều nghen !

batbatdieu 09-08-2005 01:36 AM

Cái này tôi viết cho ICD2 , nhưng trong đó cũng có hướng dẫn về Mplab , nhất là cách tạo 1 project ( bằng hình ảnh) để biên dịch chương trình
http://www.ddcdt.com/icd2.pdf

hio2 28-08-2005 01:30 PM

Bạn dùng MPLAP mà báo lỗi nosource , khi tạo một Project Wizad , bạn phải add file *.c (dùng HT PIC ) hoặc file *.asm(dùng MPSAM) cùng với file *.lkr (file linker trong thư mục MP Suite , ví dụ bạn dùng P16F877A thì add file 16F877A.lkr )
Khi đó thì Project của bạn mới nhận source , bạn đọc lại trong help phần Make New Project !

FUD84 27-09-2005 05:16 AM

hichic, em down cái đoạn video hướng dẫn của bọn microchip xuống và làm theo chỉ dẫn của bọn nó, em có con PIC16F628A, nên lúc tạo project em đã chọn add thêm 2 file: F628Atempo.asm va 16F628A.lkr, vậy mà lúc em chạy buil all nó cứ báo có 1 lỗi, các đại ca chỉ bảo dùm với:((

hio2 27-09-2005 08:47 PM

Trích:

Nguyên văn bởi FUD84
hichic, em down cái đoạn video hướng dẫn của bọn microchip xuống và làm theo chỉ dẫn của bọn nó, em có con PIC16F628A, nên lúc tạo project em đã chọn add thêm 2 file: F628Atempo.asm va 16F628A.lkr, vậy mà lúc em chạy buil all nó cứ báo có 1 lỗi, các đại ca chỉ bảo dùm với:((

Add 2 file *.lkr và *.asm rồi thì OK , lỗi còn lại bạn kiểm tra lại chương trình *.asm xem sao !!

chuabietgi 26-12-2005 05:59 PM

To batbatdieu!
Cai link bac dua chac la chet,toi load mai ma ko duoc!Cam phien bac post lai cho ba con !
Thansk!

mafd_47a 26-12-2005 08:48 PM

Bac xem trong nay cung duoc

http://www.mikroelektronika.co.yu/en..._01chapter.htm

bigtitan 20-05-2006 09:45 PM

Sẵn tiện mấy bác nào mạnh về ASM cho em tí về cách debug trong MPASM:khi muốn debug mà cùng ngắt thì phải làm sao ạ.Em viết code nhưng không biết cách debug chương trình ngắt.làm sao để nhảy vào ngắt để coi nó làm gì trong đó..
Mong các bác giúp đỡ.....

namqn 20-05-2006 11:56 PM

Bạn đã biết cách debug một chương trình bình thường chưa?

Nếu chưa, làm như sau:
- Biên dịch chương trình, đảm bảo không có lỗi
- Vào mênu Debugger, chọn Select Tool, sau đó chọn MPLAB SIM (nếu bạn dùng ICD2 thì chọn MPLAB ICD 2)
- Sau đó bạn có thể nhấn phím F6 để Reset chip, F9 để run, F7 để chạy từng lệnh và đi vào chương trình con, F8 để chạy từng lệnh và bỏ qua chương trình con
- Riêng lệnh Animate (hoạt họa) thì không có phím tương ứng, bạn phải chọn lệnh Animate trong mênu Debugger, hay chọn nó trên toolbar

Với các phím F7 (Step Into) và F8 (Step Over) bạn sẽ thấy con trỏ mô phỏng hình mũi tên màu xanh (cho biết vị trí lệnh sắp được thực thi) di chuyển mỗi khi nhấn phím. Nếu bạn chọn Run hay Animate thì con trỏ mô phỏng sẽ không được cập nhật cho đến khi bạn chọn lệnh Halt (phím F5 hay trong mênu hay trên toolbar).

Chương trình xử lý ngắt là một loại chương trình con đặc biệt, bạn muốn xem chương trình ngắt được chạy thì phải dùng phím F7 (Step Into) để đi vào trong đoạn chương trình xử lý ngắt khi có ngắt xảy ra.

Thân,

chipchipvn 16-10-2006 06:13 PM

Bác Nam ơi, cho em hỏi tí. Debug là để sửa lỗi mà ( em nghĩ là thế, khong phải bác bỏ quá cho) tại sao lại phải đảm bảo không có lỗi mới Deb ạ. Code của em chaỵ bị báo lỗi hỏai mà em không bít làm sao tìm ra lỗi cả, bác chỉ em với được không, cảm ơn bác.

namqn 16-10-2006 06:49 PM

Trích:

Nguyên văn bởi chipchipvn (Post 5492)
Bác Nam ơi, cho em hỏi tí. Debug là để sửa lỗi mà ( em nghĩ là thế, khong phải bác bỏ quá cho) tại sao lại phải đảm bảo không có lỗi mới Deb ạ. Code của em chaỵ bị báo lỗi hỏai mà em không bít làm sao tìm ra lỗi cả, bác chỉ em với được không, cảm ơn bác.

Bạn hiểu nhầm rồi, ý của tôi là đảm bảo không có lỗi cú pháp (biên dịch thành công). Chương trình dịch thành công thì mới có mã máy để debug. Dịch thành công không có nghĩa là chương trình chạy đúng (nó chỉ đúng về mặt ngữ pháp, còn về ngữ nghĩa thì không có trình dịch nào có thể kiểm tra được).

Bạn cứ giải quyết xong vấn đề dịch chương trình đi, sau đó sẽ bàn tiếp đến việc debug.

Thân,

chipchipvn 16-10-2006 07:26 PM

vâng, cảm ơn bác, em đã hiểu rùi, bên kia em có hỏi lăng nhăng ^^ cảm ơn bác đã trả lời, bi giờ em đã thông rùi

chipchipvn 16-10-2006 07:40 PM

Hức, bác Nam ơi, em lại phải làm phiền bác rùi!:( MPLAB xong rùi nhưng khi em chuyển qua bên Proteus giả lập lại báo lỗi, bác xem hộ em với, em chả hiểu nó nói gì nữa
[U1] Loading HEX file '..\..\..\..\Documents and Settings\Administrator\My Documents\test-copy.hex'.
FATAL: [U1] Program or EEPROM data has invalid address [1000] for this device

Real Time Simulation failed to start

Real Time Simulation FAILED.

pham_dinh_hung83 16-10-2006 09:40 PM

bác ơi cho em hỏi in circui debul là gì nhỉ em thấy các bác bàn về nó
em mua con icd2 của bác minh hà về
nạp chương trình ngon mà debul trên mạch là thế nào em ko biết
cảm ơn bác trước nhe

namqn 17-10-2006 12:32 AM

Trích:

Nguyên văn bởi pham_dinh_hung83 (Post 5501)
bác ơi cho em hỏi in circui debul là gì nhỉ em thấy các bác bàn về nó
em mua con icd2 của bác minh hà về
nạp chương trình ngon mà debul trên mạch là thế nào em ko biết
cảm ơn bác trước nhe

In-circuit Debug là gỡ rối trong mạch (sống), nghĩa là bạn chạy chương trình trên chip thật, và bạn gỡ rối chương trình đó (chẳng hạn như xem nội dung của các thanh ghi, cho chạy từng bước, ...) bằng sự trợ giúp của ICD2.

Để dùng với ICD2, phần cứng và chương trình trong chip của bạn phải được chuẩn bị cho tương thích với ICD2 (xem trong tài liệu hướng dẫn online của MPLAB, chọn lệnh Help>Topics ..., sau đó chọn MPLAB ICD 2). Một số chip không có khả năng debug bằng ICD2.

Thân,

chipchipvn 17-10-2006 06:51 AM

:(, bác Nam xem hộ em cái Proteus mà em hỏi ở trên với! Em cảm ơn bác nhìu
( ghi cái này là do sợ bác không đọc thấy lời thỉnh cầu của em :D)

pham_dinh_hung83 18-10-2006 02:49 AM

thack bác nam xóa mù nhe
em dùng 4550 có debug sống được ko bác. em dùng icd2 mà

qanhep 10-01-2007 07:01 AM

Lỗi cài MPLab!
 
1 Attachment(s)
Các bác giúp em giải quyết vấn đề này với!
Em tải MPLAB version 751 về cài. Khi cài trên máy khác thì được, nhưng cứ cài trên máy của em thì nó báo lỗi như trong ảnh, không hiểu là lỗi gì. Em đang dùng WinXP SP1. Em cũng thử cài các phiên bản cũ hơn của MPLAB nhưng vẫn có lỗi tương tự.

namqn 10-01-2007 04:44 PM

Trích:

Nguyên văn bởi pham_dinh_hung83 (Post 5545)
thack bác nam xóa mù nhe
em dùng 4550 có debug sống được ko bác. em dùng icd2 mà

Chẳng hiểu sao post này lại bị bỏ sót. Chip PIC18F4550 hỗ trợ debug trong mạch, chỉ cần bạn dùng đúng kịch bản liên kết (linker script) dành cho ICD2 (thường có dạng 18fxxxxi.lkr, với xxxx là số hiệu của chip) khi dịch chương trình và đặt cấu hình cho chip hỗ trợ debug. Còn một vấn đề nữa là board mạch phải được thiết kế tương thích với các bộ gỡ rối (ICD 2 chẳng hạn).

Thân,

namqn 10-01-2007 04:52 PM

Trích:

Nguyên văn bởi qanhep (Post 6769)
Các bác giúp em giải quyết vấn đề này với!
Em tải MPLAB version 751 về cài. Khi cài trên máy khác thì được, nhưng cứ cài trên máy của em thì nó báo lỗi như trong ảnh, không hiểu là lỗi gì. Em đang dùng WinXP SP1. Em cũng thử cài các phiên bản cũ hơn của MPLAB nhưng vẫn có lỗi tương tự.

Kiểm tra xem máy được cài thành công đang dùng Service Pack nào, nếu nó dùng SP2 thì bạn cài SP2 vào máy của bạn (dù sao bạn cũng nên cài SP2, ngay cả khi không gặp vấn đề này). Nếu không phải trường hợp này thì có lẽ là lỗi khác, và chúng ta phải tìm hiểu thêm.

Thân,

qanhep 11-01-2007 08:44 AM

Ối giời! Đường đến với công chúa PIC thật là cực nhọc. Nhưng mỗi khi vượt qua một trở ngại thì thấy thật vui và cũng muốn chia sẻ cùng chiến hữu. Sau này, nếu các chiến hữu có gặp lỗi khi cài MPLap thì vào đây nhé: http://consumer.installshield.com/default.asp
Đây là trang mà bọn Microchip giúp đỡ về vấn đề cài đặt MPLAB.
Việc cài đặt MPLap đã làm cho tôi 3 buổi tức như "bò đá". Thế rồi, khi tìm vào thằng Microchip, định viết thư hỏi thăm cái lỗi của nó thì tìm được trang này, làm theo hướng dẫn, thế là OK.

qanhep 11-01-2007 08:52 AM

Các bác admin xem hộ, sao mà đăng nhập khó quá, nhiều lúc phát nản. Cũng có bài đọc xong, muốn trả lời, nhưng không sao mà vào được.

namqn 11-01-2007 06:27 PM

Trích:

Nguyên văn bởi qanhep (Post 6791)
Ối giời! Đường đến với công chúa PIC thật là cực nhọc. Nhưng mỗi khi vượt qua một trở ngại thì thấy thật vui và cũng muốn chia sẻ cùng chiến hữu. Sau này, nếu các chiến hữu có gặp lỗi khi cài MPLap thì vào đây nhé: http://consumer.installshield.com/default.asp
Đây là trang mà bọn Microchip giúp đỡ về vấn đề cài đặt MPLAB.
Việc cài đặt MPLap đã làm cho tôi 3 buổi tức như "bò đá". Thế rồi, khi tìm vào thằng Microchip, định viết thư hỏi thăm cái lỗi của nó thì tìm được trang này, làm theo hướng dẫn, thế là OK.

Nếu được thì mong bạn cho biết phần hướng dẫn cụ thể của InstallShield cho lỗi mà bạn đã gặp luôn.

Thân,

qanhep 12-01-2007 11:20 AM

Trích:

Nguyên văn bởi namqn (Post 6803)
Nếu được thì mong bạn cho biết phần hướng dẫn cụ thể của InstallShield cho lỗi mà bạn đã gặp luôn.

Thân,

Các bác có thể đọc cụ thể về hướng dẫn giải quyết lỗi với từng số lỗi mà quá trình cài đặt tạo ra trên trang web tôi giới thiệu ở trên.
Trong trường hợp của tôi, lỗi 1603 thì nguyên nhân có thể là do ổ D:\ của tôi còn it dung lượng quá, hơn 1,5G, do cái tính tham lam của tôi, cái gì cũng chất vào đó. Trong quá trình cài đặt, có lẽ nó cần một dung lượng lớn để giải nén, nên với lượng đấy là không đủ(tôi đoán thế). Tôi giải quyết như sau:
- Xoá file temp trong C:\.....(đường dẫn file này có thể tìm bằng RUN gõ cmd, trong dos, gõ set, nó sẽ chỉ ra đường dẫn
- Copy file cài vào ổ C:(vì ổ C: của tôi còn gần 10G) và cài dùng file cài trong ổ C để cài.
Thế là ngon lành.
Hơ hơ, thế mà nó mất của tôi 3 buổi đấy.

omlun 23-04-2007 12:56 PM

Trích:

Nguyên văn bởi batbatdieu (Post 454)
Cái này tôi viết cho ICD2 , nhưng trong đó cũng có hướng dẫn về Mplab , nhất là cách tạo 1 project ( bằng hình ảnh) để biên dịch chương trình
http://www.ddcdt.com/icd2.pdf

link die rùi bác ơi!! vui lòng post lại đi

vnrobot 28-04-2007 05:22 PM

Mpasm , Mplink , Mplib ???
 
Trong MPLAB IDE, có các bộ Toolsuite thông dụng
- MPASM Assembler (mpasmwin.exe)
- MPLINK Object Linker (mplink.exe)
- MPLIB Librarian (mplib.exe)
Các pác vui lòng giúp em hiểu rõ những trình trên là gì và chức năng của nó.
Cám ơn.

namqn 28-04-2007 08:33 PM

Trích:

Nguyên văn bởi vnrobot (Post 8443)
Trong MPLAB IDE, có các bộ Toolsuite thông dụng
- MPASM Assembler (mpasmwin.exe)
- MPLINK Object Linker (mplink.exe)
- MPLIB Librarian (mplib.exe)
Các pác vui lòng giúp em hiểu rõ những trình trên là gì và chức năng của nó.
Cám ơn.

MPASM là trình hợp dịch, chuyển mã nguồn hợp ngữ sang mã nhị phân (mã máy) của chip tương ứng, ở dạng các module đối tượng.
MPLINK là trình liên kết dùng để liên kết một hay nhiều module đối tượng (có thể là các module thư viện) thành 1 module nhị phân duy nhất, ánh xạ vào bộ nhớ vật lý của chip.
MPLIB là trình quản lý thư viện dùng để quản lý các module thư viện, các hàm có sẵn của một ngôn ngữ lập trình thường được lưu trong các module thư viện.

Thân,

vnrobot 30-04-2007 08:43 AM

Debugger ? How do use it effectively ?
 
Debugger là trình hỗ trợ tìm và fix lỗi, mặc dù ta viết chương trình kô có lỗi về mặt cú pháp, nhưng có thể sai lầm về mặt logic trong thực tế.

Sau khi chọn chip, lập trình và "build all" để sử dụng chức năng debugger, ta phải chọn chế độ debug. Ví dụ chọn MPLAB SIM, (tốt nhất là debug trên Mạch MPLAP ICD 2 (if có) vì nó giúp ta thao tác fix lỗi trên Mạch thực)
http://www.microchip.com/stellent/gr...ut/55094-2.gif

--Menu bar >> Debugger/Select Tool/MPLAB SIM
(lưu í là MPLAB SIM có hỗ trợ mô phỏng cho con PIC of mình, điều này biết được khi chọn PIC -- Menu bar >> Cofigure/Selec Device )
http://egold4vn.googlepages.com/pic_MPLAB_SIM_fig1.jpg

OK, xong phần Thủ tục, giờ xin các pác share tí kinh nghiệm để làm việc với trình Debugger một cách hiệu quà

Cám ơn.

( F9,F5,F6 ? F2 ? F7, F8 ? ... )

vnrobot 30-04-2007 10:01 AM

How "Set PC at Cursor" ?
 
OK, để Debug cho 1 đọan chương trình nhỏ nào đó, ta cần set điểm bắt đầu và điểm kết thúc.
http://egold4vn.googlepages.com/pic_...C_at_Cusor.jpg

* Set điểm bắt đầu :
Click phải lên dòng mún set điểm bắt đâu >> chọn "Set PC at Cursor" >> kết quả được 1 mũi tên xanh lá duy nhất tại dòng đó.
Lưu í : kô "Set PC at Cursor" được tại Label, chú thích, khai báo biến ... Túm lại, chỉ set được tại các Lệnh Xanh dương, In đậm

* Set điểm điểm kết thúc :
Double Click lên dòng mún kết thúc

* Cho chạy thử :
-- Menu bar >> Debugger/ Animate

* Một Số fím thông dụng :
F9 : Run
F5 : Ngừng
F6 : Processor Reset


* Có thể thiết lập thêm Kênh theo dõi sự thay đổi giá trị trong các Thanh ghi :
-- Menu bar >> View / Watch --> chọn Thanh ghi , định Địa chỉ và Giá trị cho thanh ghi đó



Các pác xem em có sai lầm chỗ nào và cần bổ sung gì kô ?
Nhờ các pác giải thích hộ Step Into (F7), Step Over (F8), Step Out


Cám ơn.

vnrobot 30-04-2007 10:19 AM

eureka ^__^
 
Trích:

Nguyên văn bởi namqn (Post 3038)
Bạn đã biết cách debug một chương trình bình thường chưa?

... phím F6 để Reset chip, F9 để run, F7 để chạy từng lệnh và đi vào chương trình con, F8 để chạy từng lệnh và bỏ qua chương trình con

- Riêng lệnh Animate (hoạt họa) thì không có phím tương ứng, bạn phải chọn lệnh Animate trong mênu Debugger, hay chọn nó trên toolbar

Với các phím F7 (Step Into) và F8 (Step Over) bạn sẽ thấy con trỏ mô phỏng hình mũi tên màu xanh (cho biết vị trí lệnh sắp được thực thi) di chuyển mỗi khi nhấn phím. Nếu bạn chọn Run hay Animate thì con trỏ mô phỏng sẽ không được cập nhật cho đến khi bạn chọn lệnh Halt (phím F5 hay trong mênu hay trên toolbar).

Chương trình xử lý ngắt là một loại chương trình con đặc biệt, bạn muốn xem chương trình ngắt được chạy thì phải dùng phím F7 (Step Into) để đi vào trong đoạn chương trình xử lý ngắt khi có ngắt xảy ra.

eureka ^__^ ... eureka ^__^ ... eureka ^__^ (Sorry spam, coz my answer too short)
Thanks.

heomoi0780 31-12-2010 08:51 PM

mình mới bắt đầu làm quen với mplap vậy cho mình hỏi làm cách nào để add 2 file *.lkr và *.asm vậy?

heomoi0780 31-12-2010 08:55 PM

Trích:

Nguyên văn bởi hio2 (Post 625)
Add 2 file *.lkr và *.asm rồi thì OK , lỗi còn lại bạn kiểm tra lại chương trình *.asm xem sao !!

cho mình hỏi làm cách nào để add 2 file đó vậy? mình mới bắt đầu làm quen với mplap nên không bít?

heomoi0780 01-01-2011 09:54 AM

Trích:

Nguyên văn bởi hio2 (Post 625)
Add 2 file *.lkr và *.asm rồi thì OK , lỗi còn lại bạn kiểm tra lại chương trình *.asm xem sao !!

sao khi add xong 2 file đó rồi sao nữa? mình mới bắt đầu làm quen với nó nên còn gà lắm, mong các bác giúp đở? chân thành cảm ơn!


Múi giờ GMT. Hiện tại là 08:10 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam