• AVR Freaks

AnsweredHot!PIC18F27Q10 programming time

Author
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
2020/02/28 05:24:11 (permalink)
4 (1)

PIC18F27Q10 programming time

We have converted PIC18F27K40 code to PIC18F27Q10. This is just an experimental code with about 48% of used flash.
No code changes made during conversion, just minor config corrections, code size in bytes is very close.
While code works just fine, we are seen extremely high programming times.
Specifically with SNAP it takes 3 min 58 sec on both Normal or High speed.
Programming using PICKIT3 takes about 45 seconds, that is still much higher than K40 part at about 15 seconds.
This making Debugging completely unusable.
I am using MPLABX 5.30 with XC8 2.10
 
Just for a comparison, we used NDSP programmer from Northern Software and results are 3 sec for Q10 and 1.8 sec for K40.
 
Any ideas? 
Since SNAP is a little brother of PICKIT4, did anyone try to use PICKIT4 just to compare results?
Thanks
post edited by Andy123 - 2020/02/28 05:45:42
#1
MHS
Super Member
  • Total Posts : 359
  • Reward points : 0
  • Joined: 2010/04/23 10:05:39
  • Location: 0
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 12:59:12 (permalink)
0
What voltage are you programming at?
#2
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 13:42:00 (permalink)
0
Vdd is 3.3V
#3
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 15:24:36 (permalink)
0
I don't know if this strange fragmentation has something to do with slow programming.
Connecting to MPLAB Snap...
 
