I summarizes the 16-bit PIC-MCU.
Thank you for your consideration.
16-bit PIC-MCU can be roughly classified into the following two in the method of writing Configure.
I think rationally is to classify the write method of the Configure the Type-E and Type-D.
Type-D:Method to write directly to the Configure
Type-E:Method to be written to the Configure User_flash_end(like a 18FJ)
①Size of the boot loader 128instr. both.
②Transfer format of flash the same as claudiu.chiculita.
PC_flash:L H U 96 [DataL DataH DataU]x32 crc
③Transfer format of the EEPROM are the same as claudiu.chiculita.
PC_eeprom:L H U 2 EEDataL EEDataH crc
Differences of Type-E and TYPE-D
①Order to transfer the Configure.
Type-D:Flash, EEPROM, Configure
Type-E:Configure, Flash
②Transfer number and format of the Configure.
Type-D:L H U C 2x9 (DataL DataH)x9 CRC
Type-E:L H U C 3x10 (DataL DataH 0)x10 CRC
Attachments.
①amendment of piccodes.ini
②Summarizes the number of transfers and format of the Configure
③Comparison of 16-bit PIC-MCU(Excel)
④firmware of the alpha version
PIC24FJ64GA002, dsPIC30F2012, dsPIC33FJ128GP202
It's amazing the how fast you can understand how a new microcontroller family work and create a firmware for it!!! You're a firmware "serial-maker" ;-)
About the family type ('D' or 'E'), I trust you. I know you will classify the PIC devices in the more efficient way. If you need it, you can create as many family type as you need ('G', 'H', 'I', etc...).
Thanks for all!
Best regards,
Edorul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'll try to implement type D and E in TinyBootloader but I'm not very optimistic. Because, if it's too difficult for you, it'll be impossible for me... :-s
Anyway, I'll inform you of my advancement :-) But, it'll be slow because I've a lot of work by now.
Best regards,
Edorul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
0.Do not rewrite the Configure data if the first data(L)=0x00
Reason)
1.Configure's address(UHL), L is not always 0x00
2.Because it makes a determination of the Configure above, identification of the Configure is unnecessary.
Dear Edorul.
I summarizes the 16-bit PIC-MCU.
Thank you for your consideration.
16-bit PIC-MCU can be roughly classified into the following two in the method of writing Configure.
I think rationally is to classify the write method of the Configure the Type-E and Type-D.
Type-D:Method to write directly to the Configure
Type-E:Method to be written to the Configure User_flash_end(like a 18FJ)
①Size of the boot loader 128instr. both.
②Transfer format of flash the same as claudiu.chiculita.
PC_flash:L H U 96 [DataL DataH DataU]x32 crc
③Transfer format of the EEPROM are the same as claudiu.chiculita.
PC_eeprom:L H U 2 EEDataL EEDataH crc
Differences of Type-E and TYPE-D
①Order to transfer the Configure.
Type-D:Flash, EEPROM, Configure
Type-E:Configure, Flash
②Transfer number and format of the Configure.
Type-D:L H U C 2x9 (DataL DataH)x9 CRC
Type-E:L H U C 3x10 (DataL DataH 0)x10 CRC
Attachments.
①amendment of piccodes.ini
②Summarizes the number of transfers and format of the Configure
③Comparison of 16-bit PIC-MCU(Excel)
④firmware of the alpha version
PIC24FJ64GA002, dsPIC30F2012, dsPIC33FJ128GP202
Best regards,
Dan
Last edit: Dan 2013-10-04
Hello Dan!
It's amazing the how fast you can understand how a new microcontroller family work and create a firmware for it!!! You're a firmware "serial-maker" ;-)
About the family type ('D' or 'E'), I trust you. I know you will classify the PIC devices in the more efficient way. If you need it, you can create as many family type as you need ('G', 'H', 'I', etc...).
Thanks for all!
Best regards,
Edorul
Dear Edorul.
Was cheers for good work update!!!
Thank you very much for the new version.
I thank you again.
Best regards,
Dan
Dear Edorul.
For the evaluation, it has been attempted to implementation of TYPE-E and TYPE-D to the host program,
It was too difficult for me.
For the evaluation of the new firmware, based on the design materials attached, I hope the implementation of TYPE-E and TYPE-D.
It is fine when you are available to do.
Thanks in advance..
Best regards,
Dan
Last edit: Dan 2013-10-11
.
Hello Dan !
I'll try to implement type D and E in TinyBootloader but I'm not very optimistic. Because, if it's too difficult for you, it'll be impossible for me... :-s
Anyway, I'll inform you of my advancement :-) But, it'll be slow because I've a lot of work by now.
Best regards,
Edorul
Dear Edorul.
Well noted.
Thanks in advance.
Best regards,
Dan
Dear Edorul.
I think better to make this change is good.
CONFIGURE (Type-E).
1.[Transfer data(HEX)]
;PC_cfg: L H U or 0x80 30 ... [CFGDataL CFGDataH 0]*10 ... crc
-------------------------------------------------->
;PC_cfg: L H U 30 ... [CFGDataL CFGDataH 0]*10 ... crc
2.[Points to keep in mind]
0.Carried out in 7-bit in the 3rd byte judgment of the Configure
0x80 ----> b10000000
-------------------------------------------------->
0.Do not rewrite the Configure data if the first data(L)=0x00
Reason)
1.Configure's address(UHL), L is not always 0x00
2.Because it makes a determination of the Configure above, identification of the Configure is unnecessary.
Best regards,
Dan