Trích:
There are two types of bootloaders, some that require that the user reallocate his code and others that by themselves reallocate the first 4 instructions of the user program to another location and execute them when the bootloader exits
|
Đoạn văn bản trên nên được dịch như sau:
Trích:
Có hai loại bootloader, một loại yêu cầu người dùng phải tái định vị code của anh ta, và loại kia tự tái định vị 4 lệnh đầu tiên của chương trình ứng dụng của người dùng vào một vị trí khác và thực thi chúng (4 lệnh đã được tái định vị) khi bootloader thoát.
|
Tiny Bootloader thuộc loại sau. Do đó tôi mới nói rằng bạn không cần phải chỉnh sửa gì trong code, mà chỉ phải thiết lập lại linker script để tránh việc bootloader bị ghi đè lên.
Các lệnh của dsPIC dùng 2 đơn vị PC. Do đó, nếu chương trình bootloader chiếm 100 lệnh thì linker script của bạn phải dành ra 2*100 địa chỉ cho bootloader. Làm chính xác việc này thì bạn sẽ mô tả phần program trong linker script như sau (cho dsPIC30F4011 mà bạn đang nói đến):
Code:
program (xr) : ORIGIN = 0x100, LENGTH = ((16K * 2) - 100 * 2)
Lỗi bạn đang gặp cho thấy bạn chưa ghi vào dsPIC được, hoặc ghi vào được nhưng phần mềm trên host PC không nhận được thông tin phản hồi như vậy.
Vì bạn muốn dùng bộ dao động nội của dsPIC, tôi muốn hỏi bạn đã đọc luồng này chưa:
http://www.picvietnam.com/forum/showthread.php?t=326
Thân,