Currently loaded versions:
Application version............00.03.23
Boot version...................01.00.00
Script version.................00.03.33
Script build number............0540a22e50
Target device PIC18F27Q10 found.
Device Id Revision = 0xa0040000
Erasing...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x3
program memory: start address = 0x8, end address = 0x33
program memory: start address = 0xc3e8, end address = 0xcadb
program memory: start address = 0xcae8, end address = 0xcafb
program memory: start address = 0xcb0c, end address = 0xcb17
program memory: start address = 0xcb20, end address = 0xcb27
program memory: start address = 0xcb2c, end address = 0xcb37
program memory: start address = 0xcb3c, end address = 0xcb47
program memory: start address = 0xcb50, end address = 0xcb57
program memory: start address = 0xcb5c, end address = 0xcb6b
program memory: start address = 0xcb70, end address = 0xcb77
program memory: start address = 0xcb7c, end address = 0xcb8b
program memory: start address = 0xcb90, end address = 0xcb97
program memory: start address = 0xcb9c, end address = 0xcbab
program memory: start address = 0xcbb0, end address = 0xcbb7
program memory: start address = 0xcbbc, end address = 0xcbcb
program memory: start address = 0xcbd0, end address = 0xcbd7
program memory: start address = 0xcbdc, end address = 0xcbeb
program memory: start address = 0xcbf0, end address = 0xcbf7
program memory: start address = 0xcbfc, end address = 0xcc0b
program memory: start address = 0xcc10, end address = 0xcc17
program memory: start address = 0xcc1c, end address = 0xcc2b
program memory: start address = 0xcc30, end address = 0xcc37
program memory: start address = 0xcc3c, end address = 0xcc4b
program memory: start address = 0xcc50, end address = 0xcc57
program memory: start address = 0xcc5c, end address = 0xcc6b
program memory: start address = 0xcc70, end address = 0xcc77
program memory: start address = 0xcc7c, end address = 0xcc8b
program memory: start address = 0xcc90, end address = 0xcc97
program memory: start address = 0xcc9c, end address = 0xccab
program memory: start address = 0xccb0, end address = 0xccb7
program memory: start address = 0xccbc, end address = 0xcccb
program memory: start address = 0xccd0, end address = 0xccd7
program memory: start address = 0xccdc, end address = 0xcceb
program memory: start address = 0xccf0, end address = 0xccf7
program memory: start address = 0xccfc, end address = 0xcd07
program memory: start address = 0xcd10, end address = 0xcd17
program memory: start address = 0xcd20, end address = 0xcd27
program memory: start address = 0xcd2c, end address = 0xcd3b
program memory: start address = 0xcd4c, end address = 0xcd5b
program memory: start address = 0xcd6c, end address = 0xcd7f
program memory: start address = 0xcd88, end address = 0xcdc7
program memory: start address = 0xcdcc, end address = 0xcde7
program memory: start address = 0xcdec, end address = 0xce03
program memory: start address = 0xce0c, end address = 0xce23
program memory: start address = 0xce2c, end address = 0xce3f
program memory: start address = 0xce4c, end address = 0xce5b
program memory: start address = 0xce6c, end address = 0xce7b
program memory: start address = 0xce8c, end address = 0xce9b
program memory: start address = 0xcea0, end address = 0xcea3
program memory: start address = 0xceac, end address = 0xcec3
program memory: start address = 0xcecc, end address = 0xcee3
program memory: start address = 0xceec, end address = 0xcf03
program memory: start address = 0xcf0c, end address = 0xcf23
program memory: start address = 0xcf2c, end address = 0xcf43
program memory: start address = 0xcf4c, end address = 0xcf63
program memory: start address = 0xcf6c, end address = 0xcf83
program memory: start address = 0xcf8c, end address = 0xcfa3
program memory: start address = 0xcfac, end address = 0xcfc3
program memory: start address = 0xcfcc, end address = 0xcfe3
program memory: start address = 0xcfec, end address = 0xd003
program memory: start address = 0xd00c, end address = 0xd027
program memory: start address = 0xd02c, end address = 0xd047
program memory: start address = 0xd04c, end address = 0xd067
program memory: start address = 0xd06c, end address = 0xd087
program memory: start address = 0xd08c, end address = 0xd0db
program memory: start address = 0xd0ec, end address = 0xd0fb
program memory: start address = 0xd10c, end address = 0xd117
program memory: start address = 0xd120, end address = 0xd127
program memory: start address = 0xd130, end address = 0xd137
program memory: start address = 0xd13c, end address = 0xd14b
program memory: start address = 0xd150, end address = 0xd157
program memory: start address = 0xd15c, end address = 0xd16b
program memory: start address = 0xd170, end address = 0xd177
program memory: start address = 0xd17c, end address = 0xd18b
program memory: start address = 0xd190, end address = 0xd1ab
program memory: start address = 0xd1b0, end address = 0xd1cb
program memory: start address = 0xd1d0, end address = 0xd1e7
program memory: start address = 0xd1f0, end address = 0xd207
program memory: start address = 0xd20c, end address = 0xd227
program memory: start address = 0xd22c, end address = 0xd243
program memory: start address = 0xd24c, end address = 0xd263
program memory: start address = 0xd268, end address = 0xd27f
program memory: start address = 0xd288, end address = 0xd29f
program memory: start address = 0xd2a4, end address = 0xd2bb
program memory: start address = 0xd2c4, end address = 0xd2db
program memory: start address = 0xd2e0, end address = 0xd2f7
program memory: start address = 0xd300, end address = 0xd317
program memory: start address = 0xd330, end address = 0xd337
program memory: start address = 0xd350, end address = 0xd357
program memory: start address = 0xd370, end address = 0xd373
program memory: start address = 0xd390, end address = 0xd3db
program memory: start address = 0xd3e8, end address = 0xd3fb
program memory: start address = 0xd40c, end address = 0xd417
program memory: start address = 0xd420, end address = 0xd423
program memory: start address = 0xd42c, end address = 0xd437
program memory: start address = 0xd43c, end address = 0xd447
program memory: start address = 0xd450, end address = 0xd457
program memory: start address = 0xd45c, end address = 0xd467
program memory: start address = 0xd470, end address = 0xd487
program memory: start address = 0xd490, end address = 0xd4a7
program memory: start address = 0xd4b0, end address = 0xd4c7
program memory: start address = 0xd4cc, end address = 0xd4e3
program memory: start address = 0xd4ec, end address = 0xd4ff
program memory: start address = 0xd508, end address = 0xd51f
program memory: start address = 0xd52c, end address = 0xd547
program memory: start address = 0xd54c, end address = 0xd56b
program memory: start address = 0xd570, end address = 0xd58b
program memory: start address = 0xd590, end address = 0xd5ab
program memory: start address = 0xd5b0, end address = 0xd5cb
program memory: start address = 0xd5d0, end address = 0xd5d7
program memory: start address = 0xd5dc, end address = 0xd5eb
program memory: start address = 0xd5f0, end address = 0xd5f7
program memory: start address = 0xd5fc, end address = 0xd60b
program memory: start address = 0xd610, end address = 0xd617
program memory: start address = 0xd620, end address = 0xd627
program memory: start address = 0xd630, end address = 0xd637
program memory: start address = 0xd64c, end address = 0xd65b
program memory: start address = 0xd66c, end address = 0xd67f
program memory: start address = 0xd688, end address = 0xd6cb
program memory: start address = 0xd6d0, end address = 0xd6e7
program memory: start address = 0xd6f0, end address = 0xd707
program memory: start address = 0xd710, end address = 0xd727
program memory: start address = 0xd730, end address = 0xd743
program memory: start address = 0xd750, end address = 0xd763
program memory: start address = 0xd770, end address = 0xd783
program memory: start address = 0xd790, end address = 0xd79f
program memory: start address = 0xd7a4, end address = 0xd7a7
program memory: start address = 0xd7b0, end address = 0xd7bf
program memory: start address = 0xd7c4, end address = 0xd7c7
program memory: start address = 0xd7d0, end address = 0xd7df
program memory: start address = 0xd7e4, end address = 0xd7e7
program memory: start address = 0xd7f0, end address = 0xd7fb
program memory: start address = 0xd800, end address = 0xd807
program memory: start address = 0xd810, end address = 0xd81b
program memory: start address = 0xd820, end address = 0xd827
program memory: start address = 0xd830, end address = 0xd83b
program memory: start address = 0xd840, end address = 0xd847
program memory: start address = 0xd850, end address = 0xd857
program memory: start address = 0xd85c, end address = 0xd867
program memory: start address = 0xd870, end address = 0xd877
program memory: start address = 0xd87c, end address = 0xd887
program memory: start address = 0xd890, end address = 0xd897
program memory: start address = 0xd8b4, end address = 0xd8b7
program memory: start address = 0xd8d4, end address = 0xd8d7
program memory: start address = 0xd8f4, end address = 0xd907
program memory: start address = 0xd910, end address = 0xd927
program memory: start address = 0xd930, end address = 0xd947
program memory: start address = 0xd950, end address = 0xd967
program memory: start address = 0xd970, end address = 0xd987
program memory: start address = 0xd990, end address = 0xd9db
program memory: start address = 0xd9f0, end address = 0xd9fb
program memory: start address = 0xda10, end address = 0xda1b
program memory: start address = 0xda30, end address = 0xda3b
program memory: start address = 0xda40, end address = 0xda5b
program memory: start address = 0xda60, end address = 0xda77
program memory: start address = 0xda80, end address = 0xda97
program memory: start address = 0xdaa0, end address = 0xdab7
program memory: start address = 0xdac0, end address = 0xdac3
program memory: start address = 0xdac8, end address = 0xdad7
program memory: start address = 0xdaec, end address = 0xdaf7
program memory: start address = 0xdb10, end address = 0xdb17
program memory: start address = 0xdb1c, end address = 0xdb27
program memory: start address = 0xdb30, end address = 0xdb4b
program memory: start address = 0xdb50, end address = 0xdb6b
program memory: start address = 0xdb70, end address = 0xdb8b
program memory: start address = 0xdb90, end address = 0xdbab
program memory: start address = 0xdbb0, end address = 0xdbcb
program memory: start address = 0xdbd0, end address = 0xdbd7
program memory: start address = 0xdbdc, end address = 0xdbeb
program memory: start address = 0xdbf0, end address = 0xdbf7
program memory: start address = 0xdbfc, end address = 0xdc0b
program memory: start address = 0xdc10, end address = 0xdc17
program memory: start address = 0xdc20, end address = 0xdc27
program memory: start address = 0xdc30, end address = 0xdc37
program memory: start address = 0xdc4c, end address = 0xdc5b
program memory: start address = 0xdc6c, end address = 0xdc7f
program memory: start address = 0xdc88, end address = 0xdcdf
program memory: start address = 0xdcec, end address = 0xdcfb
program memory: start address = 0xdd0c, end address = 0xdd1b
program memory: start address = 0xdd20, end address = 0xdd27
program memory: start address = 0xdd30, end address = 0xdd37
program memory: start address = 0xdd40, end address = 0xdd4b
program memory: start address = 0xdd50, end address = 0xdd57
program memory: start address = 0xdd5c, end address = 0xdd6b
program memory: start address = 0xdd70, end address = 0xdd77
program memory: start address = 0xdd7c, end address = 0xdd97
program memory: start address = 0xdd9c, end address = 0xddb7
program memory: start address = 0xddbc, end address = 0xddd7
program memory: start address = 0xdddc, end address = 0xdddf
program memory: start address = 0xddec, end address = 0xddf7
program memory: start address = 0xde0c, end address = 0xde17
program memory: start address = 0xde20, end address = 0xde27
program memory: start address = 0xde30, end address = 0xde37
program memory: start address = 0xde40, end address = 0xde4b
program memory: start address = 0xde50, end address = 0xde57
program memory: start address = 0xde5c, end address = 0xde6b
program memory: start address = 0xde70, end address = 0xde77
program memory: start address = 0xde7c, end address = 0xde8b
program memory: start address = 0xde90, end address = 0xde97
program memory: start address = 0xde9c, end address = 0xdeab
program memory: start address = 0xdeb0, end address = 0xdeb7
program memory: start address = 0xdebc, end address = 0xdecb
program memory: start address = 0xded0, end address = 0xded7
program memory: start address = 0xdedc, end address = 0xdeeb
program memory: start address = 0xdef0, end address = 0xdef7
program memory: start address = 0xdf00, end address = 0xdf0b
program memory: start address = 0xdf10, end address = 0xdf17
program memory: start address = 0xdf20, end address = 0xdf27
program memory: start address = 0xdf30, end address = 0xdf3b
program memory: start address = 0xdf4c, end address = 0xdf5b
program memory: start address = 0xdf6c, end address = 0xdf7f
program memory: start address = 0xdf88, end address = 0xdfd7
program memory: start address = 0xdff0, end address = 0xdff7
program memory: start address = 0xe010, end address = 0xe017
program memory: start address = 0xe030, end address = 0xe04b
program memory: start address = 0xe050, end address = 0xe067
program memory: start address = 0xe06c, end address = 0xe087
program memory: start address = 0xe08c, end address = 0xe0a7
program memory: start address = 0xe0ac, end address = 0xe0c3
program memory: start address = 0xe0c8, end address = 0xe0e3
program memory: start address = 0xe0e8, end address = 0xe103
program memory: start address = 0xe108, end address = 0xe123
program memory: start address = 0xe128, end address = 0xe13f
program memory: start address = 0xe144, end address = 0xe15f
program memory: start address = 0xe164, end address = 0xe17f
program memory: start address = 0xe184, end address = 0xe19f
program memory: start address = 0xe1a4, end address = 0xe1bf
program memory: start address = 0xe1c4, end address = 0xe1df
program memory: start address = 0xe1e4, end address = 0xe1fb
program memory: start address = 0xe204, end address = 0xe21b
program memory: start address = 0xe220, end address = 0xe23b
program memory: start address = 0xe240, end address = 0xe25b
program memory: start address = 0xe260, end address = 0xe27b
program memory: start address = 0xe280, end address = 0xe2db
program memory: start address = 0xe2ec, end address = 0xe2fb
program memory: start address = 0xe30c, end address = 0xe317
program memory: start address = 0xe320, end address = 0xe327
program memory: start address = 0xe330, end address = 0xe337
program memory: start address = 0xe33c, end address = 0xe34b
program memory: start address = 0xe350, end address = 0xe357
program memory: start address = 0xe35c, end address = 0xe36b
program memory: start address = 0xe370, end address = 0xe377
program memory: start address = 0xe37c, end address = 0xe38b
program memory: start address = 0xe390, end address = 0xe397
program memory: start address = 0xe39c, end address = 0xe3ab
program memory: start address = 0xe3b0, end address = 0xe3b7
program memory: start address = 0xe3bc, end address = 0xe3c7
program memory: start address = 0xe3cc, end address = 0xe3db
program memory: start address = 0xe3ec, end address = 0xe3fb
program memory: start address = 0xe408, end address = 0xe41b
program memory: start address = 0xe42c, end address = 0xe437
program memory: start address = 0xe440, end address = 0xe447
program memory: start address = 0xe44c, end address = 0xe457
program memory: start address = 0xe45c, end address = 0xe46b
program memory: start address = 0xe470, end address = 0xe477
program memory: start address = 0xe47c, end address = 0xe48b
program memory: start address = 0xe490, end address = 0xe497
program memory: start address = 0xe49c, end address = 0xe4ab
program memory: start address = 0xe4b0, end address = 0xe4b7
program memory: start address = 0xe4bc, end address = 0xe4cb
program memory: start address = 0xe4d0, end address = 0xe4d7
program memory: start address = 0xe4dc, end address = 0xe4eb
program memory: start address = 0xe4f0, end address = 0xe4f7
program memory: start address = 0xe4fc, end address = 0xe50b
program memory: start address = 0xe510, end address = 0xe517
program memory: start address = 0xe520, end address = 0xe527
program memory: start address = 0xe530, end address = 0xe537
program memory: start address = 0xe54c, end address = 0xe55b
program memory: start address = 0xe56c, end address = 0xe57f
program memory: start address = 0xe588, end address = 0xe5db
program memory: start address = 0xe5e8, end address = 0xe5f7
program memory: start address = 0xe60c, end address = 0xe617
program memory: start address = 0xe62c, end address = 0xe637
program memory: start address = 0xe63c, end address = 0xe647
program memory: start address = 0xe650, end address = 0xe657
program memory: start address = 0xe65c, end address = 0xe667
program memory: start address = 0xe670, end address = 0xe677
program memory: start address = 0xe67c, end address = 0xe68b
program memory: start address = 0xe690, end address = 0xe697
program memory: start address = 0xe69c, end address = 0xe6ab
program memory: start address = 0xe6b0, end address = 0xe6b7
program memory: start address = 0xe6bc, end address = 0xe6cb
program memory: start address = 0xe6d0, end address = 0xe6d7
program memory: start address = 0xe6dc, end address = 0xe6eb
program memory: start address = 0xe6f0, end address = 0xe6f7
program memory: start address = 0xe6fc, end address = 0xe707
program memory: start address = 0xe710, end address = 0xe717
program memory: start address = 0xe71c, end address = 0xe727
program memory: start address = 0xe730, end address = 0xe737
program memory: start address = 0xe740, end address = 0xe743
program memory: start address = 0xe750, end address = 0xe75b
program memory: start address = 0xe768, end address = 0xe76b
program memory: start address = 0xe770, end address = 0xe77f
program memory: start address = 0xe784, end address = 0xe78b
program memory: start address = 0xe790, end address = 0xe7ab
program memory: start address = 0xe7b0, end address = 0xe7cb
program memory: start address = 0xe7d0, end address = 0xe7eb
program memory: start address = 0xe7f0, end address = 0xe7f7
program memory: start address = 0xe7fc, end address = 0xe807
program memory: start address = 0xe810, end address = 0xe817
program memory: start address = 0xe81c, end address = 0xe827
program memory: start address = 0xe82c, end address = 0xe837
program memory: start address = 0xe84c, end address = 0xe85b
program memory: start address = 0xe868, end address = 0xe87f
program memory: start address = 0xe884, end address = 0xe92f
program memory: start address = 0xe934, end address = 0xe977
program memory: start address = 0xe97c, end address = 0xe9bf
program memory: start address = 0xe9c4, end address = 0xea0b
program memory: start address = 0xea10, end address = 0xea4b
program memory: start address = 0xea50, end address = 0xea53
program memory: start address = 0xea58, end address = 0xea6f
program memory: start address = 0xea74, end address = 0xea7b
program memory: start address = 0xea84, end address = 0xea93
program memory: start address = 0xea98, end address = 0xeaaf
program memory: start address = 0xeab4, end address = 0xeabb
program memory: start address = 0xeac0, end address = 0xeac7
program memory: start address = 0xeacc, end address = 0xeadb
program memory: start address = 0xeae0, end address = 0xeb03
program memory: start address = 0xeb08, end address = 0xeb4b
program memory: start address = 0xeb50, end address = 0xeb77
program memory: start address = 0xeb7c, end address = 0xeb93
program memory: start address = 0xeb98, end address = 0xebaf
program memory: start address = 0xebb4, end address = 0xebbf
program memory: start address = 0xebc4, end address = 0xebdb
program memory: start address = 0xebe0, end address = 0xebf7
program memory: start address = 0xec0c, end address = 0xec23
program memory: start address = 0xec28, end address = 0xec3f
program memory: start address = 0xec54, end address = 0xec6b
program memory: start address = 0xec70, end address = 0xecb3
program memory: start address = 0xecb8, end address = 0xece3
program memory: start address = 0xece8, end address = 0xecfb
program memory: start address = 0xed00, end address = 0xed13
program memory: start address = 0xed18, end address = 0xed2b
program memory: start address = 0xed30, end address = 0xed43
program memory: start address = 0xed48, end address = 0xed5b
program memory: start address = 0xed60, end address = 0xed73
program memory: start address = 0xed78, end address = 0xedb3
program memory: start address = 0xedb8, end address = 0xedbf
program memory: start address = 0xedc4, end address = 0xedd3
program memory: start address = 0xedd8, end address = 0xeddf
program memory: start address = 0xede4, end address = 0xedf3
program memory: start address = 0xedf8, end address = 0xedff
program memory: start address = 0xee04, end address = 0xee1f
program memory: start address = 0xee24, end address = 0xee4f
program memory: start address = 0xee54, end address = 0xee6f
program memory: start address = 0xee74, end address = 0xee83
program memory: start address = 0xee88, end address = 0xee8f
program memory: start address = 0xee94, end address = 0xeea3
program memory: start address = 0xeea8, end address = 0xeec3
program memory: start address = 0xeec8, end address = 0xeee3
program memory: start address = 0xeee8, end address = 0xef0b
program memory: start address = 0xef10, end address = 0xef27
program memory: start address = 0xef30, end address = 0xef47
program memory: start address = 0xef50, end address = 0xef67
program memory: start address = 0xef6c, end address = 0xef87
program memory: start address = 0xef8c, end address = 0x1ba33
configuration memory
EEData memory
User Id Memory

