hello i wrote this program but i does not work, and the dspic crashes and resets periodically
i use a logic analyzer for watching the CLOCKOUT and GPIO, and the watchdog is disabled
the program counter never goes to the Blink task
but the timer 1 interrupt handler runs
did i make a mistake ? plz help!!!
THANKS :)
sorry for the bad formatting
define configUSE_PREEMPTION 1
define configUSEIDLEHOOK 1
define configUSETICKHOOK 0
define configTICKRATEHZ ( ( TickType_t ) 1000 )
define configCPUCLOCKHZ ( ( unsigned long ) 25000000 ) /* Fosc / 2 */
define configMAX_PRIORITIES ( 4 )
define configMINIMALSTACKSIZE ( 105 )
define configTOTALHEAPSIZE ( ( size_t ) 5120 )
define configMAXTASKNAME_LEN ( 4 )
define configUSETRACEFACILITY 0
define configUSE16BIT_TICKS 1
define configIDLESHOULDYIELD 1
/* Co-routine definitions. */
define configUSECOROUTINES 0
define configMAXCOROUTINE_PRIORITIES ( 2 )
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
define INCLUDE_vTaskPrioritySet 1
define INCLUDE_uxTaskPriorityGet 0
define INCLUDE_vTaskDelete 0
define INCLUDE_vTaskCleanUpResources 0
define INCLUDE_vTaskSuspend 1
define INCLUDE_vTaskDelayUntil 1
define INCLUDE_vTaskDelay 1
define configKERNELINTERRUPTPRIORITY 0x01
define configUSEPORTOPTIMISEDTASKSELECTION 0
endif /* FREERTOSCONFIGH */
include
include
include
include
void vApplicationIdleHook( void )
{
for(;;){
}
}
void Blink(void * p){
// unsigned long i;
for(;;){
LATA=0xff;
vTaskDelay(10);
LATA=0;
vTaskDelay(10);
}
}
/*
*
*/
int main(int argc, char** argv) {
TRISA=0;
xTaskCreate( Blink, "Blink", configMINIMAL_STACK_SIZE , NULL, 2, NULL );
vTaskStartScheduler();
for(;;){
}
return 0;
}
crashes and resets periodically
That makes it sound like the tasks starts running, but crashes/resets after a while.
the program counter never goes to the Blink task
That makes it sound like the task never starts running at all.
So I am confused as to how far you get in your application before the problem occurs. However, do you have the MPLABDSPICPORT symbol defined in your build options to tell the pre-processor to use the dsPIC version of the code rather than the PIC24 version?
Regards.
okay my mistake
i declared #define MPLABDSPICPORT on top of FreeRTOSConfig.h and all works fine now.
wrong assembly code caused exception and crash at switching context time.
problem solved
THANKS
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.