PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   giúp em vấn đề này!! (http://www.picvietnam.com/forum/showthread.php?t=2963)

cong1810 19-10-2008 06:54 PM

giúp em vấn đề này!!
 
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ỉ!!

namqn 19-10-2008 07:29 PM

Trích:

Nguyên văn bởi cong1810 (Post 19703)
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,


Múi giờ GMT. Hiện tại là 02:03 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