Programming/Verify complete

 
Don't see it on K40 part
Connecting to MPLAB Snap...

Currently loaded versions:
Application version............00.03.23
Boot version...................01.00.00
Script version.................00.03.33
Script build number............0540a22e50
Target device PIC18F27K40 found.
Device Id Revision = 0xa0030000
Erasing...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x7f
program memory: start address = 0xc380, end address = 0x1ba7f
configuration memory
EEData memory
User Id Memory

Programming/Verify complete

 
This fragmentation does not exist on PICKIT3
Connecting to MPLAB PICkit 3...

Currently loaded firmware on PICkit 3
Firmware Suite Version.....01.56.02
Firmware type..............Enhanced Midrange

Programmer to target power is enabled - VDD = 3.250000 volts.
Target device PIC18F27Q10 found.
Device Revision ID = a004

Device Erased...
Programming...

The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x1ba7f
configuration memory
EEData memory
User Id Memory

#4
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 15:43:22 (permalink)
0
I forced SNAP to program whole chip and now it's back to "normal" ~25sec.

 
Connecting to MPLAB Snap...
 
Currently loaded versions:
Application version............00.03.23
Boot version...................01.00.00
Script version.................00.03.33
Script build number............0540a22e50
Target device PIC18F27Q10 found.
Device Id Revision = 0xa0040000
 
