Trích:
Nguyên văn bởi namqn
1) Chỉ cần chỉnh lại linker script của chương trình ứng dụng, khi đó vùng code mà bootloader đã sử dụng sẽ không được trình biên dịch sử dụng cho bất kỳ đoạn code nào của chương trình ứng dụng. Như vậy là đủ. Bạn không cần thêm thắt gì ở file .c.
Thân,
|
Việc chỉnh sửa linker Script của của chương trình ứng dụng viết bằng C làm thế nào.
Anh có thể viết hoặc post hướng dẫn rõ hơn không em có mở file GLD của p30f4011 (đã có sao lưu cái gốc) vì em có đọc 1 hướng dẫn của microchip về bootloader nhưng không phải là tiny bootloader.
Cách làm việc của 2 cái khác nhau
Trên trang web của tiny bootloader có nói 1 câu như thế này:
"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"
Theo em dịch là:
Có 2 dạng bootloader:
1-Người dùng phải điều chỉnh lại chương trình của họ
2-Người dùng không phải điều chỉnh chương trình của họ mà tiny bootloader ở đây là dạng thứ 2
Nếu như em dịch đúng thì việc điều chỉnh GLD ở đây có ý nghĩa gì?
-->để chương trình dịch ra không lấn vào vùng của Bootloader --> Vậy Cấu hình thông tin gì trong GLD?
Code:
MEMORY
{
data (a!xr) : ORIGIN = 0x800, LENGTH = 2048
program (xr) : ORIGIN = 0x100, LENGTH = ((16K * 2) - 0x100)
Cấu hình thông tin LENGTH của Program chăng ?
Em đã config lại bootloader của tiny cho 30f4011 chạy FRC_PLL16 baud 19200
Đã kết nối với chương trình tinybootloader được.
Nhưng nạp vào lại báo lỗi:
Code:
Could not write
ERROR!