Samuel W.
- Total activity 13
- Last activity
- Member since
- Following 0 users
- Followed by 0 users
- Votes 0
- Subscriptions 1
Comments
Recent activity by Samuel W. Sort by recent activity-
Hi Yuriy, It isn't that I didn't want to use the C++ drivers. I didn't know where to find "RxBuffer.h" and "TxBuffer.h" so I couldn't get them to compile. I decided to strip the project down to ...
-
Hi Yuriy. I branched your project on github... here is my fix. https://github.com/swinchen/FreeRTOS_on_xmega/tree/fix I am sorry the layout has changed so radically, but for testing (and my ne...
-
Hi Yuriy. No, I don't think limiting tasks to the first 128k is too much of a problem. If someone REALLY needed to they could: struct taskParameters { uint32_t funcAddr; ... ... }; ...
-
Hi Richard, There may have been a misunderstanding. I don't think the fact that size of a function pointer is not large enough to cover the entire address space is a bug (or even a huge problem re...
-
usAddress = (uint32_t)((uint16_t)pxCode); This seems to fix it. I now have tasks running in an address above 64k. I am still limited to keeping tasks below 128k but this is a compiler problem, not...
-
Hi Richard. This size of pdTASK_CODE is 16 bit. Obviously you know that this is a function pointer :). usAddress = (uint32_t) pxCode; It seems like I (actually Yuriy) is storing a 16 bit valu...
-
Yuck! I think I found something even worse: typedef void (*pdTASK_CODE)( void * ); //projdefs.h sizeof(pdTASK_CODE) == 2 So basically this must mean that you can only have tasks in first 128kB...
-
Well I think I found the problem and it has nothing to do with the stack, EIND, or the RAMP registers.... usAddress = (uint32_t) pxCode; In this line of code (from pxPortInitialiseStack) pxCode is ...
-
Hi Yuriy, Sorry! I didn't have a firm understanding on what the RAMP/EIND registers were for. I understand more clearly now Here is the test project I am working with. I have made several chang...
-
Hrmmm, interesting. I thought about initializing the EIND register based on pxCode in pxPortInitialiseStack: *pxTopOfStack = ( portSTACK_TYPE ) (pxCode >> 16); /* 3c EIND */pxTopOfStack--; But pxC...