View Single Post
Old 19-10-2008, 07:29 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi cong1810 View Post
thực sự em ko biết post câu hỏi của mình trong thread nào nên tạo mới!!
em đang tìm hiểu về sensorless BLDC theo cái tài liệu và source code của microchip cụ thể là tài liệu AN970 sử dụng pic18f2431.
khi em mở source code bằng Mplab 7.2 và cho quick built thì chương trình báo lỗi
Error[149] E:\BRUSHLESS MOTOR\SENSRLES_CLN.ASM 149 : Directive only allowed when generating an object file

Code:
TARTUP	code 0x00
 	goto	Start		;Reset Vector address 
	
	CODE	0x08
	goto	ISR_HIGH	;Higher priority ISR at 0x0008

PRG_LOW	CODE	0x018
	goto	ISR_LOW		;Lower priority ISR at 0x0018
cụ thể là chỉ đến các dòng khai báo địa chỉ "code".
khi em thay đổi thành "org" thì chương trình dịch ok!!
vậy em thắc mắc là khi đổi như vậy thì có ảnh hưởng đến chương trình ko nhỉ!!
Source code trên được viết để sử dụng trong một project, với một linker script được dùng để mô tả sự bố trí các vùng nhớ chương trình (page, idlocs, config, devid, eedata, accessram, gpr0, ...). Nếu dùng quickbuild, bạn chỉ biên dịch mã nguồn của tập tin .asm hiện thời mà không dùng linker script, do đó mới xuất hiện các thông báo lỗi.

Quickbuild thuận tiện cho việc biên dịch nhanh một tập tin nguồn tương thích, nhưng không cho phép bạn bố trí các vùng nhớ theo ý muốn với sự hỗ trợ của một linker script. Với trường hợp hiện thời của bạn, đổi "code" thành "org" không ảnh hưởng gì đến chương trình.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn