I would like to know how to embed the user ID using PBP? Can I use poke above memory 1FFFH?
I would like to know how to embed the user ID using PBP? Can I use poke above memory 1FFFH?
Hi,
From µChip MPLAB Programmers HELP :
From '628 DatasheetID Location : Program or verify the User ID. You can set the User ID by selecting Configure>ID Memory.
I'd recommend you to read The MPASM Help chapter relative to "__idlocs" ...14.10 User ID Locations
Four memory locations (2000h-2003h) are designated
as user ID locations where the user can store
checksum or other code-identification numbers. These
locations are not accessible during normal execution
but are readable and writable during Program/Verify.
Only the Least Significant 4 bits of the user ID locations
are used for checksum calculations although each
location has 14 bits.
I will become obvious for you, then ... even if you have a "non µChip" programmer.
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Déja-vue
Writing User ID
http://www.picbasic.co.uk/forum/showthread.php?t=7644&
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Wasn't it called " RTFM " in the good ol' Forum times ...deuhhh, yes there's an easier way.... Always nice to read MPASM PDF
Quand la censure ne coupait pas systématiquement tout ce qui pouvait ressembler à de l'humour ...
Mheuuuuunoon, je l'ai pas dit ...
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
hasquetèkon
![]()
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
From MPASM
For PIC18, I guess Darrel have the right ticket for that. Something based around the followingUsage
This directive is used in the following types of code: absolute or relocatable. For information on types of code, see Assembler Operation.
This directive is not commonly used, but does provide an easy method of serializing devices. __idlocs can be read by a programmer. PIC18 devices can read this value at run-time, but PIC12/16 devices cannot.
http://www.picbasic.co.uk/forum/showthread.php?t=4093
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
I found this snip on Microchip website
Code:// read serial number from PIC ID memory at address 0x200000 - 0x200007 DWORD ReadIDMemory(void) { DWORD IdMemory=0; DWORD Temp; BYTE i; TBLPTR = (unsigned short long) 0x200000; for(i=0;i<8;i++) { _asm TBLRDPOSTINC _endasm Temp=TABLAT; Temp<<=((7-i)*4); IdMemory+=Temp; } return IdMemory; }
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
I find these a little complicated and limited to 18 series.
My good old programmer, (ELNEC PIKprog+), is doing this serialization in a very good manner. Also gives an option where to store the serial number, so one can choose to store in EEPROM or Code space. Reading then is childs play.
Ooh, and it counts automatically of course with programmable step.
I'd like though to have this option on my ICD2. Maybe one day Microchip will do it. Hope I am alive then!
Ioannis
It is limited to PIC18 only if you want to access it at RunTime, unless most programmer are capable of reading the IDLOCS. And as you say, some also offer the automatic serialization, a nice plus.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Alright, I manage to get it to work now. Thanks for the info guys.
Bookmarks