View previous topic :: View next topic |
Author |
Message |
aerodactyl
Joined: 22 Feb 2008 Posts: 14 Location: Germany
|
Compiler do not support 16F690 device!! |
Posted: Fri Feb 22, 2008 1:00 pm |
|
|
Hi guys,
I went through the forum search but I couldn't find a thread which could really help.
I have an easy question for you which couldn't be answered in the German PIC forum for which reason ever.
My CCS compiler is about 3-4 years old and it worked well in the past while I programmed 16F628, 16F628A as well as 12F675.
Now a new project was born in my mind and I need more ROM and RAM as I have in the 16F628A.
I desided to go for the 16F690, because of just 3V supply voltage with internal 4/8 MHz oscillator.
Unfortunately my compiler does not support this device.
Version PCM 3.188.
What can I do without buying a new version for about 160 EURO?
Looking forward for your answers
Best regards form Germany
Uwe |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Fri Feb 22, 2008 1:56 pm |
|
|
Hi Uwe,
There is an obvious reason. The PIC16F690 was released by Microchip in 2005.
The CCS compiler Version that you are using was released before.
Quote: |
My CCS compiler is about 3-4 years old and it worked well in the past while I programmed 16F628, 16F628A as well as 12F675.
|
PIC12F675 support was introduced in PCM Version 3.148
Humberto |
|
|
aerodactyl
Joined: 22 Feb 2008 Posts: 14 Location: Germany
|
|
Posted: Fri Feb 22, 2008 2:28 pm |
|
|
Hi Humberto,
Thanks for your fast reply.
Is there any change to get an update for my compiler? May be not for the latest version but with 16F690 insde??
Bye
Uwe |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Fri Feb 22, 2008 2:34 pm |
|
|
CCS Compiler updates doesn't behave in the way you expect.
If you add the 16F690.H file in the device folder of your actual version, it will not be
recognized nor invoked by the Compiler suite.
Additional info:
CCS Compiler releases:
PCM Version 3.190 was released on May 2004.
Microchip Releases. July 2005:
- PIC16F690/16F689/16F687/16F685-20 Pin
- PIC16F506/12F510
- PIC10F222/220
- PIC16F639-KeeLoq/AFE
- PICkittm 2
- PICDEM Mechatronics
- 4x4 QFN-8/14/20 Pin Midrange
Humberto |
|
|
aerodactyl
Joined: 22 Feb 2008 Posts: 14 Location: Germany
|
|
Posted: Sat Feb 23, 2008 7:10 am |
|
|
Hi Humberto,
I already tried just to add a header file named 16F690.h. You are right, it doesn't work.
Any other idea?
Do I have to buy new version?
It is just for hobby, not for commercial use.......
Saluti
Uwe |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Sat Feb 23, 2008 10:07 am |
|
|
Hi Uwe,
Transform this phrase:
"Do I have to buy new version?"
For this:
"I already have a new version !!!"
For only U$S150 !!! just do it, you will enjoy it !!!
You live in Germany, I live in Argentina.
Don´t forget, WE are the poors men!!!
kind regards,
Humberto |
|
|
aerodactyl
Joined: 22 Feb 2008 Posts: 14 Location: Germany
|
|
Posted: Sat Feb 23, 2008 11:44 am |
|
|
Quote: |
Don´t forget that you live in Germany, I live in Argentina, hence WE are the poors man!!! |
Hi Humberto,
that's depending of the point of view
160 EURO are 237 USD.
If you got it for 150$, lucky guy
I will go for the latest version within the next weeks. For starting the development I do not need the compiler.
So I can jump over at least the next 5 releases
Best regards to Argentina
Uwe |
|
|
RLScott
Joined: 10 Jul 2007 Posts: 465
|
|
Posted: Sat Feb 23, 2008 9:21 pm |
|
|
In a pinch you can compile code for one PIC that you do have on your old compiler (like the 16F628A), and then use the compiled code to program a different PIC, like the 16F690. There is just one little change you need to make to the Intel Hex file before you use it to program the new device. You must figure out the configuration word from the data sheet and hand-assemble that one line at the end of the file, along with its checksum. It is not too hard. Google "Intel Hex Format" to see how the checksum is figured. You could even write a simple Basic or C program to make this change for you instantly, every time you recompile. Just be aware that all addresses in the Intel Hex file are doubled because Intel Hex was designed for bytes and the PIC instructions are more than 1 byte long.
The 14-bit instruction core is the same for all 14-bit core PICs, so the instruction part of the code will be the same. But the configuration word (at address 2007 in the 16F690) varies greatly. The CCS compiler normally adds this in for you (showing up at address 400E in the Intel Hex file) using the data you supply in the #FUSE statements. You will have to ignore what the compiler puts there if you are using the "wrong" mode PIC, and then edit the Intel Hex file to put the correct config word in its place.
Another thing you may have to forego is reliance on built-in CCS functions to access the Special Function Registers (SFRs), because they may be different between different PICs. But you can write your own separate include file to define the correct addresses for the SFRs and then write to them yourself. Some people would find this a severe hardship. But I never use the CCS built-in functions for I/O anyway. I always write to the SFRs myself. And if you carefully check that a certain function on the 16F628A just happens to be implemented in exactly the same way on the 16F690, then you could go ahead and use the CCS library for accessing that particular funciton (like a CCP module). You might be lucky and find out that all the SFRs that you care about are implemented the same in the two chips, so you might not need to change any of your code.
So the bottom line is you can re-target the CCS compiler to a different model PIC if you don't mind adding the correct config word and avoiding the CCS functions that insulate you from the SFRs.
Robert Scott
Real-Time Specialties |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
|
aerodactyl
Joined: 22 Feb 2008 Posts: 14 Location: Germany
|
|
Posted: Sun Feb 24, 2008 11:43 am |
|
|
@Robert,
Thanks a lot for your detailed description. I will think about it. At the moment it looks a little bit complicated for me, but we will see. At least I will try your described version.
@Humberto
You are right. I'm a lucky guy
Best regards from Germany
Uwe |
|
|
kd5uzz
Joined: 28 May 2006 Posts: 56
|
|
Posted: Mon Feb 25, 2008 1:13 am |
|
|
One-Year Maintenance: $200 (134€) Would that work? |
|
|
aerodactyl
Joined: 22 Feb 2008 Posts: 14 Location: Germany
|
|
Posted: Wed Feb 27, 2008 12:49 pm |
|
|
@kd5uzz
This would help, but just for additional 11 month
Salut
Uwe |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Thu Mar 13, 2008 2:51 pm |
|
|
I'm also having problems with PIC16F690. I have a fairly old compiler: PCWH 3.240. It comes with 16F690.h header. Does anyone know had any problems related to 16F690? _________________ Read the label, before opening a can of worms. |
|
|
RLScott
Joined: 10 Jul 2007 Posts: 465
|
|
Posted: Fri Mar 14, 2008 7:51 am |
|
|
kender wrote: | I'm also having problems with PIC16F690. I have a fairly old compiler: PCWH 3.240. It comes with 16F690.h header. Does anyone know had any problems related to 16F690? |
What problems are you having? |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Fri Mar 14, 2008 2:29 pm |
|
|
RLScott wrote: | kender wrote: | I'm also having problems with PIC16F690. I have a fairly old compiler: PCWH 3.240. It comes with 16F690.h header. Does anyone know had any problems related to 16F690? |
What problems are you having? |
I've started another thread about this problem: http://www.ccsinfo.com/forum/viewtopic.php?t=34030, which is now solved. _________________ Read the label, before opening a can of worms. |
|
|
|