Hi, I am trying to get Timers.c executing on the ATMEL STK501 development board with the ATmega128 uC. I modified the AVRX makefile and Examples makefile to...
Nope, I am running the mega128 from the 3.686 MHz STK500 clock. I had tried that previously, but without success. I built a clean AVRX 2.6f with just the CPU...
Hi Justin, ... I just saw an email on the avr-libc list that may be relevant. It was mentioning that some types of optimizations are only available for the ...
Hi Dave, Thanks for the input. I commented out: #pragma optimize=z 4 And no luck. I think this is used for the IAR compiler. I am using the GCC compiler. ...
Ok, I have finally gotten the LEDs to flash. I disabled the Atmega 103 compatibility fuse for the STK500 using AVR studio. That was luck, I would have never...
Looking at the code for AvrXWaitTimer, the comment mentions that the routine must stay critical, but the routine itself comprises of only: subi p1l, lo8(-2)...
AvrXWaitTimer() simply decrements a pointer and "falls through" to the wait semaphore routine. It is, indeed, non-critical code since it is just adjusting the...
Ahhh, I see. Thanks! ... the wait ... just ... The ... critical section ... one and I ... there is a ... tells the ... time it ... makes no ... to make ... ...
Hello. I am a student from Indonesia . I am interested using AvrX in my project. My simple project is a RTC using DS1337. I make 3 task : task 1 (read data...
Hi, I need some info about the Message Queue functionality. The website does not provide the info I require. I have looked in the code, and it seems the...
It is up to you to manage the creation and destruction of queue elements. You could declare an array, you could use malloc(), etc. And yes, you need to wait...
Hi Larry, Can you please answer a few more questions. I presume your Message queues are multi-thread safe - more than one thread can read from a queue? Also,...
Yes, everything about AvrX is thread safe. If the queue is empty the tasks will queue onto the queue waiting. The first one to block will be the first to be...
Hello, my name is Daniel and I´m new in this group! I have a problem with tht compiling of the AvrX 2.6e modified to ATmega16. That is my error when I want to...
Hello, I have few questions. #1 I know that AvrX has 16 priority levels. How you could descripe these levels: 1 = highest and 16 = lowest, or how is this...
Four bits are reserved in the task data structure (PID) for the priority, hence 16 levels. This is archaic: I looked at the current code and apparently I...
Hi, Could anyone tell me why my task stop sometimes? Here is my example. This example is taken from tskIOwatcher.c module. TCB delayTmr is defined in main.c...
Dear all, I make a TWI in my AVRX program. But it doesn't work, i found that the program never enter the twi interrupt. my code for the interrupt are: ...
... I made a mistake, I can enter TWI interrupt, but can not save the local varible in the task Twislave, when TWI interrupt occured. I change the local...
Local and automatic variables are placed on the stack (or registers on the AVR, then the stack when full). Register values and the stack, in an interrupt...
Hello, everybody! I have a question in MessageQueue. MessageQueue have two members, one is the pointer to MessageControlBlock, the other one is <pProcessID...
The semaphore in the MessageQueue is for receivers to queue waiting for a message. It can also be used by senders that block waiting for a receiver. The...
Hi Larry, I have a question abbout local variables. In AvrX2.9f, some APIs using pointers and tempororary variables, such as (Z, temp3:temp2, temp1:temp0), but...
Avrx saves any registers needed to comply with GCC C calling conventions. IntProlog is preparing the current task for a context switch (from one set of...
Avrx saves any registers needed to comply with GCC C calling conventions. IntProlog is preparing the current task for a context switch (from one set of...
Fixed my problem, looks like register naming problem (maybe i have an older version of avrx). To fix added following to avrx_generatesinglestepinterrupt.S: ...
Hi Larry: IntProlog have such code: ldd R25, Y+_R25 ; need to restore this register (used for SREG) IntProlog use R25 to save SREG then push it. So the R25...