FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [October 2014 Threads] periodic reset, no source code lines were foundPosted by tomirtos on October 13, 2014 Hi everyone!
I have narrowed down my problem a little. Maybe now someone can point me into the right direction.
So I am using a dspic33fj128mc802 with mplabX. I made a new project and in that project I just created a task that just adds 1 to a variable.
The problem is that when in debug mode the compiler keeps telling me that
No source code lines were found at current PC 0x29e
No source code lines were found at current PC 0x0
I have used mallocfailedhook function and it doesn't gets called so its not a stack problem.
In the debugging program memory I can see that at 0x29e the program steps on a reset, and I have no idea why or how I can prevent this. Can please someone suggest a way of getting around this?
~~~~~~~
0270 TBLRDL.B [W1++], [W2++]
DEC W3, W3
BRA Z, 0x28E
TBLRDL.B [W1--], [W2++]
DEC W3, W3
BRA Z, 0x28C
CP0 W4
BRA NZ, 0x286
ADD W1, #0x2, W1
ADDC TBLPAG
BRA _memcpypd3std
TBLRDH.B [W1], [W2++]
DEC W3, W3
BRA NZ, 0x280
INC W1, W1
ADD W1, #0x1, W1
ADDC TBLPAG
RETURN
GOTO prvIdleTask
NOP
GOTO send_task
NOP
029c BREAK
029E RESET
~~~~~~~
the send_task function
~~~~~~~~~~
void send_task(void *p)
{
while (1)
{
A=A+1;
vTaskDelay(500);
}
}
~~~~~~~~~~~
The main function:
~~~~~~~~~~
int main (void)
{
pll_setup(); // set internal oscillator to 80MHz-->40MIPS FCY=Fosc/2
xTaskCreate(sendtask, "sendtask", 16, NULL, 1, NULL);
vTaskStartScheduler();
return 0;
}
~~~~~~~~~~
Also is that normal that the heap address is 0 and maximum length is 0 as well?
~~~~~~~~~~~~~
Dynamic Memory Usage
region address maximum length (dec)
heap 0 0 (0)
stack 0x1d06 0x2afa (11002)
~~~~~~~~~~~~~~
periodic reset, no source code lines were foundPosted by rtel on October 13, 2014 I don't understand the asm output, but you still don't seem to be setting a proper stack size for your task. In your previous post it was absolutely massive - in fact using up half the RAM on the chip - now it it way too small. Why don't use use the value 105 as per the examples in the download?
Regards.
periodic reset, no source code lines were foundPosted by davedoors on October 13, 2014
Also is that normal that the heap address is 0 and maximum length is 0 as well?
The address depends on the the chip. Does it have RAM at address 0? The size depends on your linker script.
In any case if you are using any of the heap implementations other than heap_3 you don't need a heap to be defined by the compiler.
periodic reset, no source code lines were foundPosted by tomirtos on October 13, 2014 Stack size of 105 is not good either. I have tried a lot of stack sizes to be sure. To be exact all the powers of two. 2-4-8 ..... 256 512 etc. I also turned watchdog timer off, so that wont cause the resetting either.
I am using heap_1. At address 0x0 theres is a GOTO instruction. and after that there are is the interrupt vector table.
periodic reset, no source code lines were foundPosted by tomirtos on October 13, 2014 Is there any more information I should be giving about the problem?
periodic reset, no source code lines were foundPosted by rtel on October 13, 2014 If your project is self contained, in that it can be built on any
computer without any absolute path names, then zip it up and send it to
us using the business contact email address on
http://www.freertos.org/contact
Regards.
periodic reset, no source code lines were foundPosted by tomirtos on October 13, 2014 Thank you for the offer. I've compressed it and sent it to the email.
It has no absolute path names.
( Except I am using p33FJ128MC802.h and libpic30.h files which are not in the project directory. )
periodic reset, no source code lines were foundPosted by rtel on October 13, 2014 If I run your project as you sent it then I get the same problem you do. However if I define MPLABDSPICPORT in the project options (as I think was mentioned in the original reply to the first post in your other thread) then I find the first task starts as expected.
Reagrds.
periodic reset, no source code lines were foundPosted by tomirtos on October 13, 2014 Thank you for checking out my code. I've reread my previous thread and I couldn't find any mention of MPLABDSPICPORT.
Nevertheless I am very thankful for your constant help and support!
Probably I'm getting on your nerves, but can you explain it in a little bit more detail how to define MPLABDSPICPORT in the project options in mplabX?
periodic reset, no source code lines were foundPosted by rtel on October 13, 2014 As we use some 18 different compilers I'm afraid we have to limit the
support we provide to FreeRTOS related topics - besides which a question
about using MPLAB X is best posted Microchip's forum which is dedicated
to MPLAB X as that is where other users with the same question will look.
Before posting there however I would suggest looking up how to set
compiler and preprocessor options in the MPLAB X manual. As the
compiler is basically GCC you could even add the definition using the
GCC command line options - but that would still require looking up how
to set your project options.
Finally entering "MPLAB X Preprocessor Macro" into Google will probably
tell you the answer too.
Regards.
periodic reset, no source code lines were foundPosted by tomirtos on October 13, 2014 Thank you. This is only what I need. I didn't even know how to start searching for this in google.
Thanks a million!!
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|