PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Tiny Bootloader (http://www.picvietnam.com/forum/forumdisplay.php?f=67)
-   -   xin bootloader của pic18f4331 (http://www.picvietnam.com/forum/showthread.php?t=830)

namqn 17-11-2007 02:31 AM

Trích:

Nguyên văn bởi LeDuc (Post 12895)
Nó báo như vậy có phải là do lỗi đường truyền phải ko anh? hay do em reset bằng tay...Rất mong các anh giúp đõ ...
Thanks for all !!

Thông báo lỗi đó thường xảy ra với UART chạy không đúng baud rate. Trước tiên bạn kiểm tra lại xem UART của bạn có chạy đúng ở 19200 bps hay không, bằng cách viết một chương trình đơn giản gửi 1 chuỗi ký tự ra UART ở 19200 bps và dùng Hyper Terminal của Windows để kiểm tra.

Board mạch của tôi hàn cứng thạch anh 20 MHz nên tôi chưa có điều kiện thử firmware với thạch anh 8 MHz.

Thân,

THANDONGDATVIET 17-11-2007 08:35 AM

Trích:

Nguyên văn bởi namqn (Post 12886)
Bạn có thể dùng file .hex mà tôi đã gửi, load vào WinPic800, sau đó vào Settings của WinPic800 và chuyển HS thành HS PLL x4 ...

Thân,

Em đã làm giống như anh nói nhưng khi detect chíp thì nó báo là 18f242 /442.Nạp thử thì không chạy, chẳng biết làm thế nào cả. Hay bác có cái hướng dẫn sửa file asm của mấy thằng chíp này thì post lên cho em nghiên cứu được không ? Em làm việc với máy tính nhiều nên thấy thằng bootloader rất tiện.
Thank !

namqn 17-11-2007 11:17 PM

Trích:

Nguyên văn bởi THANDONGDATVIET (Post 12902)
Em đã làm giống như anh nói nhưng khi detect chíp thì nó báo là 18f242 /442.Nạp thử thì không chạy, chẳng biết làm thế nào cả. Hay bác có cái hướng dẫn sửa file asm của mấy thằng chíp này thì post lên cho em nghiên cứu được không ? Em làm việc với máy tính nhiều nên thấy thằng bootloader rất tiện.
Thank !

Tiny Bootloader cho đến phiên bản 1.9.5 vẫn không có ID riêng cho các chip PIC18Fxx31 (4431, 4331, 2431, và 2331). Do đó, tôi chỉ dùng ID của các chip PIC18F242/442 cho PIC18F4431 (vì chúng có cùng kích thước flash, đây cũng là cách mở rộng phạm vi hỗ trợ cho Tiny Bootloader theo khuyến cáo của Claudiu). Nếu bạn đã nạp được bằng Tiny Bootloader thì bạn có thể thử nạp lại một chương trình khác để khẳng định là bootloader vẫn chạy tốt.

Trong trường hợp bootloader vẫn chạy tốt thì vấn đề nằm ở chương trình ứng dụng của bạn, chứ không phải do bootloader. Nếu bootloader chỉ có thể thực hiện việc nạp chương trình một lần duy nhất, ngay sau khi firmware được nạp vào chip, thì mới phải xem lại bootloader. Nhiệm vụ của bootloader chỉ là đưa chương trình ứng dụng vào flash của PIC, và nhảy đến chương trình ứng dụng đó sau khi đã nạp nó vào flash xong.

Thân,

namqn 18-11-2007 02:36 AM

1 Attachment(s)
Trích:

Nguyên văn bởi LeDuc (Post 12781)
Giúp em file hex cho con 16f887 voi . em su dung thach anh 8M baud rate = 19200 ...
Thanks for all !

Firmware mà tôi đã post lần trước có kích thước > 100 word, do đó sẽ không làm việc đúng với Tiny Bootloader (chỉ nạp được 1 lần, và bản thân firmware bị ghi đè 1 phần, dẫn đến không còn làm việc sau đó). Firmware đã được hiệu chỉnh với cấu hình mà bạn yêu cầu đã được đính kèm dưới đây.

Firmware này đã được tôi thử nghiệm đầy đủ (nhận diện chip đúng với Tiny Bootloader phiên bản 1.9.3 trở đi, nạp tốt chương trình ứng dụng vào chip, và vẫn chạy tốt nếu chip được reset để kích hoạt bootloader).

Thân,

LeDuc 18-11-2007 02:31 PM

1 Attachment(s)
hiện nay em đã nạp được pic 16f887 nhưng em sử dụng tiny phiên bản 1.9.5 , chứ phiên bản 1.9.3 nó báo như vậy đó anh..
Cảm ơn anh nhiều .....

LeDuc 18-11-2007 05:44 PM

Trích:

Nguyên văn bởi namqn (Post 12912)
Firmware mà tôi đã post lần trước có kích thước > 100 word, do đó sẽ không làm việc đúng với Tiny Bootloader (chỉ nạp được 1 lần, và bản thân firmware bị ghi đè 1 phần, dẫn đến không còn làm việc sau đó). Firmware đã được hiệu chỉnh với cấu hình mà bạn yêu cầu đã được đính kèm dưới đây.

Firmware này đã được tôi thử nghiệm đầy đủ (nhận diện chip đúng với Tiny Bootloader phiên bản 1.9.3 trở đi, nạp tốt chương trình ứng dụng vào chip, và vẫn chạy tốt nếu chip được reset để kích hoạt bootloader).

Thân,

Em đã test khoản 4 tiếng liên tục cho 3 con Pic , và 3 mạch chủ , test liên tục . Tốc độ nạp nhanh , cho đến giờ thì mạch vẫn rất ổn định . Những cũng chỉ có thễ nạp bằng phiên bản 1.9.5 . còn mấy phiên bản trước thì ko hiểu loại chip nào. Và còn 1 điều nữa là kô thể reset bằng tay được . em vẫn chưa hiểu vấn đề nảy cho lắm ..
rất cảm ơn anh !!

namqn 18-11-2007 09:00 PM

Trích:

Nguyên văn bởi LeDuc (Post 12919)
Em đã test khoản 4 tiếng liên tục cho 3 con Pic , và 3 mạch chủ , test liên tục . Tốc độ nạp nhanh , cho đến giờ thì mạch vẫn rất ổn định . Những cũng chỉ có thễ nạp bằng phiên bản 1.9.5 . còn mấy phiên bản trước thì ko hiểu loại chip nào. Và còn 1 điều nữa là kô thể reset bằng tay được . em vẫn chưa hiểu vấn đề nảy cho lắm ..
rất cảm ơn anh !!

Tôi xác nhận là phiên bản 1.9.3 không nhận ra chip 887 với ID mới, vì chỉ có phiên bản 1.9.5 mới có tập tin piccodes.ini để người dùng tự bổ sung ID cho chip mới.

Về việc reset bằng tay, bạn xem lại mạch reset của bạn, cũng như chỉnh timeout (ms) của Tiny Bootloader (trong nhãn Options) thành khoảng 100 - 200 ms. Tôi đã thử bootloader với nút reset trên mạch thử nghiệm.

Thân,

LeDuc 18-11-2007 11:27 PM

Trích:

Nguyên văn bởi namqn (Post 12921)
Tôi xác nhận là phiên bản 1.9.3 không nhận ra chip 887 với ID mới, vì chỉ có phiên bản 1.9.5 mới có tập tin piccodes.ini để người dùng tự bổ sung ID cho chip mới.

Về việc reset bằng tay, bạn xem lại mạch reset của bạn, cũng như chỉnh timeout (ms) của Tiny Bootloader (trong nhãn Options) thành khoảng 100 - 200 ms. Tôi đã thử bootloader với nút reset trên mạch thử nghiệm.

Thân,

Em đã chỉnh timeout lại và đã nạp được rồi .. Rất cam ơn anh ....
thanks for all !

hanhluckyly 21-11-2007 12:02 AM

anh ơi share em cái bootloader 20Mhz baud 56000 với, ah tiện thể anh có thể chỉ cách cho tụi em thiết lập các thông số tr6en không để mắc công anh phải compile nhiều lần khi có nhiều người hỏi

thank you anh

namqn 21-11-2007 01:06 AM

Trích:

Nguyên văn bởi hanhluckyly (Post 12955)
anh ơi share em cái bootloader 20Mhz baud 56000 với, ah tiện thể anh có thể chỉ cách cho tụi em thiết lập các thông số trên không để mắc công anh phải compile nhiều lần khi có nhiều người hỏi

thank you anh

Bạn chưa cho biết bạn dùng PIC nào. Source code cho một số PIC16, đa số PIC18, và một số dsPIC đã nằm trong tập tin nén của Tiny Bootloader. Phần source code cho các PIC18 của tôi cũng đã được đưa vào đó (thư mục con 'others/nnq'). Việc thiết lập cấu hình cũng khá đơn giản đối với những chip đã được hỗ trợ trong source code, bạn chỉ cần đảm bảo cấu hình giống như cho chương trình ứng dụng và cho phép bootloader làm việc đúng, và cấu hình đúng cho module UART (Claudiu viết sẵn macro tính giá trị nạp vào thanh ghi tạo baud rate, mà trong một số trường hợp sẽ cho sai số khá lớn, khi đó phải tự tính giá trị đó bằng tay và thay đổi ở lệnh tương ứng trong source code của firmware).

Thân,

hanhluckyly 21-11-2007 11:50 AM

sory anh, em dùng PIC 18F4331 , anh share dùm em cái bootloader 20MHz baud 56000 với

namqn 21-11-2007 07:25 PM

1 Attachment(s)
Firmware theo yêu cầu của bạn được đính kèm dưới đây. Tôi đã dùng cấu hình sau để dịch bootloader cho PIC18F4331:
Code:

                CONFIG        OSC = HS, FCMEN = OFF, IESO = OFF
                CONFIG        PWRTEN = ON, BOREN = ON, BORV = 27
                CONFIG        WDTEN = OFF, WINEN = OFF, WDPS = 128
                CONFIG        T1OSCMX = ON, HPOL = HIGH, LPOL = HIGH, PWMPIN = OFF
                CONFIG        MCLRE = ON, EXCLKMX = RD0, PWM4MX = RD5, SSPMX = RD1, FLTAMX = RD4
                CONFIG        STVREN = ON, LVP = OFF, DEBUG = OFF

Bạn chú ý là chip sẽ được nhận diện như PIC18F4320 (vì PIC18F4331 không có ID riêng cho nó).

Cách thức tùy biến các tập tin nguồn đã được tôi viết trong các source code dành cho PIC18 của tôi. Các bạn hãy thử nhìn qua một lần các source code đó.

Thân,

LeDuc 25-11-2007 10:42 PM

help!
 
Anh Nam , cho em hỏi khi nạp firmware(tiny botloader ) cho 16f887 em bị một trường hợp này mong anh xem giùm ..

Em truyền dữ liệu qua chuẩn giao tiếp USART đồng bộ Master kô được .Phần cứng là 2 chân RX(c7)+TX(c6) nối với 2 chân data + clock của thanh ghi dịch 74LS164 rồi đưa ra 7447 để giải mã hiện thị led 7 đoạn . Khi mô phỏng phần cứng trong proteus thì hoạt động bình thường nhưng khi nạp vào mach thực tế thì tất cả các chân đều ở mức điện áp cao( khoản 3v) ..

Cũng cùng phần cứng đó em sử dụng giao tiếp SPI , thì có thể quét led 7 đoạn ...
Em vẫn kô hiếu mong anh chỉ giúp...Và cho em hỏi hình như cách dịch bit của chế độ USART cũng khác so với cách dịch bit của chế độ SPI hả anh? em mô phỏng trong protues thì thấy 2 chế dộ giao tiếp đó , dịch bit ngược nhau ...

namqn 26-11-2007 07:56 PM

Trích:

Nguyên văn bởi LeDuc (Post 13092)
Anh Nam , cho em hỏi khi nạp firmware(tiny botloader ) cho 16f887 em bị một trường hợp này mong anh xem giùm ..

Em truyền dữ liệu qua chuẩn giao tiếp USART đồng bộ Master kô được .Phần cứng là 2 chân RX(c7)+TX(c6) nối với 2 chân data + clock của thanh ghi dịch 74LS164 rồi đưa ra 7447 để giải mã hiện thị led 7 đoạn . Khi mô phỏng phần cứng trong proteus thì hoạt động bình thường nhưng khi nạp vào mach thực tế thì tất cả các chân đều ở mức điện áp cao( khoản 3v) ..

Cũng cùng phần cứng đó em sử dụng giao tiếp SPI , thì có thể quét led 7 đoạn ...
Em vẫn kô hiếu mong anh chỉ giúp...Và cho em hỏi hình như cách dịch bit của chế độ USART cũng khác so với cách dịch bit của chế độ SPI hả anh? em mô phỏng trong protues thì thấy 2 chế dộ giao tiếp đó , dịch bit ngược nhau ...

Các giao thức truyền thông như RS-232, SPI, hay I2C đều là những giao thức đã được định trước, thông thường không thích hợp cho việc xử lý cấp thấp phần cứng (dịch bit ra thanh ghi dịch để giải mã chẳng hạn). Tôi chưa viết phần SPI nhưng bạn có thể đọc về RS-232 ở đây:

http://namqn.byethost7.com/Commu.php

Thân,

stadiumbbc 09-07-2010 09:35 AM

Trích:

Nguyên văn bởi namqn (Post 12747)
Tập tin hex được đính kèm dưới đây, được biên dịch theo cấu hình mà bạn yêu cầu, baud rate = 38400 bps.

Bạn có thể tìm thấy các tập tin nguồn cho các PIC18 khác nhau trong tập tin nén của Tiny Bootloader (thư mục con 'others/nnq'), có thể download từ link dưới đây.

http://www.etc.ugal.ro/cchiculita/so...lddownload.htm

Thân,

Anh Nam ơi! em đang cần bootloader cho con 18F4331 tần số là 4MHZ , bit rate là 9600 .
Mong anh giúp em với.
Thanks.


Múi giờ GMT. Hiện tại là 02:59 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