tut01.01_tạo một project để lập trình hợp ngữ với dspic

6
Người báo cáo: Nguyn Quang Nam Tài liu: TUT01.01 Ngày: 3/8/2006 Trang: 1/6 Tutorial n o 01.01 Gi đến: Đoàn Hip, www.picvietnam.com Ni dung: Tomt project để lp trình hp ngvi dsPIC MICROSOFT WORD Tóm tt: Hướng dn các bướctomt project và biên dch mt project trong MPLAB IDE để viết chương trình cho dsPIC bng hp ng(assembly language). 1. Gii thiu Khi viết chương trình cho dsPIC sdng môi trường MPLAB, nhiu thông tin thiếtlp cho các công vic liên quan được đặt trước trong MPLAB, nhm giúp cho MPLAB qun lý được vic viết chương trình, biên dch, mô phng, np chương trình vào chip mt cách thng nht. Tài liu này shướng dnbntomt project trong MPLAB sdng ASM30 để viết chương trình cho dsPIC. Bncũng sẽ đượchướng dn cách biên dch project đã đượcto ra và cách xlý khi vic biên dch có li. 2. Các quy ước trong tài liu Mô tBiu thVí dFont Palatino Linotype: Viết hoa chữ đầu Chnmt menu chn Project Wizard Đặt trong du nháy kép Mt tên trường trong ca shay hp thoi “Save project before build” Vănbngch chân, in nghiêng vidu> Đường dn menu File>Save Mt nút nhn Nhn Next In đậm Mt th(hp thoi) Chn thPower Vănbn gia các du ngoc nhn<> Mt phím (bàn phím) Nhn <Enter>, <F1> Font Courier New: Courier thường Mã ngun Example.s Tên tp tin, đường dn D:\Microchip\ Tkhóa mov #0x8010, W0 Tùy chn dòng lnh pic30-as –-version

Upload: thienthuy232

Post on 27-Jul-2015

410 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: TUT01.01_Tạo một project để lập trình hợp ngữ với dsPIC

Người báo cáo:  Nguyễn Quang Nam  Tài liệu:  TUT01.01 Ngày:  3/8/2006  Trang:  1/6 

Tutorial no 01.01  

Gửi đến:  Đoàn Hiệp, www.picvietnam.com 

Nội dung:  Tạo một project để lập trình hợp ngữ với dsPIC 

  MICROSOFT WORD

 Tóm tắt: Hướng dẫn các bước tạo một project và biên dịch một project trong MPLAB IDE để viết chương 

trình cho dsPIC bằng hợp ngữ (assembly language).  

1. Giới thiệu Khi viết chương trình cho dsPIC sử dụng môi trường MPLAB, nhiều thông tin thiết lập 

cho các công việc liên quan được đặt trước trong MPLAB, nhằm giúp cho MPLAB quản lý được việc viết chương trình, biên dịch, mô phỏng, nạp chương trình vào chip một cách thống nhất.  

Tài liệu này sẽ hướng dẫn bạn tạo một project trong MPLAB sử dụng ASM30 để viết chương trình cho dsPIC. Bạn cũng sẽ được hướng dẫn cách biên dịch project đã được tạo ra và cách xử lý khi việc biên dịch có lỗi. 

 

2. Các quy ước trong tài liệu Mô tả  Biểu thị  Ví dụ Font Palatino Linotype: Viết hoa chữ đầu  Chọn một menu  chọn Project Wizard 

Đặt trong dấu nháy kép Một tên trường trong cửa sổ hay hộp thoại 

“Save project before build” 

Văn bản gạch chân, in nghiêng với dấu > 

Đường dẫn menu  File>Save 

Một nút nhấn  Nhấn Next In đậm 

Một  thẻ (hộp thoại)  Chọn thẻ Power Văn bản giữa các dấu ngoặc nhọn < > 

Một phím (bàn phím)  Nhấn <Enter>, <F1> 

Font Courier New: Courier thường  Mã nguồn  Example.s   Tên tập tin, đường dẫn  D:\Microchip\   Từ khóa  mov #0x8010, W0   Tùy chọn ở dòng lệnh  pic30-as –-version 

Page 2: TUT01.01_Tạo một project để lập trình hợp ngữ với dsPIC

Người báo cáo:  Nguyễn Quang Nam  Tài liệu:  TUT01.01 Ngày:  3/8/2006  Trang:  2/6 

 

3. Hướng dẫn cách tạo một project mới 

3.1. Thiết lập môi trường MPLAB 

Giả sử MPLAB IDE đã được cài đặt trong máy tính của bạn, chúng ta cần đảm bảo là các công cụ ngôn ngữ được MPLAB nhận diện đúng. Ở đây, chúng ta sẽ sử dụng hợp ngữ để viết chương trình cho dsPIC, do đó cần phải đảm bảo bộ công cụ ASM30 Toolsuite được chọn trong MPLAB IDE. Nếu bạn đã thực hiện việc này từ trước, bạn có thể bỏ qua bước này, và theo dõi từ bước thứ hai, Chạy Project Wizard. 