Erasing...
 
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x1ffff
configuration memory
EEData memory
User Id Memory
 
Programming/Verify complete
 

#5
NKurzman
A Guy on the Net
  • Total Posts : 18402
  • Reward points : 0
  • Joined: 2008/01/16 19:33:48
  • Location: 0
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 15:52:48 (permalink)
0
So you were doing a Partial Programming and did not say?
 
Note: the SNAP only does Low voltage programming (Vpp)  The PICKit4 can to High or Low voltage programming  
 
#6
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 16:04:14 (permalink)
0
I am doing LVP on all devices, so this is apples to apples compare. I don't have PICKIT4
So you were doing a Partial Programming and did not say?

I was NOT doing partial programming
I had default setting "Allow SNAP to select programming ranges"
I changed it to "Manually specify ranges", and selected whole chip, even actual usage is less than 50%
 
So issue is still there...
BTW, K40 programming above done with "Allow SNAP to select programming ranges" and takes only 16 seconds.  
 
 
post edited by Andy123 - 2020/02/28 16:08:55
#7
NKurzman
A Guy on the Net
  • Total Posts : 18402
  • Reward points : 0
  • Joined: 2008/01/16 19:33:48
  • Location: 0
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 16:20:20 (permalink)
+1 (1)
Ok, That is different.  Try a Cross Post to the SNAP Forum.  
Other wise you will need to enter a Support Ticket.
Note PICKit4s will be out of Stock till mid May.
#8
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 16:30:40 (permalink)
0
I am not sure if this fragmented memory is the compiler/linker problem, and SNAP just struggling with these small segments.
It also does not explain why 3rd party programmer can program the same file in few seconds.

