Samuel W.
- Total activity 13
- Last activity
- Member since
- Following 0 users
- Followed by 0 users
- Votes 0
- Subscriptions 1
Activity overview
Latest activity by Samuel W.-
Samuel W. commented,
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 ...
-
Samuel W. commented,
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...
-
Samuel W. commented,
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; ... ... }; ...
-
Samuel W. commented,
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...
-
Samuel W. commented,
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...
-
Samuel W. commented,
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 ...
-
Samuel W. commented,
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...
-
Samuel W. commented,
Hrmmm, interesting. I thought about initializing the EIND register based on pxCode in pxPortInitialiseStack: *pxTopOfStack = ( portSTACK_TYPE ) (pxCode >> 16); /* 3c EIND */pxTopOfStack--; But pxC...
-
Samuel W. commented,
Here is what I have done so far. I modified the linker script (avrxmega7.x) as follows:... text (rx) : ORIGIN = 0, LENGTH = 1024K highmem (rx) : ORIGIN = 65536, LENGTH = 64K data (rw!x) : ORIGIN = ...
-
Samuel W. commented,
Hi Yuri, I noticed in your port that the code to save to RAMP and EIND registers is commented out. What is the reason for this? It seems like for devices with > 64k these must be saved. Thank...