|
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 |
26-12-2008, 06:08 PM | #1 |
Trưởng lão PIC bang
|
Bootloader cho PIC18F4680
Một bạn gửi email nhờ tôi biên dịch giúp bootloader cho PIC18F4680, với các cấu hình sau:
- Thạch anh 20 MHz, baudrate = 9600 bps, và các từ cấu hình được dùng cho firmware dưới đây: Code:
CONFIG OSC = HS, FCMEN = OFF, IESO = OFF CONFIG PWRT = ON, BOREN = OFF, BORV = 2 CONFIG WDT = OFF, WDTPS = 64 CONFIG MCLRE = ON, LPT1OSC = OFF, PBADEN = OFF CONFIG STVREN = ON, LVP = OFF, DEBUG = OFF, XINST = OFF, BBSIZ = 1024 Code:
CONFIG OSC = HSPLL, FCMEN = OFF, IESO = OFF CONFIG PWRT = ON, BOREN = OFF, BORV = 2 CONFIG WDT = OFF, WDTPS = 64 CONFIG MCLRE = ON, LPT1OSC = OFF, PBADEN = OFF CONFIG STVREN = ON, LVP = OFF, DEBUG = OFF, XINST = OFF, BBSIZ = 1024 Code:
$50, C, 18F 2680/4680, $10000, $400, 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 thay đổi nội dung bởi: namqn, 27-12-2008 lúc 04:30 PM. |
27-12-2008, 06:29 AM | #2 |
Đệ tử 6 túi
|
Rất cam on anh Nam, em sẽ thử và cho anh biết kết quả liền
Thân chào anh. |
27-12-2008, 08:47 AM | #3 |
Đệ tử 6 túi
|
Cho em hoi them: em thấy trong CCS cung có bootloader, anh dã dùng nó chua ạ? có diều gì phải luu ý khi dung no khong anh?
|
27-12-2008, 06:44 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 |
|
29-12-2008, 04:15 PM | #5 |
Đệ tử 6 túi
|
Gui A. Nam:
Em cảm ơn anh nhiều, nhờ có anh mà em có thể sử dụng được Bootloader. Giờ em cũng có thể tự cấu hình cho PIC được rồi anh ạ. Em hoi thêm anh: Do vừa sử dụng cổng COM để giao tiếp với máy tính, vừa dùng cổng COM để sử dụng Bootloader, chính vì vậy mình không thể dùng các chân kiểm soát dữ liệu của công COM(RTS,DTR) để làm việc Reset được. Em có 1 cách, nó hơi rườm rà, nhưng em cũng muốn chia sẽ để các ban khác tham khảo: |
29-12-2008, 04:31 PM | #6 |
Đệ tử 6 túi
|
Do khong thể sử dung dong thời chuong trỉnh giao tiep voi máy tinh và chuong trinh Tiny Bootloader dược, nen em lam như sau:
Mở chuong trình giao tiep vói máy tính lên, gửi lênh "Reset PIc"(nêu viet bang CCS thì dung lenh sau: Reset_cpu()) sau đó nhanh tay tat chuong trình giao tiep voi máy tính đi, mở chuong trình Tiny Bootloader len và nạp chuong trình. Tấc nhiên có thể dùng vòng lặp(giá trị của vòng lặp này phải lưu trong eeprom-->dể không mất khi Reset lại PIC,) để tang thời số lần gọi lenh Reset Em da viết chuong trình này, thấy rat hiệu quả, làn nào cung nhận ra PIc, nap tốt, có diều nó hoi rườm ra như vậy. void upload_program() { int8 read_value; read_value=read_eeprom (0x01);//đọc giá trị vòng lạp đã lưu trong eeprom if(read_value!=0x00)//so sánh giá trị này với 0x00 { read_value--;//giảm giá trị vòng lặp đi write_eeprom(0x01,read_value); //ghi lai vào eeprom printf("\r\n Remaining %d times \r\n",read_value);//hien ra man hình số lan Reset //còn lại reset_cpu(); //Reset Pic } if(read_value==0) printf("\r\n Start Program \r\n");//thuc hien chuong trinh ung dung. } |
29-12-2008, 04:36 PM | #7 |
Đệ tử 6 túi
|
Anh Nam có cách nào khác không anh?
Ngoài Bootloader ra, còn cách nào khác cũng tương tự như nó dể nạp chuong trình cho PIC khong anh? |
29-12-2008, 05:22 PM | #8 | |
Trưởng lão PIC bang
|
Trích:
Cách làm của bạn cũng tốt, tôi không cho rằng nó rườm rà lắm, mặc dù nếu là tôi thì tôi sẽ viết đơn giản hơn nữa. Cách của tôi như sau: Chương trình ứng dụng nhận thông điệp cần reset PIC, và thực hiện reset PIC. Sau đó bootloader sẽ được thực thi, với thời gian chờ khá dài, đủ để bạn mở phần mềm Tiny Bootloader và kết nối với PIC. Nếu không thực hiện được việc kết nối với PIC thì chương trình ứng dụng sẽ chạy, khi đó tôi chỉ cần gửi lại thông điệp yêu cầu reset PIC, và quá trình được lặp lại. 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 |
|
30-12-2008, 04:36 PM | #9 |
Đệ tử 6 túi
|
Anh cho em hoi:
Vi trong file bootloader ta cung khai báo cấu hình, trong chuong trinh ung dung ta cung khai báo cấu hình, tại sao lại cần như vậy anh? Nếu ta khai báo cấu hình khác nhau thì có anh hưởng gì không? |
30-12-2008, 06:58 PM | #10 | |
Trưởng lão PIC bang
|
Trích:
Bạn thử xem xét một ví dụ cụ thể nhé: Bootloader dùng cấu hình thạch anh 10 MHz (HS), còn chương trình ứng dụng dùng cấu hình thạch anh 4 MHz (XT). Điều gì sẽ xảy ra nếu sau khi nạp chương trình ứng dụng, các từ cấu hình được thay đổi thành giá trị ứng với chương trình ứng dụng? Ngược lại, nếu sau khi nạp chương trình ứng dụng, các từ cấu hình vẫn mang giá trị ứng với bootloader, thì có vấn đề gì không? 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 thay đổi nội dung bởi: namqn, 30-12-2008 lúc 07:06 PM. |
|
08-01-2009, 10:36 PM | #11 |
Đệ tử 6 túi
|
Minh vừa nghiên vưà xong cach dùng Bootloader trong CCS. Nếu bạn nào gặp khó khăn khi muốn dùng Bootloader trong CCS thì cho mình hay nhé.
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". |
13-01-2009, 09:44 AM | #12 |
Nhập môn đệ tử
Tham gia ngày: Jun 2006
Bài gửi: 3
: |
|
13-01-2009, 12:32 PM | #13 |
Đệ tử 6 túi
|
Bootloader trong CCS
Về mục đích sử dụng thì nó tương tự như Tiny Bootloader. Một điều đặc biệt là Bootloader CCS có thể đặt cuối bộ nhớ Flash(giống Tiny Bootloader) và vừa có thể đặt đầu bộ nhớ Flash.
Ngay sau khi bạn tạo 1 project mớii trong CCS sẽ xuất hiện môt hộp thoại PIC Wizard, khung ben tay trái bạn chọn Bootloader, khung ben phai bạn chon Use Bootloader, sau đó bạn có thể chọn Select Bootloader Location... Ban tham khao thêm trong CCS: bootloader.h, ex_bootloader.c nhé. Bạn nên tìm hiểu trước nhé, vì khi bạn hiểu rồi bạn mới cấu hình cho Pic cũng như sắp xếp lại dịa chỉ lưu chương trình Bootloader sao cho nó đở tốn dung lượng bộ nhớ Flash nhất. Bạn cứ tìm hiểu, thăc mác chổ nào thì cho mình hay. Thân,
__________________
-------------------------------------------------------------------------------------- Phùng Minh Tuân Email: tuan.phmt@gmail.com "Cuộc đời sóng gió nuôi ta lớn Bao lần thất bại dạy ta khôn". |
Tags |
pic18f4680, tiny bootloader |
|
|