I have no plans to buy PICKIT4, we have invested in custom NDSP programmers. Unfortunately they cant do debugging.
post edited by Andy123 - 2020/02/28 17:29:42
#9
MShouk
New Member
  • Total Posts : 29
  • Reward points : 0
  • Joined: 2012/05/19 00:52:26
  • Location: Chandler, Arizona
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 18:13:16 (permalink) ☼ Best Answerby Andy123 2020/02/28 19:07:08
+2 (2)
Hello Andy.
 
The large number of fragmented ranges is causing problems with Snap in MPLAB 5.30. This is a known issue and is much improved in MPLAB 5.35 which you can download here: https://www.microchip.com/mplabx-ide-windows-installer
 
Please give it a try and see if there is improvement.
 
You are still better off though with programming the full range and I also recommend programming on High. Further improvements for this will be in future releases.
 
Another thing I can recommend is turning off programming the Data EEProm if you're not using it.
 
Hope this helps.
#10
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 18:37:44 (permalink)
0
Thank you for the link.
I did not know that 5.35 is available. Webpage is actually said 5.30...
I will try it
#11
Andy123
Super Member
  • Total Posts : 609
  • Reward points : 0
  • Joined: 2005/04/25 14:20:54
  • Status: offline
Re: PIC18F27Q10 programming time 2020/02/28 19:06:54 (permalink)
0
@Mshouk: Thank you for the link
MPLAB X 5.35 resolved the issue.
Programming takes about 25 seconds for "automatically Select Rages"
Still about 40% longer than K40 with the same code.
 
Manually selecting full range takes about 15 seconds - huge improvement from 4 minutes :)
Turning EEPROM programming off cuts it down to 8 seconds, but I actually need to load EEPROM values.
 
Now question: why compiler fragmented memory like that?
 
post edited by Andy123 - 2020/02/28 19:12:22
#12
GeorgePauley
Moderator
  • Total Posts : 1220
  • Reward points : 0
  • Joined: 2009/12/01 13:59:30
  • Location: Chandler AZ
  • Status: offline
Re: PIC18F27Q10 programming time 2020/03/02 10:39:08 (permalink)
+1 (1)
Andy123
I did not know that 5.35 is available. Webpage is actually said 5.30...


I think it released Friday.  And the text of the link is always 2-3 days behind the actually content of the link.
#13
Jump to:
© 2020 APG vNext Commercial Version 4.5