Pumpkin, Inc.

Pumpkin User Forums

PICC18 + OSSPEEDUP_QUEUING = bad code

If you think you've found a bug or other mistake in your Salvo distribution, post it here.

PICC18 + OSSPEEDUP_QUEUING = bad code

Postby jtemples » Mon Jan 20, 2003 6:15 am

This isn't a Salvo problem, but a PICC18 problem that affects Salvo:

With PICC18 8.20 PL3 and OSSPEEDUP_QUEUING defined, and optimization disabled, the compiler will generate bad code for qins.c, apparently in both OSInsDelayQ and OSInsPrioQ.

I haven't spent the time to try to track the problem down beyond this. Optimizing qins.c or disabling OSSPEEDUP_QUEUING results in correct code.

jtemples
 
Posts: 45
Joined: Tue Jul 16, 2002 11:00 pm

Re: PICC18 + OSSPEEDUP_QUEUING = bad code

Postby aek » Thu Jan 23, 2003 9:34 am

Hmmm ... I tried it with v8.20PL2, OSSPEEDUP_QUEUEING (note spelling) set to TRUE, and all combinations of assembler and global optimizations --- no problems. Perhaps it's just a PL3 problem?

I did the tests with salvodemod1sysfd1.pjt. If you can reproduce on that, email to HI-TECH and they should be able to do it, too.

The quickest way to test is in MPLAB's v5 Edit Project -- you can Build Node directly for a single file --- check/uncheck the optimization boxes, and also you can define or undefine a symbol in there, too.

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: PICC18 + OSSPEEDUP_QUEUING = bad code

Postby jtemples » Thu Jan 23, 2003 10:08 am

Yes, it's a PL3 issue; the code built correctly in PL2. I haven't tried it with PL4 yet; I've just disabled that directive for safety. PL4 introduced too many new problems for me to be able to spend time on this one...
jtemples
 
Posts: 45
Joined: Tue Jul 16, 2002 11:00 pm

Re: PICC18 + OSSPEEDUP_QUEUING = bad code

Postby jtemples » Wed Jan 29, 2003 10:49 am

I ran into this again today on a different project, and spent a little more time on it.

With the PICC-18 8.20PL4 compiler and latest code generator, compiling qins.c without -Zg left me with non-working code. It was fine with -Zg. This was building for an 18F6720.
This project wasn't using OSSPEEDUP_QUEUEING, so I think that was a red herring.

[This message has been edited by jtemples (edited January 29, 2003).]

jtemples
 
Posts: 45
Joined: Tue Jul 16, 2002 11:00 pm

Re: PICC18 + OSSPEEDUP_QUEUING = bad code

Postby aek » Thu Jan 30, 2003 11:06 am

Can you elaborate on which part of qins.c is non-working?

------------------

-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm


Return to Bug Reports

Who is online

Users browsing this forum: No registered users and 2 guests

cron