dave m

Show:

What's happening?

  • Followup: RE: xQueuePeek

    You might have good luck by starting with the xQueueReceiveFromISR code and modifying it appropriately. I just looked at that code for the first time, so this suggestion may miss a subtle and important point, but if you leave out "--( pxQueue->uxMessagesWaiting )" and the subsequent "if(){}else{}" block, you should be pretty close.

    2009-09-04 03:51:24 UTC in FreeRTOS Real Time Kernel

  • Followup: RE: Volatile variables

    "Sometimes," or "it depends." It's a compiler question, not a FreeRTOS issue. If a task that uses the variable does not call any subroutines (or if the compiler can prove that the subroutines it does call never alter the variable), then the optimizer may put the variable in a register temporary, or move the test outside a loop, or something like that. The...

    2009-08-27 14:42:09 UTC in FreeRTOS Real Time Kernel

  • Followup: RE: length of integral portCHAR portSHORT...

    I don't know what people generally do, but I might do it either way, depending on what I'm doing and why I want to know. If I'm writing code (so I have my editor, compiler and a test board all ready) I'll do main () { printf( "%d\n", sizeof(int) ); }. (But that's uncommon; if I'm writing code, I usually have a pretty good idea of the datatypes the target supports, and how to specify...

    2009-08-14 20:20:22 UTC in FreeRTOS Real Time Kernel

  • Followup: RE: length of integral portCHAR portSHORT...

    Yes, within the compilation of any set of files that are to be linked together successfully, the data types will be of fixed (and equal) lengths. (That is, all portCHARs will be the same size, which is usually 8 bits. All portSHORTs will be the same size, and usually 16 bits, etc.) The reason these are defined and used is so that you can change/fix things in one place if necessary. I'm not...

    2009-08-14 18:52:58 UTC in FreeRTOS Real Time Kernel

  • Followup: RE: freertos cygnal example problem in sdcc compi

    I haven't gotten FreeRTOS working on an 8051, but I have been working with the chip quite a bit recently. Those error messages are pretty clear: the 8051 only has between 128 and 256 bytes of "DATA" RAM. If your microcontroller has more, it'll be "external RAM" or "XRAM." The memory spaces are separate, and it's a hassle for the compiler (or for you) to get...

    2009-07-24 17:21:06 UTC in FreeRTOS Real Time Kernel

  • Followup: RE: xSemaphoreTake gets blocked

    I've written several FreeRTOS programs that run on Luminary chips. Interrupts work correctly, but you have to be careful about priority. Specifically, in the NVIC, lower-numbered priorities are higher. Also, there's an intermediate priority level (configMAX_SYSCALL_INTERRUPT_PRIORITY) above which you can't call FreeRTOS routines. There's a lot more information on the FreeRTOS website, but...

    2009-07-20 17:03:52 UTC in FreeRTOS Real Time Kernel

  • Followup: RE: tracecon utility for rtos

    I recently attempted to get FreeRTOS running on a SiLabs 8051 board, using SDCC-2.9.0. I didn't have much luck. I understand that earlier versions of SDCC worked better. I don't know how to generate the tab-delimited file you mention, but SDCC includes an 8051 simulator that -- I imagine -- would be able to run a FreeRTOS program if you could get it compiled. The simulator is called uCSim.

    2009-07-20 16:32:55 UTC in FreeRTOS Real Time Kernel

  • Comment: weird structure order error

    Hmmm, I didn't even check the code -- I assumed that nothing was generated because the message was an error, not a warning. My simple test program (allocate 2 nodes [which are structs with a dlnode as the first member], append to a list, then iterate through the list and print the nodes) seems to work OK. It's odd that different syntax makes a difference. I'd have thought the same parse tree...

    2009-07-07 06:14:15 UTC in Small Device C Compiler

  • Followup: RE: Cygnal Port: any success on smaller procs?

    Thanks for the confirmation -- it's nice to know that others have had similar problems. I suppose I'll have to figure out how to use the SDCC simulator & debugger. It's unlikely that I'll be able to figure out what's going on with just printf debugging.

    2009-07-07 05:05:48 UTC in FreeRTOS Real Time Kernel

  • 8051 XDATA Layout?

    I'm trying to find the end of allocated space in XDATA automatically, so that my malloc() can allocate memory from there to the end of the XRAM. Looking through the map file & friends, it appears that uninitialized (zero'd) XRAM lives after PDATA, and is followed by initialized XRAM variables. (This is different than what I'm used to on ARM and other procs, where initialized data is...

    2009-07-07 00:48:13 UTC in Small Device C Compiler

About Me

  • 2008-02-10 (2 years ago)
  • 2005555
  • spacewrench (My Site)
  • dave m

Send me a message