Trích:
Nguyên văn bởi cong1810
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,