Trích:
Nguyên văn bởi iniesta
Tớ viết chương trình bằng C và dịch bằng MPLAB C30. Tớ mới biết đến khái niệm tiny bootloader và muốn thử dùng nó. Sau khi tham khảo nhiều nguồn, tớ có 1 số thắc mắc như sau :
1) Chúng ta biết là chương trình ứng dụng cần phải được sửa lại để không bị đè lên vùng nhớ của tiny bootloader. Việc sửa này, theo tài liệu hướng dẫn của Microchip, được thực hiện bằng cách modify lại file linker script ( .GLD file ) trước khi dịch ra file .hex. Tớ thắc mắc là chỉ như vậy là đủ sao ? Mình có cần chỉnh sửa thêm thắt gì ở file .c không ?
2) Trong thư mục của tiny bootloader ko thấy có chương trình tiny bootloader cho dsPIC30F4011. Tớ có thể kiếm nó ở đâu ? ( chương trình của bạn namqn post trên diễn đàn e rằng đã cũ và không dùng được với bản 1.9.5 ). Nếu được các bạn có thể viết hộ tớ : tớ dùng thạch anh ngoài 8 MHz và PLLx8.
Cám ơn mọi người !
|
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.
2) Tôi vừa kiểm tra lại Tiny Bootloader v1.9.5 với dsPIC30F4012, cả hai firmware cũ và mới (tôi vừa viết lại) đều không làm việc được với giao diện trên host PC (thực tế thì thao tác ghi đã hoàn tất, nhưng giao diện trên host PC xử lý thông tin sai, và khiến bootloader mất khả năng chạy ở lần reboot tiếp theo, và phần mềm trên host PC không nhận được thông tin phản hồi của firmware. Tiny Bootloader v1.9.1 làm việc tốt với hai firmware cũ và mới. Do đó, với dsPIC30F4011, bạn có thể dùng Tiny Bootloader v1.9.1.
Thân,