![]() |
Mình mới gia nhập vào chủ đề này. Mình thấy mạch Tiny Bootloader rất hay, phù hợp với bài toán mà yêu cầu nạp chương trình ngay trên mạch ứng dụng. Hơn nữa còn tận dụng việc giao tiếp với máy tính qua cổng Com. Mình định tiến hành làm mạch này. Mình hiểu các bước thực hiện ntn có đug ko?
-1: Nạp cho PIC phần firmware (có đc nhở sửa code phần "xtal" và "baud" , hoặc hỏi thầy namqn ) bằng một mạch nạp -2: Lẳ́p ráp mạch cứng gồm Max232 , RB9 (female hay male nhỉ), PIC http://picvietnam.com/forum/showthread.php?t=130 -3: Test mạch và nạp chương trình ứng dụng (dạng file hex) bằng Tiny Bootloader Mình nói như vậy có sai gì không, Mọi người chỉ giúp để mình bắt tay vào thực hiện |
Trích:
Thân, |
Mình mới sử dụng thử bootloader. Mình bị vướng vấn đề như sau.
Mình sử dụng 18F4550, có thiết kế phần USB (nhưng chưa sử dụng), SPI (2 thiết bị, 1 là SD card), RS232 (giao tiếp PC), RS485, XTAL 20Mhz. - Mình sử dụng bản tiny bootloader198, ko dùng RTS mềm (pin 9), do lúc thiết kế board chưa biết đến bootloader. 1. Mình sửa file asm của 18F2550 (trong thư mục đi kèm của tiny bootloader): xtal 24000000 baud 115200 phần config mình bỏ_FCMEM_OFF_1H đi vì compile báo lỗi chưa khai báo. Sau khi compile xong thì nạp lên pic, có thể detect được pic, nhưng phải nhấn reset trên board và nhấn vào write flash (trong khỏang 1s, nếu không thì sẽ error), chương trình laod thành công, nhưng khi chạy thì không thể gửi data về pc qua RS232 được, chương trình của mình có chức năng giao tiếp PC, ngoài ra SPI họat động không đúng chức năng, mình đã kiềm tra code rồi, chắc chắn không vấn đề (khi nạp trực tiếp và chạy). 2. Mình download bootloader của namqn post trên đây về và nạp vào pic, thì spi gần như không họat động, do mình co phần init SD card, init báo lỗi ngay từ đầu. Bạn có thể hướng dẫn mình sửa bootloader được không? Mình post phần mình sửa để bạn xem Code:
xtal EQU 24000000 ; 'xtal' here is resulted frequency (is no longer quartz frequency) |
Trích:
Code:
;************************************************************* 2. Tôi không nhớ đã post firmware bootloader nào cho dòng PIC18F mà có hỗ trợ luôn cả USB, theo cấu hình của bạn ở trên. Do đó, việc làm của bạn rất nhiều khả năng là không thành công, vì bạn đang dùng "râu ông nọ cắm cằm bà kia". Thân, |
e cũng bị trường hợp tương tự. nếu nạp trực tiếp thì phần truyền thông của e chạy nhưng khi nạp qua bootloader thì phần truyền thông lại không chạy nữa.
vậy cho e hỏi có cách nào để sửa lỗi này k? |
hôm nay e lại gặp vấn đề với cái bootloader.dạo trước check pic, nạp ngon lành nên không để ý.
vấn đề e gặp phải là: khi nạp mới firmware cho con pic sau đó dùng tinybld check và nạp ngon lành. nhưng sau đó e nạp lại phần mềm thì lại không check được nữa. sau đó e thử nạp lại fireware rồi check thì lại ok. e không biết nó bị làm sao nữa???????? phần mền e viết bằng ccs c |
không ai giúp e sửa lỗi bootloader ở trên ạ?
các cao thủ đâu rồi? giúp e với!!!!!!!!!!!!! |
Cho em xin firmware của 16F877A TA 20Mhz baud 9600 với ạ.Em vào source của tiny để thay đổi nhưng nó là file asm,mà em dùng CCS.
|
Hic đọc xong cả 8 trang hoa cả mắt cuối cùng củng hiểu tí chút về cái bootloader này. Có thể nói là rất hay, đơn giản gọn nhẹ và ứng dụng tốt. Tuy nhiên, mình vẫn còn thắc mắc 1 vẫn đề đó là dùng bootloader có thể vừa nạp vừa giao tiếp với máy tính bằng 1 số ngôn ngữ như VB,C#.. nhưng có ai đã kiểm tra được tính chính xác của mạch chưa. Có thể nạp được nhưng giao tiếp với máy tính đã được. Mong bạn namqn giải thích giùm mình cái nghen. Nếu có thể cho mình 1 ví dụ minh họa nhé.
|
Trích:
Thân, |
Trích:
Ví dụ cụ thể: bạn hoàn toàn có thể dùng baud rate 115200 bps khi kết nối bootloader với máy tính, và thiết lập baud rate 9600 bps trong chương trình ứng dụng để giao tiếp với máy tính trong quá trình thực thi chương trình ứng dụng. Thân, |
Cảm ơn Namnq nhiều nghen. Đọc cái ví dụ của huynh:
Ví dụ cụ thể: bạn hoàn toàn có thể dùng baud rate 115200 bps khi kết nối bootloader với máy tính, và thiết lập baud rate 9600 bps trong chương trình ứng dụng để giao tiếp với máy tính trong quá trình thực thi chương trình ứng dung. Thấy bây giờ đã hiểu tương đối về nó. Mình đinh dùng CCS để viết chương trình về RFID giao tiếp với dòng 16F876A và dùng 2 chân RXD, TXD vừa nạp cho PIC bằng tinybootloader vừa giao tiếp hiện thị kết quả đọc đựoc từ bộ reader lên máy tính và truyền yêu cầu từ máy tính xuống bộ reader của RFID. Mình không rõ là khi viết bằng CCS nó có phù hợp với phần mềm của tiny không. |
Cổng COM ảo không dùng được tiny bootloader (PC rs232<->max232<->PIC) hay sao?
Bạn nào biết chỉ mình với. Mình có 2 cái cổng USB-COM mà cả hai đều như nhau. kết nối đều báo lỗi. Mặc dù driver nhận tốt kết nối với các thiết bị dùng cổng COM khác thì OK . Nhưng kết nối với thiết bị thông qua mạch có Max232 thì không được. |
Trích:
Bạn xem lại thiết lập của cổng và của phần mềm Tiny Bootloader có tương thích hay không. Thân, |
Hôm bữa test cái bootloader cho con Pic 16f877a ni nhiều lần mà khônng được. Tưởng cái cáp chuyển từ cổng usb-com của mình bị hư. Nhưng lại không phải. Sau nhiều lần kiểm tra thì lại do cái driver bootloader bị lỗi. Mình nghĩ cứ làm theo sơ đồ hướng dẫn và test chạy là ok hết. Dùng CCS lập trình đổ vào cũng chạy ok luôn. Thanks mấy người ngĩ ra cái này nhan. Nạp nhanh lém.
Link down: http://mega.1280.com/file/C1JDGFJ6ZQ/ |
Múi giờ GMT. Hiện tại là 09:08 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam