Trích:
Nguyên văn bởi namqn
Xin được hỏi, dòng
Code:
CODEPAGE NAME=rvectors START=0x800 END=0x829 protected
là ở đâu mà ra (vì trong linker script chuẩn của PIC18F67J10 không có dòng này)?
|
Tham khảo linker của 18f8722 có cái rvector này, mình nghĩ đó là redirect vector để chương trình sẽ nhảy từ bootloader đến user code, nên đem sử dụng vào con MCU của mình. Thực sự là mình ko có nhiều kiến thức về cách hoạt động của bảng vector, nên mới post lên nhờ mọi người giải thích.
Trích:
Nguyên văn bởi namqn
Bạn chỉnh lại c18i.c của chương trình ứng dụng xong thì có rebuild lại startup object file c18i.o hay không?
|
có, mình đã include 1 copy của c18i.c vào workspace và build nó cùng với các file khác.
Mình đã theo link đọc cách thiết kế của Claudiu Chiculita và cũng có ý định thiết kế bootloader cho mình tương tự vậy. Nhưng vì ko có kiến thức về cấu trúc của MCU (như mình đã nói ban đầu là mình phải nhảy gấp vào nó vì project) nên mình muốn hỏi là thiết lập địa chỉ cho các vector như thế nào để khi reset thì chương trình sẽ nhảy đến bootloader và từ bootloader sau khi download user program xong có thể nhảy đến user program?
Như ở bài viết đầu, mình đặt bootloader ở địa chỉ 0x9000 còn usercode ở 0x800.
Cám ơn.