![]() |
Trích:
Thân, |
Trích:
Thân, |
1 Attachment(s)
Trích:
Code:
CONFIG PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2 Thân, |
Trích:
|
1 Attachment(s)
Trích:
Về phần cứng thử nghiệm, ngoài hai chân RX và TX của module EUSART, tôi còn một tụ điện 470 nF nối vào chân Vusb (chân 18) của PIC (bạn không nên nối gì khác vào chân này). Tôi cho rằng việc dùng chân 23 của PIC cho giao tiếp I2C không ảnh hưởng đến bootloader. Thân, |
1 Attachment(s)
Tôi vừa kiểm tra lại tập tin .hex mà tôi đã upload ở bài viết #84, một dấu hiệu đáng ngờ là tập tin có ngày tháng được cập nhật là 04/8/2006, mặc dù tôi biên dịch hôm qua. Thông tin cấu hình trong tập tin đó bị thiếu (tôi cũng không rõ vì lý do gì, vì firmware được tôi biên dịch lại hôm nay cũng sử dụng cùng tập tin nguồn, trên cùng một máy tính).
Vì lý do trên, tôi upload lại firmware mà tôi vừa biên dịch và thử nghiệm vào hôm nay. Bạn thử lại xem bootloader có làm việc tốt hay không. Thân, |
Trích:
|
Hình dung về Bootloader ?
Đọc xong phần bootloader, mình chợt nghĩ: Nó giống như là "hệ điều hành" của chip VĐK, tuỳ chọn cho VĐK nạp chương trình mới hay là chạy chương trình cũ đã nạp trước đó.
Việc hình dung nôm na như nhế có thể giúp bạn dể nắm bắt và dể nhớ về Bootloader. |
Trích:
Thân, |
Em mới tìm hiểu về Pic. Định sử dụng nạp chương trình cho Pic6F877A bằng tiny bootloader. Nhưng vẫn lơ tơ mơ về cái cách này. Theo em hiểu : Ngoài mạch ứng dụng của Pic thì thiết kế thêm 2 module : mạch tinybootloader và RS232. Cái thằng RS232 em đọc tài liệu về nó thì bảo đó là một cách giao tiếp PC với thiết bị ngoại vi. Như thế nếu em có mạch tinybootloader rồi muốn nối với PC thì cần làm những gì? Nối vào các chân của tiny bootloader vào đâu của PC? hay là fai làm một mạch cứng nữa?
hic hic. Thấy bối rối quá. Mong các bác chỉ giáo tận tình. Nếu có hướng dẫn cụ thể, chi tiết (từ cứng đến mềm)từng bước nạp cho Pic bằng tiny bootloader thì tốt quá. Thanks ! |
Trích:
http://www.picvietnam.com/forum//showthread.php?t=439 Module cung cấp chức năng nạp qua Tiny Bootloader cũng có thể dùng để giao tiếp thông qua RS-232. Không nhất thiết RS-232 dùng để giao tiếp PC với thiết bị ngoại vi, vẫn có thể giao tiếp giữa các ngoại vi bằng RS-232. Thân, |
cho mình xin file hex của con 877a chạy TA 8Mhz.
mình cũng đã thử viết nhưng khi dùng tinyBld search Pic thì nó không nhận đc và có thông báo lỗi như thế này: Connected to \\.\COM1 at 9600 Searching for PIC ... pic sending unknown data: "K" <> 1h= Check baudrate & Start Write while PIC is not sending serial data (e.g. in reset) ERROR! cho mình hỏi đây là lỗi gì vậy? |
Trích:
Như bạn có thể thấy, trong luồng này, những thành viên cần firmware Tiny Bootloader cho một PIC cụ thể với một cấu hình cụ thể (nên giống với cấu hình của chương trình ứng dụng) có thể gửi yêu cầu lên, và tôi hay một thành viên nào đó sẽ cung cấp firmware đó. Thân, |
mình dùng tinybld198.
cho mình xin firmware cho con 16f877a.cấu hình như sau: #fuses HS, NOWDT,PUT, NOPROTECT, NOLVP, NODEBUG, BROWNOUT #use delay(clock=8000000) thanks. |
nếu có thể đc cho mình xin luôn file .asm nha.
thanks |
1 Attachment(s)
Trích:
Thân, |
Trích:
Tôi cũng chỉ làm đúng những động tác trên khi biên dịch firmware vừa gửi lên. Thân, |
cảm ơn anh. cho e hỏi câu lệnh này fai chỉnh như thế nào với các TA khác nhau?
movlw xtal/2000000+1 e thấy trong picsource có thay đổi giá trị này nhưng e vẫn k hiểu cách tính. e cảm ơn!. |
Trích:
Thân, |
cac a xem giup e cai firmware này co van de j k?sao e dich ma no k nhận đc chip
Code:
radix DECLIST P=16F877A, F=INHX8M ; change also: Configure->SelectDevice from Mplab movlw xtal/2000000+1 như anh chính nói nhưng vẫn k đc. anh chính cho e xin firmware cho con 16f877a.cấu hình như sau: #fuses XT, NOWDT,PUT, NOPROTECT, NOLVP, NODEBUG, BROWNOUT #use delay(clock=3579545) e cảm ơn anh. |
Trích:
Thân, |
e muốn dịch lại để biết cách tự dịch các firmware với các TA khác nhau cho con 877A.cái firmware của a chạy tốt a.vì e có mấy cái mạch làm dùng mấy loại TA khác nhau.hỏi xin hoài cũng hơi ngại
|
1 Attachment(s)
Trích:
Thân, |
anh nam dịch giúp em cái firmware cua con 18f4550 với cấu hình :
#fuses HS, NOWDT,PUT, NOPROTECT, NOLVP // for debug mode #use delay(clock=8000000) // e k dùng usb e cảm ơn anh! |
1 Attachment(s)
Trích:
Code:
CONFIG PLLDIV = 2, CPUDIV = OSC1_PLL2, USBDIV = 2 |
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à 04:52 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam