|
Tài trợ cho PIC Vietnam |
Tiny Bootloader Mọi vấn đề liên quan tinybootloader sẽ được tổng hợp ở đây. |
|
Ðiều Chỉnh | Xếp Bài |
|
30-01-2008, 08:05 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Feb 2006
Bài gửi: 7
: |
Chào các bác,và các anh,đặc biệt là anh Nam. Cho em hỏi xin mấy tài liệu chỉ viết bootloader. Cảm ơn các anh em nhiều.
À em quên. Bootloader cho con PIC 18F67J10. Nói thế này cho cụ thể. Cảm ơn các anh em nhiều. thay đổi nội dung bởi: namqn, 30-01-2008 lúc 11:58 PM. |
31-01-2008, 12:09 AM | #2 | |
Trưởng lão PIC bang
|
Trích:
Với phiên bản mới (195) của Tiny Bootloader, bạn có thể tự thêm ID cho chip mới vào tập tin 'piccodes.ini' trong thư mục chứa Tiny Bootloader, sau đó có thể dùng ID này trong firmware của bạn. Chỉ cần chú ý làm mạch phần cứng cho ổn, và dùng kích thước của bộ đệm ghi là 64 byte (tập tin nguồn 'TinyB18F64.asm' của tôi dùng bộ đệm ghi 64 byte). Bạn cứ viết thử rồi trao đổi thêm thì tốt hơn. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
22-05-2008, 03:05 PM | #3 |
Đệ tử 2 túi
|
Hi,
Tui cũng đang thử viết riêng một BootLoader (BLD) dùng CCS nhưng không thực hiện được ý đồ vì có một lỗi xảy ra khi tui muốn định vị mã chương trình trong bộ nhớ. Các bác xem hình bên dưới rồi xem có cách nào giải quyết không. Thân ái. |
22-05-2008, 09:06 PM | #4 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
23-05-2008, 12:08 PM | #5 |
Đệ tử 2 túi
|
Hi,
Cảm ơn bác namqn, tui đã dùng #build rồi nhưng khi đặt như vậy thì toàn bộ mã được đặt vào vùng đó mà không có lệnh nhảy đến vùng đó. Vì vậy khi reset thì chip không làm gì cả vì tại địa chỉ 0x0000 chẳng có lệnh gì cả. Ngay cả khi tui đưa vào dòng #build(reset = 0, interrupt = 0x0004) thì cũng chẳng có lệnh nhảy đến địa chỉ đặt đoạn code của hàm main ở địa chỉ 0x0000. Trong CCS thì đã có ví dụ BLD nhưng đoạn mã này nó không nằm ở cuối vùng nhớ chương trình và khi viết chương trình ứng dụng thì phải khai báo lại địa chỉ reset và ngắt. Điều này không hay vì nếu ta dùng một file hex có sẵn (được dịch từ trình biên dịch khác) thì nó không chạy được. Các bác còn cao kiến nào khác không? |
25-05-2008, 01:57 AM | #6 | |
Trưởng lão PIC bang
|
Trích:
Code:
#include <16F77.h> #fuses HS,NOWDT,NOPROTECT #org 0x1F00, 0x1FFF void main() { set_tris_b(0); output_b(0); while(TRUE) { } } Code:
#org 0x0004, 0x07FF #org 0x0800, 0x0FFF #org 0x1000, 0x17FF
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|
|