|
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-07-2010, 11:46 PM | #1 |
Đệ tử 4 túi
Tham gia ngày: Jun 2007
Bài gửi: 74
: |
nhờ anh Nam giải đáp hộ em bài BLD này với!
em chào anh, hiện giờ em muốn tạo một BLD với (tinyBLD) cho chip không có trong file icdpictypes. vậy muốn tạo ra một BLD cho chip A, đơn giản là tìm 1 con nào đó có trong danh sách
- em muốn tạo BLD cho con 16F882 có bộ nhớ flash là 0x800 (2048 words) nhưng không có bộ nhớ này trong danh sách icdpictypes vậy là mình không thể tạo BLD cho con này bằng tinyBLD hả anh?? thay đổi nội dung bởi: hongquyen, 26-08-2010 lúc 11:08 PM. |
31-07-2010, 08:37 PM | #2 |
Trưởng lão PIC bang
|
Bạn vào thư mục cài đặt Tiny Bootloader (được tạo ra sau khi bung tập tin Tinybld1xx.zip), tìm hiểu nội dung của tập tin "piccodes.ini" (có từ phiên bản 1.95), rồi tôi sẽ bàn tiếp về cách thực hiện các yêu cầu của bạ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 |
31-07-2010, 09:52 PM | #3 |
Đệ tử 4 túi
Tham gia ngày: Jun 2007
Bài gửi: 74
: |
em chào anh:
em đã đọc tập tin "piccodes.ini" như anh nói và em hiểu như thế này Code:
tinybldWin will look for this file; if it does not find it it will use an (older) internal table-phần mềm trên máy tính sẽ tìm tập tin này để "giao tiếp" với pic, nếu phần mềm trên máy tính không tìm thấy file này, nó sẽ dùng 1 bản tìm kiếm nội cũ hơn nhưng có dòng dưới đây em chưa hiểu lắm: Code:
; PIC16F877 FASH: 8192 words = 2000h; 2000h*2 = 4000h $31, B, 16F 876A/877A, $4000, $100, $32, B, 16F 873A/874A, $2000, $80, $33, B, 16F 88, $2000, $100, $36, B, 16F 886/887, $4000, $100, $38, B, 16F 870, $1000, 64, -tại sao 2000h lại nhân cho 2 thành 4000h? -em không hiểu ý nghĩa của chữ B, C, D sau địa chỉ? -tại sao sau $4000 lại có $100? do trình độ của em còn kém, nên hỏi nhiều mong anh đừng cười. em cảm ơn anh. |
01-08-2010, 12:24 AM | #4 | |
Trưởng lão PIC bang
|
Trích:
Về các câu hỏi của bạn: 1. Dòng chú thích tính ví dụ cho PIC16F877, cho thấy chip 8 kword (= 8192 word) sẽ cần dải địa chỉ 0 - 1FFFh để định vị (tức là có 2000h word), còn nhân 2 là vì các tập tin .hex ghi dữ liệu theo byte (mà 1 word của PIC tầm trung thì tương đương với 2 byte). Do đó, với PIC đang lấy làm ví dụ thì sẽ cần 4000h byte trong tập tin .hex để biểu diễn đủ 2000h word trong bộ nhớ chương trình của PIC. 2. Các chữ B, C, D để cho biết thuật toán tự ghi vào flash cần dùng tương ứng (PIC tầm trung, PIC18, dsPIC30F, và PIC24/dsPIC33F có các thuật toán tự ghi vào flash khác nhau). 3. Phần $100 sau $4000 cho biết kích thước của EEPROM. $100 (hay 100h) ứng với 256 byte EEPROM. Ghi vào EEPROM cũng sử dụng cùng thuật toán như ghi vào flash, chỉ khác vùng nhớ. 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 |
|
01-08-2010, 09:30 PM | #5 |
Đệ tử 4 túi
Tham gia ngày: Jun 2007
Bài gửi: 74
: |
em cảm ơn anh đã trả lời câu hỏi của em.
vậy anh có thể giải đáp thêm để em hiểu rõ thêm những câu hỏi ở phần 1 được không ạ? như là: -ví dụ chip A là con 16f883 có bộ nhớ là 0x1000. vậy dòng này Code:
IFDEF __16F873A #include "p16f873a.inc" IdTypePIC = 0x32 #define max_flash 0x1000 ENDIF IFDEF __16F874A #include "p16f874a.inc" IdTypePIC = 0x32 #define max_flash 0x1000 ENDIF dòng này: Code:
IFDEF __16F87 #include "p16f87.inc" IdTypePIC = 0x33 #define max_flash 0x1000 ENDIF IFDEF __16F88 #include "p16f88.inc" IdTypePIC = 0x33 #define max_flash 0x1000 ENDIF -- em muốn tạo BLD cho con 16F882 có bộ nhớ flash là 0x800 (2048 words) nhưng không có bộ nhớ này trong danh sách icdpictypes vậy là mình không thể tạo BLD cho con này bằng tinyBLD hả anh?? - muốn tạo mới một BLD cho chip A ngoài những điều trên còn lưu ý gì nữa không anh ?? em rất mong được sự quan tâm của anh. em cảm ơn. |
|
|