PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Bootloaders - Programmers - Debuggers - Emulators

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Bootloaders - Programmers - Debuggers - Emulators Những công cụ cần thiết để lập trình cho PIC/dsPIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 01-02-2008, 04:09 PM   #1
dvdsoul
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 10
:
Smile ko chạy được application code sau khi download

Mình viết 1 trình bootloader (cho 18F67J10) và sẽ đặt nó ở vùng gần giữa của memory (bắt đầu từ 0x9000). Trong file linker mình sửa lại thành

CODEPAGE NAME=vectors START=0x0 END=0x29
CODEPAGE NAME=page START=0x9000 END=0x1FD3F // dòng này đc sửa
CODEPAGE NAME=config START=0x1FFF8 END=0x1FFFD
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF

Còn trong c18i.c vẫn giữ _entry_scn=0x000000.

Sau khi nạp xong chương trình sẽ load application code thông qua hyperterminal. Application code sẽ được lưu ở địa chỉ 0x800. Trong linker file của application code mình sửa lại như sau:

CODEPAGE NAME=boot START=0x9000 END=0x1FD3F protected
CODEPAGE NAME=vectors START=0x0 END=0x29 protected
CODEPAGE NAME=rvectors START=0x800 END=0x829 protected
CODEPAGE NAME=page START=0x82A END=0x8000

còn trong file c18i.c , sửa lại _entry_scn=0x000800. File hexa cũng đc export với start address = 0x800

Sau khi download xong application code, bootloader sẽ nhảy đến vùng nhớ có chứa application code (0x800) để bắt đầu thực thi chương trình. Mình viết là:

_asm
clrf STKPTR, 0
goto 0x800
_endasm

Đến đây thì chươgn trình ko chạy được nữa. Toàn bộ quá trình từ đầu đến sau khi download xong application code đều chạy tốt. (mình đã kiểm tra bằng cách đọc trên vùng nhớ của program memory thì thấy bootloader code và application code đều được đặt đúng chỗ)

Ko phải là dân về vi điều khiển nhưng vì có project nên mình phải nhảy ngay vào PIC18 này. Mình vẫn chưa hiểu rõ được:

- cơ chế hoạt động của reset vector và redirect nó như thế nào.
- cách thiết lập chúng ra sao (rvector trong linker file có phải là redirect vector ko? Cách mình nêu ở trên có chỗ nào sai ko?

Mong mọi người hướng dẫn giúp. Cám ơn nhiều
dvdsoul vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam