2012-12-10, 12:19:39 (This post was last modified: 2012-12-25, 17:16:07 by Mikael Gustavsson.)
Hello
I've encountered a problem when using 18F67K22 with the latest version of ds30loader. After making the necessary changes to the source files I program the mcu with the bootloader hex-file. Directly after reset of the mcu I press the 'Check for bl' button and it reports firmware version and mcu model. However, if I press the button again it times out.
If I press the 'Write'-button directly after resetting the mcu it reports bl ready and that it found my device but when it's about to start writing it times out.
Im using a baud rate of 115200 and checking the signals with my logic analysator the communication itself looks OK. Also verified hardware and speed setup with my main program where communication works flawless. But for some reason the bootloader stops responding after it sent one packet, the first one.
This is the ouput after pressing 'Write' with option 'Write flash':
Code:
Initiating write...
Searching for bl .
Found PIC18F67K22 fw ver. 3.0.2
Waiting for the boot loader to be ready...ok
Parsing hexfile...
File timestamp: 2012-12-08 15:54:34
Opening hexfile...ok
Validating hexfile...ok
Hex file successfully parsed
Writing flash....response timed outfailed
Tx 7 bytes / Rx 4 bytes / 3,3s
Write failed
Updating with some output from the gui with 'Debug mode' activated.
Pressing the 'Write'-button just after mcu reset while flashed with only bootloader firmware.
Code:
Initiating write...
Creating port: USB Serial Port (COM11)
Opening port USB Serial Port (COM11)@115200
Searching for bl .
Found PIC18F67K22 fw ver. 3.0.2
Bootloader placement/size: 9/9
Waiting for the boot loader to be ready...ok
Hex file successfully parsed in 2ms
Writing flash....
Erasing page 0 @ 0x0000...response timed out
Write flash failed
Closing port
Tx 7 bytes / Rx 4 bytes / 3,2s
Write failed
Second output also with Debug mode activated in the gui
Code:
Initiating write...
Creating port: USB Serial Port (COM11)
Opening port USB Serial Port (COM11)@115200
Searching for bl .
Found PIC18F67K22 fw ver. 3.0.2
Bootloader placement/size: 9/9
Waiting for the boot loader to be ready...ok
Parsing hexfile...
File timestamp: 2012-12-17 15:16:26
Opening hexfile...ok
Validating hexfile...ok
Goto user app address: 0x1FB7C
User app address: 0xB3D2
Flash row 0 is used, 0x00 - 0x7F
Flash row 1 is used, 0x80 - 0xFF
Flash row 2 is used, 0x100 - 0x17F
Flash row 3 is used, 0x180 - 0x1FF
Flash row 4 is used, 0x200 - 0x27F
Flash row 5 is used, 0x280 - 0x2FF
Flash row 6 is used, 0x300 - 0x37F
Flash row 7 is used, 0x380 - 0x3FF
Flash row 8 is used, 0x400 - 0x47F
Flash row 9 is used, 0x480 - 0x4FF
Flash row 10 is used, 0x500 - 0x57F
Flash row 11 is used, 0x580 - 0x5FF
Flash row 12 is used, 0x600 - 0x67F
Flash row 13 is used, 0x680 - 0x6FF
Flash row 14 is used, 0x700 - 0x77F
Flash row 15 is used, 0x780 - 0x7FF
Flash row 16 is used, 0x800 - 0x87F
Flash row 17 is used, 0x880 - 0x8FF
Flash row 18 is used, 0x900 - 0x97F
Flash row 19 is used, 0x980 - 0x9FF
Flash row 20 is used, 0xA00 - 0xA7F
Flash row 21 is used, 0xA80 - 0xAFF
Flash row 22 is used, 0xB00 - 0xB7F
Flash row 23 is used, 0xB80 - 0xBFF
Flash row 24 is used, 0xC00 - 0xC7F
Flash row 25 is used, 0xC80 - 0xCFF
Flash row 26 is used, 0xD00 - 0xD7F
Flash row 27 is used, 0xD80 - 0xDFF
Flash row 28 is used, 0xE00 - 0xE7F
Flash row 29 is used, 0xE80 - 0xEFF
Flash row 30 is used, 0xF00 - 0xF7F
Flash row 31 is used, 0xF80 - 0xFFF
Flash row 32 is used, 0x1000 - 0x107F
Flash row 33 is used, 0x1080 - 0x10FF
Flash row 34 is used, 0x1100 - 0x117F
Flash row 35 is used, 0x1180 - 0x11FF
Flash row 36 is used, 0x1200 - 0x127F
Flash row 37 is used, 0x1280 - 0x12FF
Flash row 38 is used, 0x1300 - 0x137F
Flash row 39 is used, 0x1380 - 0x13FF
Flash row 40 is used, 0x1400 - 0x147F
Flash row 41 is used, 0x1480 - 0x14FF
Flash row 42 is used, 0x1500 - 0x157F
Flash row 43 is used, 0x1580 - 0x15FF
Flash row 44 is used, 0x1600 - 0x167F
Flash row 45 is used, 0x1680 - 0x16FF
Flash row 46 is used, 0x1700 - 0x177F
Flash row 47 is used, 0x1780 - 0x17FF
Flash row 48 is used, 0x1800 - 0x187F
Flash row 49 is used, 0x1880 - 0x18FF
Flash row 50 is used, 0x1900 - 0x197F
Flash row 51 is used, 0x1980 - 0x19FF
Flash row 52 is used, 0x1A00 - 0x1A7F
Flash row 53 is used, 0x1A80 - 0x1AFF
Flash row 54 is used, 0x1B00 - 0x1B7F
Flash row 55 is used, 0x1B80 - 0x1BFF
Flash row 56 is used, 0x1C00 - 0x1C7F
Flash row 57 is used, 0x1C80 - 0x1CFF
Flash row 58 is used, 0x1D00 - 0x1D7F
Flash row 59 is used, 0x1D80 - 0x1DFF
Flash row 60 is used, 0x1E00 - 0x1E7F
Flash row 61 is used, 0x1E80 - 0x1EFF
Flash row 62 is used, 0x1F00 - 0x1F7F
Flash row 63 is used, 0x1F80 - 0x1FFF
Flash row 64 is used, 0x2000 - 0x207F
Flash row 65 is used, 0x2080 - 0x20FF
Flash row 66 is used, 0x2100 - 0x217F
Flash row 67 is used, 0x2180 - 0x21FF
Flash row 68 is used, 0x2200 - 0x227F
Flash row 69 is used, 0x2280 - 0x22FF
Flash row 70 is used, 0x2300 - 0x237F
Flash row 71 is used, 0x2380 - 0x23FF
Flash row 72 is used, 0x2400 - 0x247F
Flash row 73 is used, 0x2480 - 0x24FF
Flash row 74 is used, 0x2500 - 0x257F
Flash row 75 is used, 0x2580 - 0x25FF
Flash row 76 is used, 0x2600 - 0x267F
Flash row 77 is used, 0x2680 - 0x26FF
Flash row 78 is used, 0x2700 - 0x277F
Flash row 79 is used, 0x2780 - 0x27FF
Flash row 80 is used, 0x2800 - 0x287F
Flash row 81 is used, 0x2880 - 0x28FF
Flash row 82 is used, 0x2900 - 0x297F
Flash row 83 is used, 0x2980 - 0x29FF
Flash row 84 is used, 0x2A00 - 0x2A7F
Flash row 85 is used, 0x2A80 - 0x2AFF
Flash row 86 is used, 0x2B00 - 0x2B7F
Flash row 87 is used, 0x2B80 - 0x2BFF
Flash row 88 is used, 0x2C00 - 0x2C7F
Flash row 89 is used, 0x2C80 - 0x2CFF
Flash row 90 is used, 0x2D00 - 0x2D7F
Flash row 91 is used, 0x2D80 - 0x2DFF
Flash row 92 is used, 0x2E00 - 0x2E7F
Flash row 93 is used, 0x2E80 - 0x2EFF
Flash row 94 is used, 0x2F00 - 0x2F7F
Flash row 95 is used, 0x2F80 - 0x2FFF
Flash row 96 is used, 0x3000 - 0x307F
Flash row 97 is used, 0x3080 - 0x30FF
Flash row 98 is used, 0x3100 - 0x317F
Flash row 99 is used, 0x3180 - 0x31FF
Flash row 100 is used, 0x3200 - 0x327F
Flash row 101 is used, 0x3280 - 0x32FF
Flash row 102 is used, 0x3300 - 0x337F
Flash row 103 is used, 0x3380 - 0x33FF
Flash row 104 is used, 0x3400 - 0x347F
Flash row 105 is used, 0x3480 - 0x34FF
Flash row 106 is used, 0x3500 - 0x357F
Flash row 107 is used, 0x3580 - 0x35FF
Flash row 108 is used, 0x3600 - 0x367F
Flash row 109 is used, 0x3680 - 0x36FF
Flash row 110 is used, 0x3700 - 0x377F
Flash row 111 is used, 0x3780 - 0x37FF
Flash row 112 is used, 0x3800 - 0x387F
Flash row 113 is used, 0x3880 - 0x38FF
Flash row 114 is used, 0x3900 - 0x397F
Flash row 115 is used, 0x3980 - 0x39FF
Flash row 116 is used, 0x3A00 - 0x3A7F
Flash row 117 is used, 0x3A80 - 0x3AFF
Flash row 118 is used, 0x3B00 - 0x3B7F
Flash row 119 is used, 0x3B80 - 0x3BFF
Flash row 120 is used, 0x3C00 - 0x3C7F
Flash row 121 is used, 0x3C80 - 0x3CFF
Flash row 122 is used, 0x3D00 - 0x3D7F
Flash row 123 is used, 0x3D80 - 0x3DFF
Flash row 124 is used, 0x3E00 - 0x3E7F
Flash row 125 is used, 0x3E80 - 0x3EFF
Flash row 126 is used, 0x3F00 - 0x3F7F
Flash row 127 is used, 0x3F80 - 0x3FFF
Flash row 128 is used, 0x4000 - 0x407F
Flash row 129 is used, 0x4080 - 0x40FF
Flash row 130 is used, 0x4100 - 0x417F
Flash row 131 is used, 0x4180 - 0x41FF
Flash row 132 is used, 0x4200 - 0x427F
Flash row 133 is used, 0x4280 - 0x42FF
Flash row 134 is used, 0x4300 - 0x437F
Flash row 135 is used, 0x4380 - 0x43FF
Flash row 136 is used, 0x4400 - 0x447F
Flash row 137 is used, 0x4480 - 0x44FF
Flash row 138 is used, 0x4500 - 0x457F
Flash row 139 is used, 0x4580 - 0x45FF
Flash row 140 is used, 0x4600 - 0x467F
Flash row 141 is used, 0x4680 - 0x46FF
Flash row 142 is used, 0x4700 - 0x477F
Flash row 143 is used, 0x4780 - 0x47FF
Flash row 144 is used, 0x4800 - 0x487F
Flash row 145 is used, 0x4880 - 0x48FF
Flash row 146 is used, 0x4900 - 0x497F
Flash row 147 is used, 0x4980 - 0x49FF
Flash row 148 is used, 0x4A00 - 0x4A7F
Flash row 149 is used, 0x4A80 - 0x4AFF
Flash row 150 is used, 0x4B00 - 0x4B7F
Flash row 151 is used, 0x4B80 - 0x4BFF
Flash row 152 is used, 0x4C00 - 0x4C7F
Flash row 153 is used, 0x4C80 - 0x4CFF
Flash row 154 is used, 0x4D00 - 0x4D7F
Flash row 155 is used, 0x4D80 - 0x4DFF
Flash row 156 is used, 0x4E00 - 0x4E7F
Flash row 157 is used, 0x4E80 - 0x4EFF
Flash row 158 is used, 0x4F00 - 0x4F7F
Flash row 159 is used, 0x4F80 - 0x4FFF
Flash row 160 is used, 0x5000 - 0x507F
Flash row 161 is used, 0x5080 - 0x50FF
Flash row 162 is used, 0x5100 - 0x517F
Flash row 163 is used, 0x5180 - 0x51FF
Flash row 164 is used, 0x5200 - 0x527F
Flash row 165 is used, 0x5280 - 0x52FF
Flash row 166 is used, 0x5300 - 0x537F
Flash row 167 is used, 0x5380 - 0x53FF
Flash row 168 is used, 0x5400 - 0x547F
Flash row 169 is used, 0x5480 - 0x54FF
Flash row 170 is used, 0x5500 - 0x557F
Flash row 171 is used, 0x5580 - 0x55FF
Flash row 172 is used, 0x5600 - 0x567F
Flash row 173 is used, 0x5680 - 0x56FF
Flash row 174 is used, 0x5700 - 0x577F
Flash row 175 is used, 0x5780 - 0x57FF
Flash row 176 is used, 0x5800 - 0x587F
Flash row 177 is used, 0x5880 - 0x58FF
Flash row 178 is used, 0x5900 - 0x597F
Flash row 179 is used, 0x5980 - 0x59FF
Flash row 180 is used, 0x5A00 - 0x5A7F
Flash row 181 is used, 0x5A80 - 0x5AFF
Flash row 182 is used, 0x5B00 - 0x5B7F
Flash row 183 is used, 0x5B80 - 0x5BFF
Flash row 184 is used, 0x5C00 - 0x5C7F
Flash row 185 is used, 0x5C80 - 0x5CFF
Flash row 186 is used, 0x5D00 - 0x5D7F
Flash row 187 is used, 0x5D80 - 0x5DFF
Flash row 188 is used, 0x5E00 - 0x5E7F
Flash row 189 is used, 0x5E80 - 0x5EFF
Flash row 190 is used, 0x5F00 - 0x5F7F
Flash row 191 is used, 0x5F80 - 0x5FFF
Flash row 192 is used, 0x6000 - 0x607F
Flash row 193 is used, 0x6080 - 0x60FF
Flash row 194 is used, 0x6100 - 0x617F
Flash row 195 is used, 0x6180 - 0x61FF
Flash row 196 is used, 0x6200 - 0x627F
Flash row 197 is used, 0x6280 - 0x62FF
Flash row 198 is used, 0x6300 - 0x637F
Flash row 199 is used, 0x6380 - 0x63FF
Flash row 200 is used, 0x6400 - 0x647F
Flash row 201 is used, 0x6480 - 0x64FF
Flash row 202 is used, 0x6500 - 0x657F
Flash row 203 is used, 0x6580 - 0x65FF
Flash row 204 is used, 0x6600 - 0x667F
Flash row 205 is used, 0x6680 - 0x66FF
Flash row 206 is used, 0x6700 - 0x677F
Flash row 207 is used, 0x6780 - 0x67FF
Flash row 208 is used, 0x6800 - 0x687F
Flash row 209 is used, 0x6880 - 0x68FF
Flash row 210 is used, 0x6900 - 0x697F
Flash row 211 is used, 0x6980 - 0x69FF
Flash row 212 is used, 0x6A00 - 0x6A7F
Flash row 213 is used, 0x6A80 - 0x6AFF
Flash row 214 is used, 0x6B00 - 0x6B7F
Flash row 215 is used, 0x6B80 - 0x6BFF
Flash row 216 is used, 0x6C00 - 0x6C7F
Flash row 217 is used, 0x6C80 - 0x6CFF
Flash row 218 is used, 0x6D00 - 0x6D7F
Flash row 219 is used, 0x6D80 - 0x6DFF
Flash row 220 is used, 0x6E00 - 0x6E7F
Flash row 221 is used, 0x6E80 - 0x6EFF
Flash row 222 is used, 0x6F00 - 0x6F7F
Flash row 223 is used, 0x6F80 - 0x6FFF
Flash row 224 is used, 0x7000 - 0x707F
Flash row 225 is used, 0x7080 - 0x70FF
Flash row 226 is used, 0x7100 - 0x717F
Flash row 227 is used, 0x7180 - 0x71FF
Flash row 228 is used, 0x7200 - 0x727F
Flash row 229 is used, 0x7280 - 0x72FF
Flash row 230 is used, 0x7300 - 0x737F
Flash row 231 is used, 0x7380 - 0x73FF
Flash row 232 is used, 0x7400 - 0x747F
Flash row 233 is used, 0x7480 - 0x74FF
Flash row 234 is used, 0x7500 - 0x757F
Flash row 235 is used, 0x7580 - 0x75FF
Flash row 236 is used, 0x7600 - 0x767F
Flash row 237 is used, 0x7680 - 0x76FF
Flash row 238 is used, 0x7700 - 0x777F
Flash row 239 is used, 0x7780 - 0x77FF
Flash row 240 is used, 0x7800 - 0x787F
Flash row 241 is used, 0x7880 - 0x78FF
Flash row 242 is used, 0x7900 - 0x797F
Flash row 243 is used, 0x7980 - 0x79FF
Flash row 244 is used, 0x7A00 - 0x7A7F
Flash row 245 is used, 0x7A80 - 0x7AFF
Flash row 246 is used, 0x7B00 - 0x7B7F
Flash row 247 is used, 0x7B80 - 0x7BFF
Flash row 248 is used, 0x7C00 - 0x7C7F
Flash row 249 is used, 0x7C80 - 0x7CFF
Flash row 250 is used, 0x7D00 - 0x7D7F
Flash row 251 is used, 0x7D80 - 0x7DFF
Flash row 252 is used, 0x7E00 - 0x7E7F
Flash row 253 is used, 0x7E80 - 0x7EFF
Flash row 254 is used, 0x7F00 - 0x7F7F
Flash row 255 is used, 0x7F80 - 0x7FFF
Flash row 256 is used, 0x8000 - 0x807F
Flash row 257 is used, 0x8080 - 0x80FF
Flash row 258 is used, 0x8100 - 0x817F
Flash row 259 is used, 0x8180 - 0x81FF
Flash row 260 is used, 0x8200 - 0x827F
Flash row 261 is used, 0x8280 - 0x82FF
Flash row 262 is used, 0x8300 - 0x837F
Flash row 263 is used, 0x8380 - 0x83FF
Flash row 264 is used, 0x8400 - 0x847F
Flash row 265 is used, 0x8480 - 0x84FF
Flash row 266 is used, 0x8500 - 0x857F
Flash row 267 is used, 0x8580 - 0x85FF
Flash row 268 is used, 0x8600 - 0x867F
Flash row 269 is used, 0x8680 - 0x86FF
Flash row 270 is used, 0x8700 - 0x877F
Flash row 271 is used, 0x8780 - 0x87FF
Flash row 272 is used, 0x8800 - 0x887F
Flash row 273 is used, 0x8880 - 0x88FF
Flash row 274 is used, 0x8900 - 0x897F
Flash row 275 is used, 0x8980 - 0x89FF
Flash row 276 is used, 0x8A00 - 0x8A7F
Flash row 277 is used, 0x8A80 - 0x8AFF
Flash row 278 is used, 0x8B00 - 0x8B7F
Flash row 279 is used, 0x8B80 - 0x8BFF
Flash row 280 is used, 0x8C00 - 0x8C7F
Flash row 281 is used, 0x8C80 - 0x8CFF
Flash row 282 is used, 0x8D00 - 0x8D7F
Flash row 283 is used, 0x8D80 - 0x8DFF
Flash row 284 is used, 0x8E00 - 0x8E7F
Flash row 285 is used, 0x8E80 - 0x8EFF
Flash row 286 is used, 0x8F00 - 0x8F7F
Flash row 287 is used, 0x8F80 - 0x8FFF
Flash row 288 is used, 0x9000 - 0x907F
Flash row 289 is used, 0x9080 - 0x90FF
Flash row 290 is used, 0x9100 - 0x917F
Flash row 291 is used, 0x9180 - 0x91FF
Flash row 292 is used, 0x9200 - 0x927F
Flash row 293 is used, 0x9280 - 0x92FF
Flash row 294 is used, 0x9300 - 0x937F
Flash row 295 is used, 0x9380 - 0x93FF
Flash row 296 is used, 0x9400 - 0x947F
Flash row 297 is used, 0x9480 - 0x94FF
Flash row 298 is used, 0x9500 - 0x957F
Flash row 299 is used, 0x9580 - 0x95FF
Flash row 300 is used, 0x9600 - 0x967F
Flash row 301 is used, 0x9680 - 0x96FF
Flash row 302 is used, 0x9700 - 0x977F
Flash row 303 is used, 0x9780 - 0x97FF
Flash row 304 is used, 0x9800 - 0x987F
Flash row 305 is used, 0x9880 - 0x98FF
Flash row 306 is used, 0x9900 - 0x997F
Flash row 307 is used, 0x9980 - 0x99FF
Flash row 308 is used, 0x9A00 - 0x9A7F
Flash row 309 is used, 0x9A80 - 0x9AFF
Flash row 310 is used, 0x9B00 - 0x9B7F
Flash row 311 is used, 0x9B80 - 0x9BFF
Flash row 312 is used, 0x9C00 - 0x9C7F
Flash row 313 is used, 0x9C80 - 0x9CFF
Flash row 314 is used, 0x9D00 - 0x9D7F
Flash row 315 is used, 0x9D80 - 0x9DFF
Flash row 316 is used, 0x9E00 - 0x9E7F
Flash row 317 is used, 0x9E80 - 0x9EFF
Flash row 318 is used, 0x9F00 - 0x9F7F
Flash row 319 is used, 0x9F80 - 0x9FFF
Flash row 320 is used, 0xA000 - 0xA07F
Flash row 321 is used, 0xA080 - 0xA0FF
Flash row 322 is used, 0xA100 - 0xA17F
Flash row 323 is used, 0xA180 - 0xA1FF
Flash row 324 is used, 0xA200 - 0xA27F
Flash row 325 is used, 0xA280 - 0xA2FF
Flash row 326 is used, 0xA300 - 0xA37F
Flash row 327 is used, 0xA380 - 0xA3FF
Flash row 328 is used, 0xA400 - 0xA47F
Flash row 329 is used, 0xA480 - 0xA4FF
Flash row 330 is used, 0xA500 - 0xA57F
Flash row 331 is used, 0xA580 - 0xA5FF
Flash row 332 is used, 0xA600 - 0xA67F
Flash row 333 is used, 0xA680 - 0xA6FF
Flash row 334 is used, 0xA700 - 0xA77F
Flash row 335 is used, 0xA780 - 0xA7FF
Flash row 336 is used, 0xA800 - 0xA87F
Flash row 337 is used, 0xA880 - 0xA8FF
Flash row 338 is used, 0xA900 - 0xA97F
Flash row 339 is used, 0xA980 - 0xA9FF
Flash row 340 is used, 0xAA00 - 0xAA7F
Flash row 341 is used, 0xAA80 - 0xAAFF
Flash row 342 is used, 0xAB00 - 0xAB7F
Flash row 343 is used, 0xAB80 - 0xABFF
Flash row 344 is used, 0xAC00 - 0xAC7F
Flash row 345 is used, 0xAC80 - 0xACFF
Flash row 346 is used, 0xAD00 - 0xAD7F
Flash row 347 is used, 0xAD80 - 0xADFF
Flash row 348 is used, 0xAE00 - 0xAE7F
Flash row 349 is used, 0xAE80 - 0xAEFF
Flash row 350 is used, 0xAF00 - 0xAF7F
Flash row 351 is used, 0xAF80 - 0xAFFF
Flash row 352 is used, 0xB000 - 0xB07F
Flash row 353 is used, 0xB080 - 0xB0FF
Flash row 354 is used, 0xB100 - 0xB17F
Flash row 355 is used, 0xB180 - 0xB1FF
Flash row 356 is used, 0xB200 - 0xB27F
Flash row 357 is used, 0xB280 - 0xB2FF
Flash row 358 is used, 0xB300 - 0xB37F
Flash row 359 is used, 0xB380 - 0xB3FF
Flash row 1014 is used, 0x1FB00 - 0x1FB7F
Config word 0 is used, value: 0x08
Config word 1 is used, value: 0x13
Config word 2 is used, value: 0x14
Config word 3 is used, value: 0x22
Config word 4 is used, value: 0x00
Config word 5 is used, value: 0x88
Config word 6 is used, value: 0x81
Config word 8 is used, value: 0xFF
Config word 9 is used, value: 0xC0
Config word 10 is used, value: 0xFF
Config word 11 is used, value: 0xE0
Config word 12 is used, value: 0xFF
Config word 13 is used, value: 0x40
Bootloader start address: 0x1FB80
Bootloader end address: 0x1FFFF
Bootloader start page: 1015
Bootloader end page: 1023
Bootloader start row: 1015
Bootloader end row: 1023
Hex file successfully parsed in 40ms
Writing flash....
Erasing page 0 @ 0x0000...response timed out
Write flash failed
Closing port
Tx 7 bytes / Rx 4 bytes / 3,2s
Write failed
- watchdog has been both activated and de-activated with same result as above.
- errata of this device states that in synchronous mode with high baudrates the data may become corrupt. However this bl works in async mode and my application itself has shoveled some hundred thousands packets with the same uart settings I specified in the bl. So that should be a non-issue here.
So far I have tried the usual stuff, change baudrate, fosc source, disable/enable PLL, triple checked the config words etc...
I will start a more indepth search to find this problem tonight. Will have to crosscheck the source files of this bl project with the sources I got working on another device to begin with and if there's no apparant error/difference I'll go with old "trig-led"
I could not see any difference (except mcu, and speed) between my current project source compared to the earlier source which is confirmed to work on a 25K20/22 mcu.
As I continued to measure and try different settings I added a bsf command in the user code space to the mcu pin (RD7) that controls a relay on my board. Basically I wanted to hear the click when the relay switches state as a reassurance that the user code space is executed without having to measure.
Anyways, the relay switches state upon startup and I continue by pressing the 'Write'-button.
What happens here is puzzling me, the relay drops again as if mcu gets reset. So I started measure the pins and sure enough, everytime I press 'Write' the mcu resets and gets stuck there. Only way to bring it out of that state is cycle power or MCLR-pin.
This does not occur with 'Check BL' and config STVREN On or Off makes no difference.
Your attached file, uart.inc, seems to do the trick. So far I can verify that 'Check bl' and 'Write' works like a charm. I will do some more tests with Reset commands, power off/mclr reset etc... But so far it is working great.