PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Tiny Bootloader (http://www.picvietnam.com/forum/forumdisplay.php?f=67)
-   -   Cơ bản về bootloader & tiny bootloader (http://www.picvietnam.com/forum/showthread.php?t=130)

nguyen binh 14-11-2009 01:17 PM

anh Nam cho em hoi từ source code em dùng mplab sửa lại rồi dịch ra file hex được không a? em đã làm cách này nhưng dịch ra file hex nạp cho pic vẫn bị lổi không tìm được pic, ko bit có phải mplab của em ko fai là bản full ko

namqn 14-11-2009 01:25 PM

Trích:

Nguyên văn bởi nguyen binh (Post 31231)
anh Nam cho em hoi từ source code em dùng mplab sửa lại rồi dịch ra file hex được không a? em đã làm cách này nhưng dịch ra file hex nạp cho pic vẫn bị lổi không tìm được pic, ko bit có phải mplab của em ko fai là bản full ko

Bạn sửa những chỗ nào?

Source code được cung cấp cho người dùng là nhằm mục đích cho phép người dùng tùy biến theo nhu cầu cụ thể của từng người. Có nhiều người đã tùy biến và dùng được bootloader, do đó nhiều khả năng là bạn sửa chưa đúng. Một khả năng khác là bạn thiết lập thông số giữa hai bên không phù hợp.

MPLAB IDE luôn luôn là bản full, vì Microchip không kinh doanh phần mềm này.

Thân,

nguyen binh 17-11-2009 09:53 AM

em đã sửa theo cách anh hướng dẫn, mà em đã kiểm tra lại mạch hình như nguyên nhân là do cái mạch của em, rất cám ơn anh đã trả lời!

huynhngoctuan 19-11-2009 03:31 PM

Thầy nam ơi,cho em xin firmware con 18F8722 TA 20Mhz,baud 9600.Cảm ơn thầy nhiều!

ghainag1088 18-12-2012 06:29 PM

anh Nam ơi. cho em xin bld của Pic 18F4550 crystal 20M br 9600. làm thế nào để thay đổi tần số dao động của thạch anh và tốc độ br của file bld vậy, anh chỉ cho em với

ghainag1088 25-12-2012 09:46 AM

Trích:

Nguyên văn bởi namqn (Post 17966)
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,

anh ơi. sao em tét với file anh cho thì dc nhưng khi viết thêm 1 lệnh printf một ký tự ra thì ký tự đó hiển thị ko đúng

thjremy 23-04-2013 11:33 PM

Có ai giúp mình chỉnh rõ cái thông số ra sao để cho cái mạch reset nó chạy không, toàn nhấn reset bằng tay!

phuphuongbk 08-09-2013 11:51 PM

Cám ơn anh Namqn a nhiệt tình quá. thanks a nhiều.

tanhaui 21-09-2013 11:22 AM

Không biết bootloader có dùng qua giao tiếp CAN được không nhỉ, ai giúp mình với

nguyenthanhquat 15-11-2013 10:05 PM

Xin code tiny bootloader cho pic16f877a qua giao tiếp RS485
 
mình mới tìm hiểu về tiny bootloader và đã thử thành công qua giao tiếp RS232, hiện tại mình đang sử dụng giao tiếp RS485 và có ý tường là dùng tiny bootloader qua RS485 (mình kết nối max485 với chân RX, TX của pic, chân điều khiển Max485 là RC5, thạch anh 20M, tốc độ 9600) mình ko biết nhiều về lập trình asm nên ko biết sửa code trong tiny bootloader cho phù hợp, mong các bạn giúp đỡ

nguyenthanhquat 15-11-2013 10:14 PM

chỉnh giúp tiny bootloader PIC16F877A qua RS485
 
mình có sửa code tiny bootloader PIC16F877A qua RS485, mô phỏng trên proteus và sử dụng bản tiny 1.95 thì có check dc pic và báo nạp thành công nhưng chương trình nạp ko chạy (đơn giản là nháy 1 con led, các thông số về fuse mình đã cấu hình để phù hợp với chương trình tiny bootloader), đoạn chương trình giao tiếp RS485 mình viết:

SendL macro car
BCF RCSTA, CREN ; turn off receive on serial
bsf PORTC,5 ;RS485 transmit/
movlw car
movwf TXREG
BSF STATUS, RP0 ; bank 1 set bank
BTFSS TXSTA, TRMT ; wait until TRMT is high
goto $-1
BCF STATUS, RP0 ; bank 0
bcf PORTC,5 ;RS485 receive
BSF RCSTA, CREN ; enable receive on serial
endm

mong các bạn xem giúp, mình đang nghi ở chỗ:
#define first_address max_flash-120 ; 100 word in size
nhưng ko biết chỉnh sao cho đúng, chương trình mình sửa theo bản chuẩn của tiny bootloader như sau:

radix DEC
LIST P=16F887a, F=INHX8M ; change also: Configure->SelectDevice from Mplab

; auto-start at 4MHz internal osc
xtal EQU 20000000 ; you may also want to change: _HS_OSC _XT_OSC
baud EQU 9600 ; standard TinyBld baud rates: 115200 or 19200
;xtal EQU 4000000 ; you may also want to change: _HS_OSC _XT_OSC
;baud EQU 19200 ; standard TinyBld baud rates: 115200 or 19200

; The above 3 lines can be changed and buid a bootloader for the desired frequency (and PIC type)

;************************************************* *******************
; Tiny Bootloader 16FxxxA series Size=100words
; claudiu.chiculita@ugal.ro
; http://www.etc.ugal.ro/cchiculita/so...bootloader.htm
;************************************************* *******************

#include "icdpictypes.inc" ;takes care of: #include "p16fxxxA.inc", max_flash, IdTypePIC
#include "spbrgselect.inc"
#include "bankswitch.inc"
#define first_address max_flash-120 ; 100 word in size

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
errorlevel 1, -305 ; suppress warning msg that takes f as default


cblock 0x20
buffer:80
endc

cblock 0x78
crc
contor
i
cnt1
cnt2
cnt3
flag
endc

SendL macro car
BCF RCSTA, CREN ; turn off receive on serial
bsf PORTC,5 ;RS485 transmit/
movlw car
movwf TXREG
BSF STATUS, RP0 ; bank 1 set bank
BTFSS TXSTA, TRMT ; wait until TRMT is high
goto $-1
BCF STATUS, RP0 ; bank 0
bcf PORTC,5 ;RS485 receive
BSF RCSTA, CREN ; enable receive on serial
endm

;0000000000000000000000000 RESET 00000000000000000000000000
ORG 0x0000
PAGESEL IntrareBootloader
GOTO IntrareBootloader

;view with TabSize=4
;&&&&&&&&&&&&&&&&&&&&&&& START &&&&&&&&&&&&&&&&&
;---------------------- Bootloader ----------------------
;
;PC_flash: C1h AddrH AddrL nr ...(DataLo DataHi)... crc
;PIC_response: id K K
ORG first_address
nop
nop
nop
nop
org first_address+4
IntrareBootloader

;init serial port
clrf STATUS
bsf STATUS,RP0 ;BANK1_
movlw b'10011111' ;////////////////////////////
movwf TRISC ;///////////////////////
bcf PORTC,5 ;RS485 receive
movlw b'00100100'
movwf TXSTA
movlw spbrg_value
movwf SPBRG
BANK0_
movlw b'10010000'
movwf RCSTA
;wait for computer
call Receive
sublw 0xC1 ;Expect C1
skpz
goto way_to_exit
SendL IdTypePIC ;PIC type
;SendL IdSoftVer ;firmware ver x

MainLoop
clrf STATUS ;bank0
SendL 'K' ;"-Everything OK, ready and waiting."

mainl
clrf crc
call Receive ;H
bsf STATUS,RP1 ;bank2
movwf EEADRH
movwf flag ;used to detect if is eeprom
call Receive ;L
bsf STATUS,RP1 ;bank2
movwf EEADR

call Receive ;count
movwf contor
movwf i
incf i
movlw buffer-1
movwf FSR
rcvoct
call Receive
incf FSR
movwf INDF
decfsz i
goto rcvoct

movf crc,f ;check checksum
skpz
goto ziieroare
;write
bsf STATUS,RP1 ;bank switch 0->2
movlw buffer
movwf FSR
writeloop ; write 2 bytes = 1 instruction
clrwdt
movf INDF,w
movwf EEDATA
incf FSR
movf INDF,w
movwf EEDATH
incf FSR
BANK3_ ;bank 2->3
bcf EECON1,EEPGD
btfss flag,6 ;is eeprom (or flash)
bsf EECON1,EEPGD
bsf EECON1,WREN
movlw 0x55
movwf EECON2
movlw 0xaa
movwf EECON2
bsf EECON1,WR
nop
nop
waitwre
; btfsc EECON1,WR ;for eeprom writes (wait to finish write)
; goto waitwre
bcf EECON1,WREN
BANK2_ ;bank2
incf EEADR ;does not cross zones
btfss flag,6 ; if writing to EEPROM, skip first counter dec.
decf contor
decfsz contor
goto writeloop

goto MainLoop
ziieroare
SendL 'N'
goto mainl
Receive
clrf STATUS
movlw xtal/2000000+1 ; for 20MHz => 11 => 1second
movwf cnt1
rpt2
clrf cnt2
rpt3
clrf cnt3
rptc
btfss PIR1,RCIF ;test RX
goto $+4
movf RCREG,w ;return in W
addwf crc,f ;compute checksum
return
clrwdt
decfsz cnt3
goto rptc
decfsz cnt2
goto rpt3
decfsz cnt1
goto rpt2
;timeout:
way_to_exit ;exit in all other cases; must be BANK0/1
;BANK0_
bcf RCSTA, SPEN ; deactivate UART
goto first_address
;************************************************* ************
; After reset
; Do not expect the memory to be zero,
; Do not expect registers to be initialised like in catalog.

END

lyxa_bk 21-11-2013 04:50 PM

cho minh hỏi là bắt buộc phải dùng mạch nạp riêng nạp Firmware vào PIC rồi mới sử đụng được tiny bootloader ah?? vì mình gặp cái lỗi không nhận được PIC. thể chẳng phải bằng hòa hay sao:(. mua mạch nạp rồi thì nạp luôn cho xong. câu hỏi hơi gà. mong bác mod tư vấn.

lyxa_bk 22-11-2013 10:18 AM

therad closed roi a

supperchon 19-07-2021 11:25 AM

Viagra online"Buy viagra online
 
sildenafilo aristo 100 mg precio
comprar cialis 5 mg en argentina
comprar kamagra de envio en 48 horas
precio de la viagra generica
comprar viagra madrid
comprar cialis en alcobendas
es seguro comprar levitra online
mejor farmacia online espana cialis
comprar libro sobre viagra
donde comprar viagra en canarias
levitra 10 bucodispersable precio
quiero comprar cialis generico y pagar contrareembolso
comprar levitra barata
comprar levitra en segovia
comparativa de precio viagra cialis etc
cialis original vs generico
fildena 100
amazon levitra 10 mg generico
kamagra sidenafil cenforce d
cialis generico 40
porque se puede comprar viagra sin receta
cialis pastilla precio en chile
comprar fildena en espana
sonde comprar el tadalafilo mas barato en andorra
comprar cialis en granollers
cialis con o sin receta
fildena 120 contrareembolso
cialis generico 5 mg prezzo in farmacia
centurion laboratories cenforce 100
precio de pastillas cialis generico
comprar levitra con dapoxetina generico en andorra
comprar viagra original con receta receta
tadalafilo tecnigen 5 mg precio
tadalafilo 5 comprar
cialis natural o generico

lamlamyb 16-03-2024 01:58 PM

Adult games: dating for spicy meetups
 
A unique encounter, with an emphasis on safety
Actual Women

chiento178 16-03-2024 09:05 PM

Looking for fun companions for travels and adventures?
 
Night games. No obligations. One night only.
Actual Girls

lifeof 04-05-2024 06:25 AM

Top-notch Сasual Dating - Authentic Ladies
 
Break free from traditional dating norms and embrace the best in casual connections.
True Females
Prime casual Dating


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