1. Từ thanh menu của MPLAB, chọn Project>Set Language Tool Locations để mở hộp thoại đặt/kiểm tra vị trí các tập tin thực thi của bộ công cụ ngôn ngữ. 

Hình 3.1: Hộp thoại thiết lập vị trí các công cụ ngôn ngữ 

2. Trong hộp thoại, dưới “Registered Tools”, chọn “Microchip ASM30 Toolsuite”. Nhấn vào “+” để mở rộng. 

3. Chọn “Executables”. Nhấn vào “+” để mở rộng. 

4. Chọn “MPLAB ASM30 Assembler (pic30-as.exe)”. Tại khung “Location”, một đường dẫn đúng cho tập tin thực thi cần được hiển thị. Nếu không có đường dẫn nào được hiển thị, bạn hãy nhập vào đường dẫn hay duyệt thư mục để đến được tập tin này. 

Page 3: TUT01.01_Tạo một project để lập trình hợp ngữ với dsPIC

Người báo cáo:  Nguyễn Quang Nam  Tài liệu:  TUT01.01 Ngày:  3/8/2006  Trang:  3/6 

5. Chọn “MPLAB LINK30 Object Linker (pic30-ld.exe)”. Tại khung “Location”, 

một đường dẫn đúng cho tập tin thực thi cần được hiển thị. Nếu không có đường dẫn nào được hiển thị, hãy thực hiện tương tự như trên. 

6. Chọn “LIB30 Archiver (pic30-ar.exe)”. Tại khung “Location”, một đường dẫn đúng cho tập tin thực thi cần được hiển thị. Nếu không có đường dẫn nào được hiển thị, hãy thực hiện tương tự như trong bước 4. 

7. Nhấn nút OK. 

Như vậy chúng ta đã thiết lập xong bộ công cụ ngôn ngữ trong MPLAB cho project kế tiếp của chúng ta. 

 

3.2. Chạy Project Wizard 

Trong môi trường MPLAB, chọn lệnh mênu Project>Project Wizard để mở wizard. Nhấn vào nút Next> ở màn hình chào mừng. 

1. Chọn dsPIC4012 trong danh sách thả xuống “Device”. Nhấn nút Next> để tiếp tục. (Tôi chọn dsPIC4012 cho các tutorial vì đây là chip dành cho điều khiển động cơ, có số chân đủ dùng cho nhiều ứng dụng, chính là vi điều khiển cần thiết cho các ứng dụng điều khiển động cơ, để làm rôbốt chẳng hạn). 

2. Ở mục trước chúng ta đã thiết lập các công cụ ngôn ngữ, do đó ở đây các bạn chỉ cần kiểm tra lại các thiết lập. Tuy nhiên, nếu bạn chưa thiết lập bộ công cụ ngôn ngữ thì đây là cơ hội để bạn làm điều đó. Hãy đảm bảo “Active Toolsuite” được chọn là “Microchip ASM30 Toolsuite”, sau đó bạn hãy kiểm tra các vị trí của các trình hợp dịch (assembler), trình liên kết (linker), và trình quản lý thư viện (archiver) là đúng, tương tự như ở mục 3.1. Nhấn nút Next> để sang bước kế tiếp. 

3. Bạn hãy chọn cho project của mình một cái tên, chẳng hạn như “Vidu”, sau đó hãy nhấn vào nút Browse để chọn vị trí đặt project. Nhấn vào nút Next> khi bạn đã hoàn tất việc đặt tên và chọn vị trí cho project. 

4. Ở bước này, bạn sẽ thêm các tập tin cần thiết vào project. Tham khảo hình minh họa phía dưới. 

