|
|
View previous topic :: View next topic |
Author |
Message |
teekay_tk Guest
|
bugs! |
Posted: Mon Jul 17, 2006 2:40 am |
|
|
hello all
is there a known bugs repository? |
|
|
Ttelmah Guest
|
|
Posted: Mon Jul 17, 2006 3:22 am |
|
|
Unfortunately, no.
There is a list in the download pages, of what is supposedly 'fixed' in each release, but anyone here, who has used the compiler for a long time, will tell you, that the actual changes between versions, far 'exceed' the stated fixes.
Any 'particular' area of concern to you?. The 'core' implementation of basic 'C', has been pretty stable for quite a while. There are some individual bugs with implementations on particular processors (incorrect initialisations etc.), and some significant weaknesses if you try to go 'complex' in data structures. There are also some 'differences', which are actually potentially useful, but do require some care from the programmer (the way that arithmetic 'type' is selected for a statement, defaults to not propagating 'up' along the statement - this is 'good', in the context of an embedded system, keeping the generated code sizes as small as possible, _but_ implies that the programmer must think 'through' the implications of arithmetic sizes, somewhat more carefully than might otherwise apply...).
At the current time, the compiler is fairly 'stable', but has more 'known bugs', than is perhaps usual. Normally, fixed versions appear at fairly short time intervals, as bugs are reported, but the development of the 3. releases, seems to have pretty much 'ceased', pending the new version.
Best Wishes |
|
|
teekay_tk Guest
|
|
Posted: Mon Jul 17, 2006 3:39 am |
|
|
Well
Basicly, I had bought in SD card fat 16 library. It worked fine with pic18lf8720 but when i used pic18f87j10, it hangs the pic if i have a write to file command in there. if i take out the command it works well, initilizes the sd card etc. but if the command is there in the code it will not start at all. so i am confused. i do not have resources like oscilloscopes etc for a few days but i have to get it done.
i cant share the code as well as it was bught under single use liscence
I think its got to do with how spi is implemented in the j10 series or something to do with the silicon but i may be worng
any advice please
cheers |
|
|
ckielstra
Joined: 18 Mar 2004 Posts: 3680 Location: The Netherlands
|
|
Posted: Mon Jul 17, 2006 4:09 am |
|
|
The PIC18F87J10 is a relative new chip so it is very well possible there are chip errata not yet incorporated in the compiler. I had a quick look at the chip errata document for this chip and found 4 hardware SPI related problems.
I suggest you send CCS an email asking them if and when they are going to incorporate work arounds for these problems. Most likely though these problems are so specific for your chip that you'll be low on CCS's priority list.
Quickest solution will probably be to study the errata document and create your own SPI replacement functions. |
|
|
Ttelmah Guest
|
|
Posted: Mon Jul 17, 2006 4:38 am |
|
|
As Ckielstra says, the j10, is 'new'. There is a known problem in the compiler with the chip calibration data (if you have the chip 'running', then presumably you are 'working round' this one), and several hardware issues. MicroChip, seem to have introduced a lot of bugs round the serial hardware (UART, and SPI),in their newer chips.
I'd start by looking at the listed hardware bugs, and seeing if you can implement the fixes to these,and if it still doesn't work, then talk to CCS.
Even without a scope, you should be able to perhaps add a breakpoint, right in front of the routine, and check what all the registers are set to.
Best Wishes |
|
|
teekay_tk Guest
|
|
Posted: Mon Jul 17, 2006 6:40 am |
|
|
thanks
can you explain "chip calibration data" please
thanks |
|
|
Ttelmah Guest
|
|
Posted: Mon Jul 17, 2006 7:20 am |
|
|
The J10 family handle the calibration data differently from existing PICs. The calibration memory (the things set by the 'fuses' statements in CCS), is _RAM_, not ROM. The data actually has to be programmed into the top few locations of the normal memory space, and the chip automatically copies this to the RAM during boot. Currently, the CCS compiler still places the data into the locations used on other PICs.
At present, you have to manually bodge round this, by setting the contents of this area with a statement like:
#ROM 0x1FFF8 = {configuration words required}
The address needs to be set to suit your chip.
Basically, anything you are setting in 'fuses' statements, is not being written to the chip at present.
I emailed CCS, with this bug a while ago, and they have confirmed it is a fault, and that it will be fixed in the 'next release'...
Best Wishes |
|
|
teekay_tk Guest
|
|
Posted: Mon Jul 17, 2006 7:59 am |
|
|
just checked my ccs version and i was using 3.30, now updated to the lastest one but no difference.
tried writing config bits to rom to no avail
so i will balme silicon, and for the time being just overclock my 87lf8720 to 40mhz
thanks for your help guys |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|