a. Trong hộp duyệt thư mục ở bên trái của hộp thoại, chọn thư mục có chứa tập tin mã nguồn (có phần mở rộng là .s). Trong hình minh hoạ, tôi chọn tập tin “Vidu.s” để thêm vào project (bằng cách nhấn vào nút Add>>. 

b. Vẫn trong hộp duyệt thư mục, bạn hãy tìm đến thư mục cài đặt của MPLAB (ví dụ, trong máy của tôi là D:\Microchip\), sau đó dùng các dấu ‘+’ để mở rộng đường dẫn sau đây: MPLAB ASM30 Suite\Support\gld. Bạn hãy chọn tập tin “p30f4012.gld”, đây chính là kịch bản liên kết cho chip dsPIC4012 đang được sử dụng trong project. Nhấn vào nút Add>> để thêm tập tin này vào project. 

Page 4: TUT01.01_Tạo một project để lập trình hợp ngữ với dsPIC

Người báo cáo:  Nguyễn Quang Nam  Tài liệu:  TUT01.01 Ngày:  3/8/2006  Trang:  4/6 

Hình 3.2: Hộp thoại để thêm các tập tin vào project 

c. Hãy đánh dấu chọn cho các hộp chọn (checkbox) bên cạnh các tập tin đó để chép chúng vào thư mục của project. (Các tập tin gốc vẫn được giữ nguyên). Nhấn nút Next> để tiếp tục. 

Hãy kiểm tra lại thông tin tóm tắt cho project, nếu có sai sót thì bạn có thể dùng nút <Back để quay lại chỉnh sửa. Nhấn nút Finish sẽ hoàn tất việc tạo và thiết lập project. 

Hình 3.3: Cửa sổ cây quản lý tập tin của project 

Khi Project Wizard đã hoàn tất, cửa sổ Project hẳn sẽ có một cây quản lý tập tin như hình minh họa phía trên. Tên của không gian làm việc (workspace) là “Vidu.mcw”, tên 

Page 5: TUT01.01_Tạo một project để lập trình hợp ngữ với dsPIC

Người báo cáo:  Nguyễn Quang Nam  Tài liệu:  TUT01.01 Ngày:  3/8/2006  Trang:  5/6 

của project là “Vidu.mcp”, và tất cả các tập tin của project được liệt kê dưới loại tập tin tương ứng của chúng (.inc cho các tập tin gộp, .gld cho các kịch bản liên kết). 

 

3.3. Thiết lập các tùy chọn biên dịch 

Bạn chọn lệnh mênu Project>Build Options>Project để mở hộp thoại Build Options. 

1. Nhấp vào thẻ General. Bạn hãy cho biết đường dẫn của các tập tin gộp ở bên dưới khung “Assembler Include Path, $(AINDIR):”, bằng cách nhập trực tiếp hoặc dùng nút Browse... để tìm đến đường dẫn. Ví dụ, trong máy của tôi đường dẫn sẽ là: D:\Microchip\MPLAB ASM30 Suite\Support\inc\

2. Nhấp vào thẻ MPLAB ASM30. Chọn “Diagnostics” trong danh sách thả xuống “Categories”, đánh dấu mục “Enable Listing” bên dưới “Listing Options”. 

3. Nhấp vào thẻ MPLAB LINK30. Chọn “Diagnostics” trong danh sách thả xuống “Categories”, đánh dấu mục “Generate map file” và “Generate cross‐reference file” bên dưới “Generate Command Line”. 

4. Nhấp vào thẻ ASM30/C30 Suite. Với “(All Options)” của danh sách “Categories”, đảm bảo là “COFF” được chọn làm dạng tập tin xuất ra. Cũng kiểm tra là “Build normal target (invoke LINK30)” được chọn ở phần “Target Type”. 

5. Nhấp vào nút OK ở phía dưới hộp thoại để chấp nhận các thiết lập biên dịch và đóng hộp thoại. 

6. Chọn lệnh mênu Project>Save Project để lưu cấu hình hiện tại của project Vidu. 

 

3.4. Biên dịch project 

Bạn chọn lệnh mênu Project>Build All để biên dịch project hiện thời. (Bạn có thể nhấp chuột phải vào tên của project, “Vidu.mcp”, trong cây quản lý tập tin của project, và chọn “Build All” từ mênu gọi lên. 

Cửa sổ Output hẳn xuất hiện khi đã biên dịch xong, và hiển thị kết quả biên dịch, như trong hình minh họa dưới đây. Ví dụ trên hẳn phải được biên dịch thành công, nếu bạn theo đúng những bước đã hướng dẫn, và sử dụng tập tin mã nguồn đi kèm bài hướng dẫn này. 

Nếu việc biên dịch không thành công, hãy kiểm tra những phần sau: 

1. Xem lại các bước trước đó trong bài hướng dẫn này. Hãy đảm bảo là bạn thiết lập các công cụ ngôn ngữ chính xác và có tất cả các tập tin của project và các thiết lập biên dịch đúng. 

Page 6: TUT01.01_Tạo một project để lập trình hợp ngữ với dsPIC

Người báo cáo:  Nguyễn Quang Nam  Tài liệu:  TUT01.01 Ngày:  3/8/2006  Trang:  6/6 

Hình 3.4: Cửa sổ Output đang thể hiện thông tin của việc biên dịch project 

2. Nếu bạn sửa mã nguồn của ví dụ, hãy xem trong nhãn Build của cửa sổ Output về các lỗi cú pháp trong mã nguồn. Nếu có, bạn nhấp chuột kép vào lỗi để đến dòng mã nguồn chứa lỗi đó. Hãy sửa lỗi đó, và sau đó thử biên dịch lại. 

 

4. Kết luận Tài liệu này đã hướng dẫn cách tạo lập môi trường để lập trình cho dsPIC bằng hợp 

ngữ trong MPLAB và các vấn đề liên quan. MPLAB cần được thiết lập chính xác để có thể tìm được các thông tin cần thiết về mã nguồn, các thư viện cũng như các công cụ ngôn ngữ, nhằm đảm bảo việc biên dịch một chương trình diễn ra suôn sẻ. Khi đó bạn chỉ phải quan tâm đến việc thể hiện chương trình theo đúng ý đồ thiết kế.