Compare commits

...

1066 Commits

Author SHA1 Message Date
Richard Barry
a7acb25f91 2010-10-05 17:56:34 +00:00
Richard Barry
86e6ede04c Update to FreeRTOS V6.1.0 release candidate. 2010-09-23 18:07:41 +00:00
Richard Barry
4778bd45e7 Update to FreeRTOS V6.1.0 release candidate. 2010-09-23 16:36:25 +00:00
Richard Barry
7ce7d21ca8 Allow tasks to be suspended immediately after creation - provided the scheduler is not running.
Add API function that allows the tick count to be queried from an interrupt.
2010-09-23 13:54:37 +00:00
Richard Barry
ad451e8b70 Remove the .dep file from the IAR RX project. The file should not have been included in the first place. 2010-09-23 13:41:47 +00:00
Richard Barry
fd5aeffadd Replace the hard coded interrupt priorities with the configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY definitions in the IAR RX port layer. 2010-09-23 13:39:45 +00:00
Richard Barry
bdef78d6a2 Prepare the RX GNU demo application for release. 2010-09-23 13:14:34 +00:00
Richard Barry
f352dc846b Replace the hard coded interrupt priorities with the configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY definitions in the IAR RX port layer. 2010-09-23 13:13:26 +00:00
Richard Barry
66c1a9b76d Replace asm wrappers to interrupt handlers with functions that use the interrupt attribute. 2010-09-22 22:03:40 +00:00
Richard Barry
c92128869d Replace asm wrappers to interrupt handlers with functions that use the interrupt attribute. 2010-09-22 22:02:54 +00:00
Richard Barry
eea2ab0385 Back only. 2010-09-22 21:31:33 +00:00
Richard Barry
8c8efdcc4e Back only. 2010-09-22 21:29:57 +00:00
Richard Barry
b4d26652b9 Start process of changing project name to include RDK in its title to place of RSK. 2010-09-22 13:00:51 +00:00
Richard Barry
f4aa3f61e1 Start process of changing project name to include RDK in its title to place of RSK. 2010-09-22 12:59:42 +00:00
Richard Barry
45fad778a4 Start to iron out the mods required in switching from the RX RSK hardware to the RDK hardware. 2010-09-22 12:57:57 +00:00
Richard Barry
17add98d2f Starting point for the RX RDK version of the demo app. 2010-09-22 12:48:21 +00:00
Richard Barry
07006b001e Prepare the RSK RX demo for conversion to run on the RDK. 2010-09-22 09:25:13 +00:00
Richard Barry
828d8df74e Start to change the GNURX project name to use RSK in place of MDK. 2010-09-22 09:16:08 +00:00
Richard Barry
270a06fb9a Start to change the GNURX project name to use RSK in place of MDK. 2010-09-22 09:14:55 +00:00
Richard Barry
edfeb212ae Change the RX/GCC memory map to move the stacks further away from the .data section. 2010-09-22 08:32:22 +00:00
Richard Barry
296c1eabfc Formatting only. 2010-09-21 21:11:42 +00:00
Richard Barry
f052e7c00f When creating a task - move where the task handle is assigned to the function parameter from after the critical section. This allows the handle to be assigned to a global variable, and the global variable to be access by the task being created should the task being created execute immediately that the critical section is exited. 2010-09-21 21:10:41 +00:00
Richard Barry
1ec24e1d46 Remove possibility of having multiple definitions of DEBUG in uip_arp.c. 2010-09-21 21:06:16 +00:00
Richard Barry
b2238eb8c0 Update the RX GCC port - optimised build is working, unoptimised not. 2010-09-21 21:04:39 +00:00
Richard Barry
1c56717a0f RX GCC port - Introduce macros that perform the interrupt entry and exit manually, then move the asm code back as naked functions within the port.c file. 2010-09-20 20:02:48 +00:00
Richard Barry
0ef04cd7bd RX GCC port - Introduce macros that perform the interrupt entry and exit manually, then move the asm code back as naked functions within the port.c file. 2010-09-20 20:01:00 +00:00
Richard Barry
c788ecec17 Rename MDK to RSK for the RX ports. 2010-09-20 11:20:51 +00:00
Richard Barry
0615862c9e Temporarily revert the AVR32 port back to the V6.0.5 files. Work will continue on the reverted files following the next release. 2010-09-20 11:16:19 +00:00
Richard Barry
ef35a4aab1 Temporarily revert the AVR32 port back to the V6.0.5 files. Work will continue on the reverted files following the next release. 2010-09-20 11:11:34 +00:00
Richard Barry
18f5af7195 Temporarily revert the AVR32 port back to the V6.0.5 files. Work will continue on the reverted files following the next release. 2010-09-20 11:08:39 +00:00
Richard Barry
8f6f5820aa 2010-09-20 10:44:40 +00:00
Richard Barry
d7d63dbe77 2010-09-20 10:43:23 +00:00
Richard Barry
47354eddcb Update SAM3U project to use new flash loader settings. 2010-09-18 14:05:49 +00:00
Richard Barry
55c6e20370 Update to build with C99. 2010-09-18 13:41:28 +00:00
Richard Barry
feecfc5319 Update the definition of __inline to build with C99. 2010-09-18 13:33:52 +00:00
Richard Barry
25f980aabe Update the definition of __inline to build with C99. 2010-09-18 13:24:26 +00:00
Richard Barry
d27e63a8ca Update the definition of __inline to build with C99. 2010-09-18 13:20:52 +00:00
Richard Barry
59204f7720 Commit the RX IAR projects ready for release. 2010-09-14 15:35:38 +00:00
Richard Barry
e77c5ca723 Commit the RX Renesas/HEW projects ready for release. 2010-09-14 15:35:00 +00:00
Richard Barry
84394bf0a9 Commit the RX IAR projects ready for release. 2010-09-14 13:57:49 +00:00
Richard Barry
2a44b5641d Commit the RX IAR projects ready for release. 2010-09-14 13:48:11 +00:00
Richard Barry
0723a674f2 First version of IAR project for RX RDK added. 2010-09-13 10:39:40 +00:00
Richard Barry
5f95494dff FreeTCPIP - remove compiler warnings. 2010-09-12 21:06:00 +00:00
Richard Barry
f43bd20a6d Tidy up the RDK/Renesas/RX port to get rid of compiler warnings, and correct some of the variable naming. 2010-09-12 21:02:55 +00:00
Richard Barry
2cf67be590 Tidy up the MDK/Renesas/RX port to get rid of compiler warnings, and correct some of the variable naming. 2010-09-12 21:01:29 +00:00
Richard Barry
9c3e8b0228 Add in web server to RX/IAR demo application. 2010-09-12 20:56:04 +00:00
Richard Barry
c7fbe1d601 Some re-formatting of uip.c. 2010-09-10 18:45:22 +00:00
Richard Barry
2641267c85 Some re-formatting of uip.c. 2010-09-10 18:40:31 +00:00
Richard Barry
904e22b667 Include pack struct macros for RX architecture. 2010-09-09 19:47:24 +00:00
Richard Barry
e4c8a7957f Prepare RX RDK project for release. 2010-09-09 19:43:56 +00:00
Richard Barry
3780491aeb Prepare RX MDK project for release. 2010-09-09 18:31:16 +00:00
Richard Barry
23ca0009e3 Update the RX MDK demo to include the web server. Minor tidy up to the RDK version too. 2010-09-09 16:26:42 +00:00
Richard Barry
2fca46e3e4 Changed buffer configuration in Ethernet driver for RX RDK port. 2010-09-09 09:54:18 +00:00
Richard Barry
ccf36aeed4 Removed the critical section that was left in by mistake. Also changed the delay period while waiting for the Ethernet semaphore. Both in the RX RDK demo. 2010-09-09 09:41:52 +00:00
Richard Barry
a91ec6efe7 Updated compiler version for RX RDK demo and completed initial web server demo. Still some tidying up to do. 2010-09-09 08:39:10 +00:00
Richard Barry
a4893aed60 Start to configure the uIP demo for the RX RDK hardware. ping is working, but thus far the web server is not. 2010-09-05 20:06:30 +00:00
Richard Barry
2e0af9b6e6 Add low level Ethernet driver files to the RX RDK project. 2010-09-04 18:29:56 +00:00
Richard Barry
f14011feb3 All relating to the RX600 RDK demo - which is still a work in progress:
Change LED numbers to match silk screen.
Include Ethernet port pin configuration in HardwareSetup().
Convert EMAC.c to be correct for the RX (was based on SH2A file).
Add uIP task creation into main.c.
2010-09-04 18:20:45 +00:00
Richard Barry
817859005a Removed files/directories that were accidentally added to the wrong base directory. 2010-09-02 09:14:39 +00:00
Richard Barry
ee077a6b9a Starting point for the RDK webserver files added. 2010-09-02 09:13:14 +00:00
Richard Barry
659a27800f Starting point for the RDK webserver files added. 2010-09-02 09:06:39 +00:00
Richard Barry
0363b47c66 Correct some of the LED usage in the RX demos - where apparently two wrongs did make a right. 2010-08-31 18:14:37 +00:00
Richard Barry
a47ead46e8 Start of project for the RDK board. Not yet complete. 2010-08-31 18:11:19 +00:00
Richard Barry
bb26ea557f Some changes to the RX/Renesas main-full.c file to tidy up a bit. 2010-08-29 18:05:06 +00:00
Richard Barry
c1dca1a069 Added a critical section around the call to vTaskIncrementTick() in all the RX ports. 2010-08-29 17:57:32 +00:00
Richard Barry
9f83e74cb1 Work on the RX62N IAR demo, which is now functional. 2010-08-29 17:15:14 +00:00
Richard Barry
50b4b6619d Minor tidying up of IntQueue.c to prevent compiler warnings. No functional difference. 2010-08-29 17:13:46 +00:00
Richard Barry
5c75dd907e Update the IAR RX62N port files, which are now functional. 2010-08-29 17:12:12 +00:00
Richard Barry
a418d78163 Start point for RX62N port layer for IAR - not necessarily complete yet. 2010-08-29 14:12:05 +00:00
Richard Barry
7768a4e02c Starting point for an IAR RX62N project - not yet a working project. 2010-08-29 14:10:58 +00:00
Richard Barry
9af437a3a9 Simply tidy up the bracketing of a couple of expressions in tasks.c. 2010-08-29 07:25:09 +00:00
Richard Barry
c4217432f2 Update RX GCC port - including extracting all inline asm into separate asm file. 2010-08-29 07:24:30 +00:00
Richard Barry
23b1023a7a Remove the Renesas RX project that had the old directory name. This has been updated so the board the project uses in the name of the demo directory. 2010-08-29 07:23:06 +00:00
Richard Barry
ddf4f4eb1e Check in the RX/GCC demo for backup purposes - this is not yet a working project. 2010-08-29 07:19:34 +00:00
Richard Barry
0fcac53cf8 Continued work on the RX62N GCC demo - just a work in progress currently. 2010-08-26 16:01:58 +00:00
Richard Barry
314b692440 Create starting point for RX62N GCC port. Just a work in progress at the moment. 2010-08-26 15:59:25 +00:00
Richard Barry
1ee62d835d Create starting point for GNURX RX62N HEW project. 2010-08-25 16:06:53 +00:00
Richard Barry
8c5b77635e Add a -1 to the calculation of the compare match value. 2010-08-23 15:59:07 +00:00
Richard Barry
ac19e40336 Just tidy up the RX port files. 2010-08-22 18:28:48 +00:00
Richard Barry
a33e3b3979 Corrected comment in SH2A demo project main.c. 2010-08-22 11:46:36 +00:00
Richard Barry
4b8e4c7520 Continue development, plus add Blinky build configuration. 2010-08-22 11:45:24 +00:00
Richard Barry
cfc3911721 Changed RX project directory structure and name. 2010-08-22 08:44:51 +00:00
Richard Barry
9391d8a186 Continue development on RX port - work in progress. 2010-08-22 08:32:09 +00:00
Richard Barry
68201d2f99 Added a lot more standard demo tasks to the RX demo. 2010-08-20 19:42:40 +00:00
Richard Barry
cc7c4acf02 Added IntQueue demo/test to the RX demo. 2010-08-20 19:11:56 +00:00
Richard Barry
27683e7360 Implemented portYIELD_FROM_ISR() for RX port. 2010-08-20 19:10:42 +00:00
Richard Barry
4b3cf6221b Continue work on RX600 port - work in progress. 2010-08-18 20:36:44 +00:00
Richard Barry
810f45a61c Continue work on RX600 port - work in progress - add the actual context switch function. 2010-08-18 20:36:00 +00:00
Richard Barry
64fc1907ec Continue work on RX600 port - work in progress. 2010-08-18 13:31:12 +00:00
Richard Barry
df410c7e27 Continue work on RX600 port - work in progress. 2010-08-18 13:29:12 +00:00
Richard Barry
49c5f327fc Add new file to RX demo. 2010-08-16 10:40:33 +00:00
Richard Barry
383f0b0f2f Continue work on RX600 port - work in progress. Added the SET/CLEAR from ISR macros. 2010-08-13 17:49:15 +00:00
Richard Barry
21898cc9d9 Continue work on RX600 port - work in progress. 2010-08-13 17:38:50 +00:00
Richard Barry
6052827afe Continue work on RX600 port - work in progress. 2010-08-13 17:37:36 +00:00
Richard Barry
3e4eb6e7ae Continue work on RX600 port - work in progress. 2010-08-13 10:21:54 +00:00
Richard Barry
fc050c4ab9 Continue work on RX600 port - work in progress. 2010-08-13 07:17:30 +00:00
Richard Barry
c8e98a097e Starting point for new port - a project that will build, but as yet no implementation. 2010-08-12 13:22:25 +00:00
Richard Barry
b2929dc036 Starting point for new port - a project that will build, but as yet no implementation. 2010-08-12 13:19:52 +00:00
Richard Barry
e854ebf1f5 Just tidy up indentation in SuperH port.c. 2010-08-11 17:56:33 +00:00
Richard Barry
8f6e5062d4 Changed how the calculation of xFreeBytesRemaining is performed in the case where a block of RAM is split before being returned to the callee. 2010-07-20 18:46:12 +00:00
Richard Barry
65d501d718 Continue development of STM32 Rowley demo. 2010-07-07 11:48:04 +00:00
Richard Barry
28b5ea32a4 Add in a basic USART driver and echo test task. 2010-07-06 21:12:01 +00:00
Richard Barry
4ab0313273 Continue work on new AVR32 port and demo. 2010-06-21 14:57:05 +00:00
Richard Barry
47cfc16aa0 Add batch file that generates the local directory structure to allow the new AVR32 UC3 demo to be build using an Eclipse managed make project. 2010-06-13 17:34:45 +00:00
Richard Barry
8405dbe3d5 Create an updated AVR32 UC3A project. 2010-06-13 14:10:42 +00:00
Richard Barry
d31b403659 Create an updated AVR32 UC3A project. 2010-06-13 14:05:36 +00:00
Richard Barry
52ceb8de51 Create an updated AVR32 UC3A project. 2010-06-13 14:02:53 +00:00
Richard Barry
025b08cddf Create an updated AVR32 UC3A project. 2010-06-13 14:01:59 +00:00
Richard Barry
7bee13dfdc Removed outdated AVR32 demo. 2010-06-13 13:57:47 +00:00
Richard Barry
357f7fe56a Removed outdated AVR32 demo. 2010-06-13 13:55:37 +00:00
Richard Barry
1b2d31eac4 Removed outdated AVR32 demo. 2010-06-13 13:54:06 +00:00
Richard Barry
d09fcd3abe Removed outdated AVR32 demo. 2010-06-13 13:53:05 +00:00
Richard Barry
61dc1e332a Removed outdated AVR32 demo. 2010-06-13 13:52:31 +00:00
Richard Barry
c63be7c451 Just updated the version string #define. 2010-06-13 13:41:18 +00:00
Richard Barry
e03f239692 Work in progress - checked in for backup only. 2010-06-07 15:24:50 +00:00
Richard Barry
02db572328 Renamed ParTest.c to ParTest_MSBSTM32.c so an alternative ParTest can also be included. 2010-06-07 14:31:13 +00:00
Richard Barry
5472e527b5 Added STM32 Rowley demo. 2010-06-04 14:45:49 +00:00
Richard Barry
fa73924b8d Add Cortus port to produce V6.0.5. 2010-05-17 18:16:17 +00:00
Richard Barry
f89b22f9d1 Add Cortus port to produce V6.0.5. 2010-05-17 18:12:16 +00:00
Richard Barry
6818a478c6 Add Cortus port to produce V6.0.5. 2010-05-17 18:06:11 +00:00
Richard Barry
9a54446449 Add Cortus port to produce V6.0.5. 2010-05-17 18:00:27 +00:00
Richard Barry
c73b3dc304 Add Cortus port to produce V6.0.5. 2010-05-17 15:41:58 +00:00
Richard Barry
4a5ea9e237 Add exit() function just to prevent loads of the standard library from being included in the build. 2010-05-17 14:52:27 +00:00
Richard Barry
18d6c565e6 Corrected mistake in sample code for xCoRoutineCreate(). 2010-05-01 01:35:52 +00:00
Richard Barry
1aca141247 Update comments at head of Cortus demo files to show correct version number. 2010-03-30 13:01:00 +00:00
Richard Barry
a2b1a64ba1 Finish off the Cortus demo application:
+ Add a traceTASK_SWITCHED_OUT macro as part of the RegTest.c.
+ Add task to test the saving and restoring of the interrupt mask.
+ Change the serial port interrupt handlers to use naked functions.
2010-03-29 14:04:11 +00:00
Richard Barry
f4d8802850 Modify Cortus save and restore macros to save and restore the entire context, so as not to rely on anything the compiler is doing. 2010-03-29 14:01:36 +00:00
Richard Barry
1ae4ae2348 Deleted the commented out naked attribute. 2010-03-28 17:48:00 +00:00
Richard Barry
0821d5201e Rename the portRESTORE_CONTEXT_REDUCED macro to portRESTORE_CONTEXT. 2010-03-28 17:46:57 +00:00
Richard Barry
afe2d4fc38 Simplify the Cortus port - removing the interrupt stack and interrupt nesting capability. 2010-03-28 17:44:06 +00:00
Richard Barry
f8b7288033 Continue work on Cortus demo. 2010-03-26 20:28:19 +00:00
Richard Barry
c848059d5f Work in progress on the Cortus port. 2010-03-26 20:27:10 +00:00
Richard Barry
a671be77bf Add the regtest tasks to the Cortus demo. 2010-03-26 12:43:00 +00:00
Richard Barry
b492b7eb89 Minor formatting and name changes only. 2010-03-26 10:03:32 +00:00
Richard Barry
a93c8d6659 Add Cortus demo. 2010-03-24 11:24:21 +00:00
Richard Barry
e65ab7222c Add directory for Cortus demo. 2010-03-24 11:22:36 +00:00
Richard Barry
1aed974822 Change name of constant to match coding standard. 2010-03-24 11:06:33 +00:00
Richard Barry
0d8229a087 The start of an APS3 port. 2010-03-19 14:22:34 +00:00
Richard Barry
2596728679 Initialised xFreeBytesRemaining where it is declared so xPortGetFreeHeapSize() returns a valid value even before the heap has been initialised. 2010-03-19 09:45:12 +00:00
Richard Barry
808bb8e159 Update the V6.0.4. The primary difference being that the unsupported demos have now been removed from the download, and instead placed in their own forums. 2010-03-14 11:55:16 +00:00
Richard Barry
71b23456fd Remove log file which should not have been part of the repository. 2010-03-14 11:33:11 +00:00
Richard Barry
c4a14fc1ef Added back the Unsupported_Demos directory, but this time containing just a .txt file with a link to the page that describes how the demos can be obtained. 2010-03-14 11:27:28 +00:00
Richard Barry
3382b13855 Remove the unsupported demos directory. The files it contains are now available at http://interactive.freertos.org. 2010-03-13 20:39:49 +00:00
Richard Barry
73ee7479e4 Correct spelling in comment. 2010-03-13 20:37:16 +00:00
Richard Barry
c981185506 Very first demo for the Energy Micro EFM32 added. 2010-03-13 19:20:19 +00:00
Richard Barry
8fc041a994 Update to use V2 of the CPU support pack from Rowley. 2010-03-11 13:29:05 +00:00
Richard Barry
85e6e01995 Removed unused files. 2010-02-25 16:36:32 +00:00
Richard Barry
e262d95404 Ready for V6.0.3 release. 2010-02-25 13:41:09 +00:00
Richard Barry
ec0f5ed043 Tidy up SuperH port a bit ready for release. 2010-02-18 13:34:46 +00:00
Richard Barry
450e344455 Tidy up SuperH port a bit ready for release. 2010-02-18 13:23:00 +00:00
Richard Barry
e35180acd9 Tidy up SuperH port a bit ready for release. 2010-02-18 13:21:33 +00:00
Richard Barry
9b27b75715 Continue work on the SH2A port. 2010-02-15 17:16:38 +00:00
Richard Barry
04c48138a8 Change path to included header files so they are now included from the apps directory. 2010-02-15 17:15:10 +00:00
Richard Barry
b25f24cb75 Continue work on SH2A demo. 2010-02-15 17:13:58 +00:00
Richard Barry
0978152144 Add back in the uip_arch.h header file. 2010-02-15 14:47:29 +00:00
Richard Barry
804d39fb69 Another two header files added back having been previously removed. 2010-02-13 22:08:45 +00:00
Richard Barry
d60032cec3 Not much more than a reformatted uIP so far - this will eventually replace the FreeRTOS-uIP files. 2010-02-13 21:15:28 +00:00
Richard Barry
7c54dfea37 Add back in header file that was mistakenly removed prior to previous check in. 2010-02-13 21:01:26 +00:00
Richard Barry
90ec8c2b57 Added file required to build demo. 2010-02-13 21:00:16 +00:00
Richard Barry
92ae2d0724 Update SuperH port to include WEB server. 2010-02-13 18:57:15 +00:00
Richard Barry
bbe10cf550 Add new files to the SuperH project. 2010-02-12 15:27:07 +00:00
Richard Barry
2ce61bafdc Not to be added for the next release, so removed to avoid confusion. 2010-02-01 13:38:03 +00:00
Richard Barry
416fcd3a3d Change case of name for consistency with other lwIP directories. 2010-01-25 19:04:45 +00:00
Richard Barry
073e831bcf Added latest lwIP source. 2010-01-25 12:54:55 +00:00
Richard Barry
06c89adf1e Remove the .bak files that were accidentally added to the repository. 2010-01-24 21:05:15 +00:00
Richard Barry
61dacf99ab 2010-01-24 21:04:32 +00:00
Richard Barry
ef57fa8947 Start of new demo added. Still a long way to go. 2010-01-24 21:00:36 +00:00
Richard Barry
9849c9ccab General tidy up of SH files. 2010-01-17 16:32:43 +00:00
Richard Barry
99cc14b365 General tidy up of SH files. 2010-01-17 16:32:06 +00:00
Richard Barry
73b49130c6 Just updated comments. 2010-01-17 15:45:37 +00:00
Richard Barry
8dd9c7dfd9 Moved the definitions of pvPortMallocAligned() and pvPortFreeAligned() to freertos.h. 2010-01-17 14:22:55 +00:00
Richard Barry
ebffeb7ae4 Added flop support. 2010-01-17 13:14:23 +00:00
Richard Barry
094945625d Add flop support. 2010-01-17 13:12:54 +00:00
Richard Barry
65b947b50f Still a work in progress. Checking in for backup only. 2010-01-16 17:09:39 +00:00
Richard Barry
b75ec97ea9 Still a work in progress. Checking in for backup only. 2010-01-16 17:07:44 +00:00
Richard Barry
b60eba005a Change interrupt mask in yield function. 2010-01-16 11:40:41 +00:00
Richard Barry
559e2a850f Still a work in progress. Need to add flop support. 2010-01-15 17:20:09 +00:00
Richard Barry
188a2c0cc1 Still a work in progress. Need to add flop support. 2010-01-15 17:18:47 +00:00
Richard Barry
1aa471d0ec Work in progress. 2010-01-14 12:24:29 +00:00
Richard Barry
68074c03d6 Work in progress. 2010-01-14 12:23:07 +00:00
Richard Barry
c99f3c55cd Update to V6.0.2. 2010-01-09 14:48:45 +00:00
Richard Barry
4f59d550c6 Update to V6.0.2. 2010-01-09 14:31:39 +00:00
Richard Barry
f902211804 Update resource files for latest IAR releases. 2010-01-09 14:03:33 +00:00
Richard Barry
b016c8bfb5 Update IAR version used. 2010-01-08 19:08:53 +00:00
Richard Barry
bf9b20e6b8 Change "SWI" to "SWI 0". 2010-01-08 14:25:12 +00:00
Richard Barry
ac94fdddf1 Again, just corrected some comments. 2010-01-08 14:21:33 +00:00
Richard Barry
a3cb76d07a Corrected a comment. 2010-01-08 14:20:30 +00:00
Richard Barry
2dc8e16e68 Corrected a couple of comments. 2010-01-08 14:19:35 +00:00
Richard Barry
e170cdef52 Skeleton for new port added. 2009-12-28 15:06:11 +00:00
Richard Barry
bc0e754d87 Work in progress for backup only. 2009-12-27 22:20:42 +00:00
Richard Barry
dbb3361ed9 Start a new demo for a new SH2A port. 2009-12-27 09:55:16 +00:00
Richard Barry
0840882d46 Change PIC32 stack byte alignment from 4 to 8. 2009-12-10 18:17:37 +00:00
Richard Barry
50ab249849 Added yet another type cast to the else if clause in xTaskCheckForTimeOut. This is to ensure it works correctly on ALL 16 bit compilers (hopefully). 2009-11-23 11:18:07 +00:00
Richard Barry
0bcacda16b vTaskList() now works for architectures where the stack grows up from low memory. 2009-11-23 10:43:04 +00:00
Richard Barry
e439365343 Added configQUEUE_REGISTRY_SIZE definition. 2009-11-23 10:24:50 +00:00
Richard Barry
c0fae3b4dd Changes in the comments only. 2009-11-23 10:23:31 +00:00
Richard Barry
d41bc9028e Updated to work with the latest compiler - changed the .mac file and updated the linker script. 2009-11-22 21:38:51 +00:00
Richard Barry
9ec30de7f4 Update Cortex M3 ports to ensure 8 byte alignment. 2009-11-15 21:47:15 +00:00
Richard Barry
db87c0ac06 Correct byte alignment on CM3 port layers. 2009-11-15 15:01:59 +00:00
Richard Barry
a9625ce462 Change the function that sets up the initial stack on CM3 ports to account for the post decrement used by the MCU when it alters the stack on the way into/out of interrupts. 2009-11-14 19:02:12 +00:00
Richard Barry
a06c91fcc1 Fixed typo. 2009-11-13 20:57:51 +00:00
Richard Barry
7c09eb2da7 Correct cut and paste comment error. 2009-10-25 10:33:01 +00:00
Richard Barry
eb89065789 Update the Posix simulator to contain more features. 2009-10-15 11:59:20 +00:00
Richard Barry
a75aec78ed Correct the auto reload value. 2009-10-15 11:57:49 +00:00
Richard Barry
0db3b5c258 Correct the auto reload value. 2009-10-15 11:56:48 +00:00
Richard Barry
26bf0da04e Change to the file headers only. 2009-10-13 11:05:41 +00:00
Richard Barry
aedbbb8a5c Change to the file headers only. 2009-10-13 10:57:25 +00:00
Richard Barry
11ed4d6fba Change to the file headers only. 2009-10-13 10:54:32 +00:00
Richard Barry
7dbf3304b3 Tidy up only. 2009-10-13 09:17:39 +00:00
Richard Barry
e00afda1b1 Correct compiler warnings when a certain configuration is set in FreeRTOSConfig.h. 2009-10-13 09:12:30 +00:00
Richard Barry
8560e094f2 Formatting only. 2009-10-13 09:11:17 +00:00
Richard Barry
8bbd6c243e Place #error string in quotes. 2009-10-11 22:33:58 +00:00
Richard Barry
dc5c2a5371 Add same additional tests and demos as already in the Rowley version. 2009-10-11 22:31:20 +00:00
Richard Barry
d80bf5e055 Remove unused definitions. 2009-10-11 22:25:59 +00:00
Richard Barry
2c761c6626 Add a few more tests and demos. 2009-10-11 11:53:07 +00:00
Richard Barry
448f83eb43 Add a few more tests and demos. 2009-10-11 09:30:12 +00:00
Richard Barry
9557f14233 Add missing cast where one of the static MPU blocks are configured. 2009-10-10 18:45:46 +00:00
Richard Barry
16612fb796 Removed the needs-lock property. 2009-10-10 18:44:47 +00:00
Richard Barry
cacf4036b9 Correct type on comment. 2009-10-10 18:43:18 +00:00
Richard Barry
7c927d69d5 Add the tests performed by prvOldStyleUserModeTask(). 2009-10-10 18:41:14 +00:00
Richard Barry
9c349886af Add clobber lists to inline asm code. 2009-10-06 08:48:34 +00:00
Richard Barry
d3f5c5348c Change where the free heap space variable is initialised. 2009-10-06 08:46:22 +00:00
Richard Barry
205b0dd863 Add clobber list to asm sections to allow use with higher optimisation. 2009-10-05 20:26:11 +00:00
Richard Barry
176aafbe00 Add portBYTE_ALIGNMENT definition to PC demos. 2009-10-05 12:17:50 +00:00
Richard Barry
e90ba3e57f Add xPortGetFreeHeapSize() function. 2009-10-05 11:16:38 +00:00
Richard Barry
9468e36040 Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 11:10:48 +00:00
Richard Barry
f625cf929a Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 11:01:09 +00:00
Richard Barry
23a5a73219 Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 10:57:40 +00:00
Richard Barry
4322b8d649 Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 10:28:54 +00:00
Richard Barry
64c701aff7 Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 10:23:06 +00:00
Richard Barry
7f0c4ef656 Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 10:08:35 +00:00
Richard Barry
506dd1b7c8 Remove unnecessary use of portLONG, portCHAR and portSHORT.
Change version number in headers.
2009-10-05 09:46:11 +00:00
Richard Barry
26f0258688 Remove unnecessary use of portLONG, portCHAR and portSHORT. 2009-10-04 18:34:36 +00:00
Richard Barry
804d114420 Add PRIVILEGED_FUNCTION qualifiers to port files. 2009-10-04 18:18:32 +00:00
Richard Barry
334bd8b66c Remove files accidentally added to repository. 2009-10-04 18:01:57 +00:00
Richard Barry
ee5608ddc2 Tidy up, starting to get ready for next release. 2009-10-04 17:59:49 +00:00
Richard Barry
a7462db433 Update to fit using later Keil version. 2009-10-04 14:56:54 +00:00
Richard Barry
1b3ceba83f Just remove compiler warning. 2009-10-04 10:59:01 +00:00
Richard Barry
2b2324a7e7 Add R32C contributed port. 2009-10-04 10:08:25 +00:00
Richard Barry
8c5f57a134 Correct spelling mistake only. 2009-10-03 19:57:25 +00:00
Richard Barry
d138104369 Reinstate privileged only RAM region when a task is running that does not otherwise make use of the MPU. 2009-10-03 19:56:09 +00:00
Richard Barry
5eeea3373f First Red Suite project for FreeRTOS MPU. 2009-10-03 18:53:16 +00:00
Richard Barry
c9b5c1332a Formatting only. 2009-09-30 20:18:36 +00:00
Richard Barry
b5f93ce546 Update to latest Rowley version. 2009-09-30 20:17:17 +00:00
Richard Barry
cf717acaae First version that includes the FreeRTOS-MPU implementation. 2009-09-30 20:16:26 +00:00
Richard Barry
291ea26bfe First version that includes the FreeRTOS-MPU implementation. 2009-09-30 20:12:31 +00:00
Richard Barry
6b7397ee92 Prepare for V6. 2009-09-29 20:11:12 +00:00
Richard Barry
b7da8d7a1b Remove the portBYTE_ALIGNMENT_MASK definitions as they are now in the common portable.h file. 2009-09-29 20:07:44 +00:00
Richard Barry
ad441634f0 Allow auto switching between creating tasks in ARM mode and THUMB mode. 2009-09-29 20:03:55 +00:00
Richard Barry
afaa3321ba Allow auto switching between creating tasks in ARM mode and THUMB mode. 2009-09-29 20:03:09 +00:00
Richard Barry
b500ab8be2 Allow auto switching between creating tasks in ARM mode and THUMB mode. 2009-09-29 20:02:16 +00:00
Richard Barry
2cb1578b30 Set ARM byte alignment to 8. 2009-09-29 20:01:17 +00:00
Richard Barry
2d958d3d2c Set ARM byte alignment to 8. 2009-09-29 19:58:05 +00:00
Richard Barry
98ed4f2a20 Update for V6. 2009-09-29 19:49:54 +00:00
Richard Barry
7dacae2ae9 New file added for V6. 2009-09-29 19:40:13 +00:00
Richard Barry
c3473a1e49 Update to latest Rowley version. 2009-09-29 19:37:19 +00:00
Richard Barry
3c09399524 Ensure the user is forced to select an option through the use of a #error directive. 2009-09-29 19:34:04 +00:00
Richard Barry
1f12f80eb7 Ensure compiles using latest Yagarto. 2009-09-29 19:32:27 +00:00
Richard Barry
a961f6daa3 Just checking in a file that was automatically updated by the IDE. 2009-09-29 19:30:14 +00:00
Richard Barry
13f92818a7 Update to latest IAR version. 2009-09-29 18:19:22 +00:00
Richard Barry
bb17e05f63 Update to latest IAR version. 2009-09-29 18:18:47 +00:00
Richard Barry
a9f422ed7c Update to latest IAR version. 2009-09-29 18:14:14 +00:00
Richard Barry
b0f9c55325 Update to latest IAR version. 2009-09-29 18:13:38 +00:00
Richard Barry
87c8d2f87a Update to latest IAR version. 2009-09-29 17:46:10 +00:00
Richard Barry
b7e0d0753a Update to latest IAR version. 2009-09-29 17:29:33 +00:00
Richard Barry
46b1b9f99d Update to latest IAR version. 2009-09-29 04:55:49 +00:00
Richard Barry
c5c32913c9 Inline the asm function in the ISR wrapper. 2009-09-28 18:50:32 +00:00
Richard Barry
e30b39e09f Auto updated file by the IDE. 2009-09-28 18:25:48 +00:00
Richard Barry
00462893c9 Use noinline attribute on C portion of asm functions, increase warning level and fix warnings output by new level. 2009-09-28 18:23:17 +00:00
Richard Barry
75c6804bb1 Test with latest IAR and Keil versions. 2009-09-28 18:15:32 +00:00
Richard Barry
07990a8c0c Added a couple of extra compiler options better for use with the latest Yagarto release. 2009-09-28 18:05:54 +00:00
Richard Barry
d7ca9be54d Added a couple of extra compiler options better for use with the latest Yagarto release. 2009-09-28 18:01:57 +00:00
Richard Barry
8a6518c3b3 Test with latest IAR version. 2009-09-28 17:52:42 +00:00
Richard Barry
b04f886ebd Updated for use with latest Yagarto release. 2009-09-28 17:15:51 +00:00
Richard Barry
5f896f1640 Added CM3 MPU demo. 2009-09-28 14:26:40 +00:00
Richard Barry
4640196beb Add CM3 MPU port. 2009-09-28 14:23:45 +00:00
Richard Barry
531faedf63 Update to use the latest Yagarto and change the C handler part of the interrupt routines to use the noinline attribute. 2009-09-18 20:27:00 +00:00
Richard Barry
7ff79ca26b Update to use the latest Yagarto and change the C handler part of the interrupt routines to use the noinline attribute. 2009-09-18 14:08:36 +00:00
Richard Barry
6bdf14c33f Update to use the latest Yagarto and change the C handler part of the interrupt routines to use the noinline attribute. 2009-09-18 14:04:40 +00:00
Richard Barry
9a76bc39cb Update to use Yagarto compiler and use the noinline attribute on the serial port handler function. 2009-09-18 13:55:43 +00:00
Richard Barry
4b7c5b07c1 Correct unintended duplication and slight wording change. 2009-08-20 13:49:12 +00:00
Richard Barry
b401621a85 Correct the name of the new Cortex M3 demo directory. 2009-08-12 16:17:33 +00:00
Richard Barry
2d4ed1801b Update libdriver for Rowley demos. 2009-08-12 16:12:31 +00:00
Richard Barry
19216099d0 Add LM3Sxxx Rowley demo. 2009-08-12 16:10:55 +00:00
Richard Barry
ed06a0400a Update to V5.4.2. See http://www.freertos.org/History.txt . 2009-08-09 19:10:57 +00:00
Richard Barry
1831418ec8 Prepare for release. 2009-08-09 14:03:25 +00:00
Richard Barry
5a5be9567c Start to prepare for release. 2009-08-09 14:02:07 +00:00
Richard Barry
a4708c9fc8 Increase frequency to 99MHz. 2009-08-09 13:03:17 +00:00
Richard Barry
fb01731f41 Initial IAR LPC1768 demo. Work in progress at this point. 2009-08-09 12:19:17 +00:00
Richard Barry
87bb2c58b2 Formatting only. 2009-08-09 12:11:16 +00:00
Richard Barry
790bacc8f2 Remove compiler warnings. 2009-08-09 12:10:34 +00:00
Richard Barry
e9830a7ee3 Remove unused structure definition. 2009-08-09 12:09:18 +00:00
Richard Barry
27135c4a1c Just remove compiler warning. 2009-08-09 12:07:49 +00:00
Richard Barry
44b4467b26 Add simple USB CDC task. 2009-08-07 15:30:57 +00:00
Richard Barry
df338c84c3 Add simple USB CDC task. 2009-08-07 15:30:18 +00:00
Richard Barry
a83d9d93e8 Add a basic USB CDC example using LPCUSB. 2009-08-07 14:35:24 +00:00
Richard Barry
d2a29ece23 Update new project file. 2009-08-06 20:31:17 +00:00
Richard Barry
3f3a091728 Correct the IF EXIST part of the batch file. 2009-08-06 20:20:22 +00:00
Richard Barry
d2a9f9624b Rename Nios2 to NiosII. 2009-08-06 20:15:39 +00:00
Richard Barry
ddb7c49f3c Add batch file to create the NiosII project directory structure. 2009-08-06 20:08:34 +00:00
Richard Barry
523ffada03 Add new NiosII demo project. 2009-08-06 19:36:48 +00:00
Richard Barry
5d6acacd7a Correct spelling error in comment only. 2009-08-06 19:33:06 +00:00
Richard Barry
6358344ea1 Added new Nios2 port layer. 2009-08-06 18:23:40 +00:00
Richard Barry
3a883a776c Update to V5.4.1 2009-07-25 20:14:06 +00:00
Richard Barry
87eb48c97c Explicit casting added to the 'check for time out' function to ensure integer promotion does not occur. 2009-07-25 18:10:16 +00:00
Richard Barry
af6c245366 Decrease the configMINIMAL_STACK_SIZE setting to 190 to allow the demo to execute without running out of heap space. 2009-07-25 17:52:06 +00:00
Richard Barry
0528691833 Correct interrupt priority assignment. 2009-07-21 19:35:59 +00:00
Richard Barry
276356d9b5 Supply default setting for configUSE_MALLOC_FAILED_HOOK. 2009-07-21 17:33:02 +00:00
Richard Barry
4a1fbbca99 Added a call to vApplicationMallocFailedHook() when pvPortMalloc() returns NULL. 2009-07-21 17:25:55 +00:00
Richard Barry
7a3ac3c503 Suppress warning w6 2009-07-15 09:01:05 +00:00
Richard Barry
f312118bf9 Ensure LPC1768 demos are correct prior to V5.4.0 release. 2009-07-12 19:00:28 +00:00
Richard Barry
42f3130b20 Add #error directive to instruct people to run the batch file so that the project directory structure is configured. 2009-07-12 16:50:08 +00:00
Richard Barry
d4b8c84409 2009-07-12 16:49:14 +00:00
Richard Barry
af4a71e6b5 Move .bat file up one directory. 2009-07-12 16:19:30 +00:00
Richard Barry
f59ba6d86a Add extra files to the new LPC1768 Red Suite demo. 2009-07-12 14:46:25 +00:00
Richard Barry
e6f3fa02dc Old LPC1766 Red Suite demo is being removed as it used pre-production silicon that was a little different to the production silicon. There is now a new LPC1768 Red Suite demo in its place. 2009-07-12 14:26:33 +00:00
Richard Barry
b686daaa40 Add new LPC1768 RedSuite demo. 2009-07-12 14:23:25 +00:00
Richard Barry
09f28cb98c Add new LPC1768 RedSuite demo. 2009-07-12 14:19:52 +00:00
Richard Barry
28482990e0 Commit file deletions. 2009-07-12 14:04:30 +00:00
Richard Barry
9dace4de75 Prepare for release. 2009-07-12 14:02:12 +00:00
Richard Barry
079f9f4ee2 Add header file so it compiles with CrossWorks V2. 2009-07-09 17:55:27 +00:00
Richard Barry
b4eea4fa68 Reluctantly convert to use the CMSIS header files. 2009-07-09 14:47:02 +00:00
Richard Barry
312b19b236 Continue work on Rowley LPC1768 demo. 2009-07-09 14:46:03 +00:00
Richard Barry
ee0ff3a207 Update version number. 2009-07-07 09:58:26 +00:00
Richard Barry
fdcc3676cd Update version number. 2009-07-07 09:41:29 +00:00
Richard Barry
836860067f Update version number. 2009-07-07 09:29:47 +00:00
Richard Barry
32105816be Set to use 32bit tick variables. 2009-07-06 08:16:40 +00:00
Richard Barry
0cc071f88a Tidy up Ethernet driver. 2009-07-05 20:47:10 +00:00
Richard Barry
b92dd21bc5 Update EMAC driver. 2009-07-05 19:50:52 +00:00
Richard Barry
83c2470ead Continue work on emac driver. 2009-07-05 15:00:41 +00:00
Richard Barry
ec5827a601 Update header files to include CMSIS files. 2009-07-05 13:48:46 +00:00
Richard Barry
fe9d735641 Add Rowley LPC1768 demo. 2009-07-05 08:54:12 +00:00
Richard Barry
428dbc9342 Update some header files for use with the production standard silicon. 2009-07-05 08:48:08 +00:00
Richard Barry
f154711652 2009-07-05 08:46:49 +00:00
Richard Barry
f42b1510fa Ready the PPC440 projects for release. 2009-07-05 08:41:27 +00:00
Richard Barry
3634ebb497 Added PPC440 demo that does not use any floating point hardware. 2009-06-30 19:42:21 +00:00
Richard Barry
b49cf69600 Add Virtex5 demo that uses the single precision floating point. 2009-06-30 19:39:09 +00:00
Richard Barry
9815654538 Add Virtex5 demo that uses the double precision floating point. 2009-06-30 19:35:54 +00:00
Richard Barry
e36ece8d42 Add support for double precision floating point. 2009-06-30 19:24:32 +00:00
Richard Barry
09f991277e Add PPC440 port layer code. 2009-06-30 17:38:58 +00:00
Richard Barry
0a9fddb5d4 Add proper 8 byte alignment support. 2009-06-30 16:32:36 +00:00
Richard Barry
0b86cb1e2c New version of the Posix GCC simulator. 2009-06-22 09:15:58 +00:00
Richard Barry
f1d6aa1a06 Prepare for V5.3.1 release. 2009-06-21 19:20:26 +00:00
Richard Barry
fe1295fd25 Prepare for V5.3.1 release. 2009-06-21 19:10:37 +00:00
Richard Barry
7818ed5a97 Prepare for V5.3.1 release. 2009-06-21 19:07:47 +00:00
Richard Barry
c2e02c0488 Update to work with latest RIDE version. 2009-06-21 13:10:28 +00:00
Richard Barry
4fda9b25f3 Add local copy of the library files as the common copy has changed and breaks this build. 2009-06-21 09:39:07 +00:00
Richard Barry
303da1a725 Add new STM32 driver files. 2009-06-21 08:22:46 +00:00
Richard Barry
fb32554dc1 Add new STM32 driver files. 2009-06-21 08:22:07 +00:00
Richard Barry
f525e50307 Add STM32 Ethernet driver files. 2009-06-21 08:21:11 +00:00
Richard Barry
a5060cd1e2 New port layer files. 2009-06-20 19:53:16 +00:00
Richard Barry
e52a6e390e New STM32 demo added. 2009-06-20 18:42:08 +00:00
Richard Barry
90874f8c2e Formatting only. 2009-06-20 16:49:16 +00:00
Richard Barry
1513fb6807 Update SPI driver header to latest version. 2009-06-20 16:46:05 +00:00
Richard Barry
16434894ee New driver files for Connectivity Line. 2009-06-20 16:45:08 +00:00
Richard Barry
1f501bb518 Update SPI driver header to latest version. 2009-06-20 16:43:26 +00:00
Richard Barry
01ffe66a83 Small mod for Connectivity Line demo. 2009-06-20 16:42:28 +00:00
Richard Barry
8f26ec2474 Replaced asm statements with __asm for building with CrossWorks V2. 2009-06-20 16:39:47 +00:00
Richard Barry
c134405914 Added missing header file. 2009-06-20 16:25:14 +00:00
Richard Barry
ae23ad7395 2009-06-03 18:22:58 +00:00
Richard Barry
c0223a28fe Deleted the build files. 2009-06-01 11:48:10 +00:00
Richard Barry
151c72ab7c Add new demo files. 2009-06-01 11:45:26 +00:00
Richard Barry
b5ab3cd823 Final mods prior to release. 2009-06-01 11:41:16 +00:00
Richard Barry
c36f76a062 Add Red Suite project back in minus the workspace. 2009-05-30 19:24:07 +00:00
Richard Barry
756a1bb4ec Remove workspace from repository. 2009-05-30 19:22:23 +00:00
Richard Barry
e739c978b8 Remove the oops. 2009-05-30 16:16:12 +00:00
Richard Barry
5bb9537bef Prepare for V5.3.0 release. 2009-05-30 16:15:29 +00:00
Richard Barry
d79f029d9f Prepare for V5.3.0 release. 2009-05-30 16:14:31 +00:00
Richard Barry
5dcbec38e3 Prepare for V5.3.0 release. 2009-05-30 16:10:29 +00:00
Richard Barry
aad5dce4a1 Prepare for V5.3.0 release. 2009-05-30 15:59:59 +00:00
Richard Barry
c012651a66 Prepare for V5.3.0 release. 2009-05-30 15:56:05 +00:00
Richard Barry
4bf5521db6 Prepare for V5.3.0 release. 2009-05-30 15:51:41 +00:00
Richard Barry
f24533b765 Added xTaskGetApplicationTaskTag() function. 2009-05-30 13:30:40 +00:00
Richard Barry
1ead7d162a Add xTaskGetApplicationTaskTag() prototype. 2009-05-30 13:27:54 +00:00
Richard Barry
cae143cbbf Add portENTER_CRITICAL() macro. Previously it was an inline asm function but it needs to be a macro for portable.h to compile. 2009-05-30 13:26:38 +00:00
Richard Barry
b57e4f4c36 Change structs to unions to save a few bytes. Normally unions are against the coding standard but in this case they are permitted as their use is purely to ensure byte alignment. 2009-05-30 13:25:16 +00:00
Richard Barry
3af07deca2 Add call to xTaskGetApplicationTaskTag(), just as a test as its new and not called anywhere else. 2009-05-30 13:23:16 +00:00
Richard Barry
695eed8eb4 Added several new contributed demos. 2009-05-29 19:33:41 +00:00
Richard Barry
2ebb35d75d Add LED.c to the working set. 2009-05-29 14:39:24 +00:00
Richard Barry
9a1a7cb4d2 Add LED.c to the working set. 2009-05-29 14:35:28 +00:00
Richard Barry
5ae2d11145 Remove compiler warning. 2009-05-29 14:32:38 +00:00
Richard Barry
6003973d5e Work in progress on the LPC1766 port. 2009-05-29 14:30:24 +00:00
Richard Barry
a9a108a751 Correct typeo. 2009-05-29 08:12:46 +00:00
Richard Barry
53efcbb6c9 Updated description of the files in this directory. 2009-05-29 08:11:12 +00:00
Richard Barry
b42009def0 Work in progress. 2009-05-28 20:40:12 +00:00
Richard Barry
25194d5918 Correct page heading. 2009-05-28 20:37:49 +00:00
Richard Barry
3db39eb99d Just remove compiler warnings. 2009-05-28 20:36:59 +00:00
Richard Barry
cd7fb3fda1 Just remove compiler warnings. 2009-05-28 20:35:28 +00:00
Richard Barry
28aa468bd0 Formatting only. 2009-05-28 20:34:32 +00:00
Richard Barry
4965cdb367 Update as Eclipse decided to delete and add files. 2009-05-28 12:20:58 +00:00
Richard Barry
f626f8ce19 Update .project to latest Code Red version. 2009-05-28 12:16:46 +00:00
Richard Barry
9b2035aa90 Update .project to latest Code Red version. 2009-05-28 12:13:21 +00:00
Richard Barry
ef3795d7c0 Remove the .lock file from the repository. 2009-05-28 11:53:17 +00:00
Richard Barry
51404a713e First LPC17xx demo added. 2009-05-28 11:48:32 +00:00
Richard Barry
245bb81bc0 Moved the position of the traceTASK_DELETED() macro. 2009-05-22 15:35:40 +00:00
Richard Barry
25644cbf5d Update workspace for use with Ganymede. 2009-05-21 12:42:59 +00:00
Richard Barry
27934607e5 Updated the served WEB pages to include a page that shows the gathered task run time stats. 2009-05-21 12:29:06 +00:00
Richard Barry
1c1f614404 Added the macros necessary to gather the task run time stats information. 2009-05-21 12:27:21 +00:00
Richard Barry
2293b8ca53 Add variable to keep a count of the high frequency time tick occurrences. This is then used by the run time stats gathering macros. 2009-05-21 12:26:27 +00:00
Richard Barry
c66301ac9e Update the run time stats display function. 2009-05-21 12:23:24 +00:00
Richard Barry
8243645ac8 Corrected version number. 2009-05-21 12:20:31 +00:00
Richard Barry
8b4ef53b69 Added run time stats functions. 2009-05-19 10:38:26 +00:00
Richard Barry
886be58c58 Formatting only. 2009-05-19 10:34:57 +00:00
Richard Barry
4c232cdc4e Formatting only. 2009-05-19 10:34:04 +00:00
Richard Barry
b76158a10d Added vTaskGetRunTimeStats() prototype. 2009-05-19 10:33:12 +00:00
Richard Barry
6ed4d1d3da Add defaults for the new run time counter stats configuration constants. 2009-05-19 10:31:53 +00:00
Richard Barry
a7f134911a Just a formatting change. 2009-05-03 08:28:14 +00:00
Richard Barry
f1e278e193 Added comment to assist debugging. 2009-05-03 08:27:22 +00:00
Richard Barry
794edd476e Put in "catch all" portmacro.h include to allow the path to the correct portmacro.h file to be included as a compiler option. 2009-05-03 07:51:00 +00:00
Richard Barry
6f8158082a Remove .plg file as this is now put into the bin directory. 2009-04-27 09:17:48 +00:00
Richard Barry
515cd42702 Change project so output files go into a bin directory rather than being dumped in the project directory. 2009-04-27 09:15:19 +00:00
Richard Barry
b4eddb4992 Update to latest IAR version format. 2009-04-27 09:10:43 +00:00
Richard Barry
8395c9a633 Add queue registry so the IAR plug-in can be tested. 2009-04-27 09:06:00 +00:00
Richard Barry
da0c104de4 Update the WEB server demo. 2009-03-24 12:08:20 +00:00
Richard Barry
5af3321022 Add missing files. 2009-03-18 16:16:57 +00:00
Richard Barry
2f40ad7393 Ready for V5.2.0 release. 2009-03-14 19:20:12 +00:00
Richard Barry
975f102de9 Updated clean command to remove all object files. 2009-03-14 15:08:41 +00:00
Richard Barry
5f8b420aa5 Changed the use of critical sections to instead use scheduler locking as the BIOS functions exit with interrupts enabled no matter what the state when the BIOS function was called. 2009-03-14 15:07:06 +00:00
Richard Barry
42b60ed69c Increment the uxTaskNumber variable when a task is deleted in addition to when a task is created. This is to assist kernel aware debuggers detecting when the task list needs refreshing. 2009-03-14 15:04:44 +00:00
Richard Barry
fa9a58c9c0 Added OMAP port and demo. 2009-03-12 20:45:59 +00:00
Richard Barry
143c58e032 Minor changes to new queue functions plus add comments. 2009-03-12 11:48:24 +00:00
Richard Barry
55c96044b0 Some optimisations added. 2009-03-11 10:55:41 +00:00
Richard Barry
aaeb4790de Optimisations - being checked in for backup - not yet complete. 2009-03-11 10:53:45 +00:00
Richard Barry
dae13395ed Closed un-terminated comment. 2009-03-10 12:22:30 +00:00
Richard Barry
4f2654fb0b Closed un-terminated comment. 2009-03-10 12:21:30 +00:00
Richard Barry
a25d111613 Closed un-terminated comment. 2009-03-10 12:20:47 +00:00
Richard Barry
eb6a668a8f Bug fix - loop count value was wrong. 2009-03-06 13:13:56 +00:00
Richard Barry
d46a1e9699 Remove the NEC port as there is now a new an supported version. 2009-02-20 15:19:39 +00:00
Richard Barry
52ba0e651e Update to V5.1.2. 2009-02-09 20:21:35 +00:00
Richard Barry
2b388dacd1 Update startup file to workaround bug in IAR provided file. 2009-02-09 20:05:59 +00:00
Richard Barry
cd8c28b070 Add comtest tasks to the AT91SAM9XE demo. 2009-02-09 20:03:16 +00:00
Richard Barry
9323cea425 Continued development on NEC ports. 2009-02-07 18:20:32 +00:00
Richard Barry
fe73d24184 Add MCF52259 demo. 2009-02-07 17:52:41 +00:00
Richard Barry
8981a8539a Add hardware bug workaround for auto-negotiate errata. 2009-02-07 17:48:12 +00:00
Richard Barry
3741d47db2 Update pages served by WEB server. 2009-02-07 17:46:11 +00:00
Richard Barry
8a52afda6e Update pages served by WEB server. 2009-02-07 17:44:49 +00:00
Richard Barry
aac296a7c8 Continued development on NEC ports. 2009-02-07 17:41:36 +00:00
Richard Barry
c4a68ac620 Continued development on NEC ports. 2009-02-07 16:52:24 +00:00
Richard Barry
e31fe0ef80 Remove unnecessary semicolon. 2009-02-06 13:30:39 +00:00
Richard Barry
812e63f87f Add a trap call to test the manual context switch in addition the the pre-emptive context switch. 2009-02-06 13:28:52 +00:00
Richard Barry
223feee46c Add more comments. 2009-02-06 13:27:41 +00:00
Richard Barry
ea209490e1 Continue 78K0R development. 2009-02-06 13:25:05 +00:00
Richard Barry
4a3e471fda Continue 78K0R development. 2009-02-06 13:23:23 +00:00
Richard Barry
8c1495a57d Continue 78K0R development. 2009-02-06 13:21:35 +00:00
Richard Barry
23d63def3b Add code for near memory model. 2009-02-05 21:13:24 +00:00
Richard Barry
2d77a49535 Add code for near memory model. 2009-02-05 21:12:34 +00:00
Richard Barry
035abe8707 Add code for near memory model. 2009-02-05 21:11:24 +00:00
Richard Barry
e4319d7f88 Continue 78K0R development. 2009-02-05 13:02:27 +00:00
Richard Barry
e311bdb650 Continue 78K0R development. 2009-02-05 13:01:37 +00:00
Richard Barry
617ddbb61f Continue 78K0R development. 2009-02-05 10:40:24 +00:00
Richard Barry
c1a2e601a6 Tidy up and comment. 2009-02-04 16:53:52 +00:00
Richard Barry
bfd67da1e7 Continue 78K0R development. 2009-02-04 13:08:12 +00:00
Richard Barry
299557fed2 Continue 78K0R development. 2009-02-04 13:07:16 +00:00
Richard Barry
46425b4099 Continue 78K0R development. 2009-02-03 21:09:16 +00:00
Richard Barry
7acae9e570 Continue 78K0R development. 2009-02-03 21:07:17 +00:00
Richard Barry
eef9900e23 First pass demo for 78K0R. 2009-02-03 19:46:32 +00:00
Richard Barry
d4376e4bcc Add a little more commenting. 2009-02-03 15:21:51 +00:00
Richard Barry
c8b25f8bf2 Tidy up new port file. 2009-02-03 15:20:05 +00:00
Richard Barry
18797cb689 Change name of asm file to be consistent with other ports. 2009-02-02 18:38:48 +00:00
Richard Barry
e602554120 Renamed to remove the Fx3 from the directory name. 2009-02-01 21:03:38 +00:00
Richard Barry
33597ce971 Renamed to remove the Fx3 from the directory name. 2009-02-01 21:01:43 +00:00
Richard Barry
37402a9960 Renamed to remove the Fx3 from the directory name. 2009-02-01 20:29:36 +00:00
Richard Barry
97de395ad0 Add 78KR definition. 2009-01-31 14:48:50 +00:00
Richard Barry
7a83c44856 Tidy up and prepare for release. 2009-01-31 14:47:50 +00:00
Richard Barry
4e1b587af3 Extend FX16 functionality. 2009-01-31 14:11:22 +00:00
Richard Barry
0e91b60a7d Extend FX16 functionality. 2009-01-31 13:42:20 +00:00
Richard Barry
269de4b1e7 Extend FX16 functionality. 2009-01-31 12:56:33 +00:00
Richard Barry
46c3268670 Continue FX16 demo development. 2009-01-31 11:00:54 +00:00
Richard Barry
f88f5afa3b Continue FX16 demo development. 2009-01-31 10:31:21 +00:00
Richard Barry
d71ed5975c Continue FX16 demo development. 2009-01-30 16:28:08 +00:00
Richard Barry
d61373702a Continue FX16 demo development. 2009-01-30 14:06:37 +00:00
Richard Barry
7551ede806 New 78K0R first pass files added. 2009-01-30 10:47:35 +00:00
Richard Barry
d62f5ef24a Continued V850 development. 2009-01-30 09:26:16 +00:00
Richard Barry
667493bed2 Continued V850 development. 2009-01-29 21:27:10 +00:00
Richard Barry
4b4aecf217 Continued V850 development. 2009-01-29 21:26:43 +00:00
Richard Barry
c7ff0f4b53 Continued V850 development. 2009-01-29 21:26:10 +00:00
Richard Barry
38511e8174 Add device specific versions of LowLevelInit.c. 2009-01-29 20:33:15 +00:00
Richard Barry
1e29358197 Combine different part variants into a single port.c file. 2009-01-29 20:00:56 +00:00
Richard Barry
08464adb74 Combine different part variants into a single port.c file. 2009-01-29 19:55:14 +00:00
Richard Barry
99d615a7dd Add device specific versions of portasm.s85. 2009-01-29 19:51:11 +00:00
Richard Barry
adc5c7142b Rename to make file name more generic. 2009-01-29 17:32:19 +00:00
Richard Barry
ccb960ca8b Rename to make file name more generic. 2009-01-29 17:30:54 +00:00
Richard Barry
e2e988191c Rename to make file name more generic. 2009-01-29 17:29:10 +00:00
Richard Barry
5acfec1f7c Rename to make file name more generic. 2009-01-29 17:28:39 +00:00
Richard Barry
f1890708e1 Continued V850 development. 2009-01-29 16:23:52 +00:00
Richard Barry
4d39dfe5a0 Tidy up only. 2009-01-29 16:22:42 +00:00
Richard Barry
34333e3d27 Continued V850 development. 2009-01-29 16:21:56 +00:00
Richard Barry
77fbf587ee Continued V850 development. 2009-01-29 16:20:25 +00:00
Richard Barry
42d07bc94b Split out the processor dependent stuff from main.c. 2009-01-29 15:06:24 +00:00
Richard Barry
f622836e18 Add new port files for V850ES JJ3. 2009-01-29 14:49:47 +00:00
Richard Barry
a256024aaa Add LED output routine for the JJ3 target board. 2009-01-29 14:46:41 +00:00
Richard Barry
87253992aa Rename device specific file. 2009-01-28 17:52:25 +00:00
Richard Barry
b93186e975 Rename device specific file. 2009-01-28 17:50:49 +00:00
Richard Barry
761540892b Tidy up and comment. 2009-01-28 12:37:04 +00:00
Richard Barry
2fd4047164 Add header include. 2009-01-28 12:36:04 +00:00
Richard Barry
f5e095e34f Tidy up and comment. 2009-01-28 12:21:11 +00:00
Richard Barry
dd9ed87596 Add calls to portYIELD_FROM_ISR(). 2009-01-28 11:08:35 +00:00
Richard Barry
0adf3d96c4 Add in the portYIELD_FROM_ISR() function. 2009-01-28 11:08:01 +00:00
Richard Barry
4555f696a8 More work in progress on NEC port and demo. 2009-01-26 17:30:18 +00:00
Richard Barry
cadd182942 More work in progress on NEC port and demo. 2009-01-26 17:29:01 +00:00
Richard Barry
d811a00690 Rename file. 2009-01-23 16:50:43 +00:00
Richard Barry
9025468276 Adjust memory allocation. 2009-01-23 16:48:37 +00:00
Richard Barry
37bee0c18b Minor change so the delay automatically adjusts to the tick frequency. 2009-01-23 16:47:32 +00:00
Richard Barry
f8e9f4071b Continues work on new NEC port/demo. 2009-01-23 16:46:19 +00:00
Richard Barry
baa287be9a Correct some capitalisation issues for Linux users. 2009-01-23 08:53:40 +00:00
Richard Barry
8fa8b7c7a9 Correct some capitalisation issues for Linux users. 2009-01-23 08:51:51 +00:00
Richard Barry
5ebd915502 Formatting only. 2009-01-22 17:26:04 +00:00
Richard Barry
296514e80a Backup NEC project - still a work in progress. 2009-01-22 17:25:06 +00:00
Richard Barry
7164e04294 Add new partest files for the NEC demo. 2009-01-22 14:44:08 +00:00
Richard Barry
19e2d266b6 Renamed file. 2009-01-22 11:08:21 +00:00
Richard Barry
d92156e85a Add in V850 include file. 2009-01-22 11:03:59 +00:00
Richard Barry
f2114d04f2 New port - still a work in progress. 2009-01-22 11:02:09 +00:00
Richard Barry
395aec25ff New NEC port - work in progress. 2009-01-22 10:59:24 +00:00
Richard Barry
c1cb5dac54 Small modification to where header files are included from to make more portable. 2009-01-18 13:05:26 +00:00
Richard Barry
c87cff51c2 Added the 16FX definition. 2009-01-18 13:04:35 +00:00
Richard Barry
c10e20be42 Start of a new Fujitsu demo - still a work in progress. 2009-01-17 21:21:43 +00:00
Richard Barry
06265d2313 Small modification to where header files are included from to make more portable. 2009-01-17 21:19:18 +00:00
Richard Barry
e41454c461 Update to use the latest version of the Ride libraries. 2009-01-17 18:52:26 +00:00
Richard Barry
aee92373cf Still a work in progress. 2009-01-17 17:38:46 +00:00
Richard Barry
8d724f682d Clean up compiler warnings only. 2009-01-17 17:37:50 +00:00
Richard Barry
d94151bca7 Updated threads.js for Rowley Crossworks - thanks Glen B. 2009-01-11 13:04:03 +00:00
Richard Barry
6b8a71ba29 Add flash linker file for SAM9256XE. 2009-01-07 12:27:11 +00:00
Richard Barry
12d86511c9 Work in progress only. 2009-01-07 12:17:19 +00:00
Richard Barry
adad8eab83 Work in progress on new port - correct the configuration of the timer interrupt. 2009-01-07 11:00:48 +00:00
Richard Barry
c82aa9b224 Update to IAR V5.3. 2009-01-07 10:58:10 +00:00
Richard Barry
eefea4b753 Bug fix in port.c. 2009-01-05 09:34:57 +00:00
Richard Barry
6ee8deece7 Corrected comment - thanks Ralf A. 2008-12-23 19:25:33 +00:00
Richard Barry
441a1fec6d Minor updates only. 2008-12-06 15:02:32 +00:00
Richard Barry
a859c59080 Minor updates only. 2008-12-06 13:35:43 +00:00
Richard Barry
ea30213367 Minor updates. 2008-12-06 13:35:12 +00:00
Richard Barry
f374044a1c Update to the latest compiler version. 2008-12-03 15:09:01 +00:00
Richard Barry
5bb82e7660 Update to the latest compiler version. 2008-12-03 15:01:52 +00:00
Richard Barry
68a24a415e Add new demo. 2008-12-01 18:37:07 +00:00
Richard Barry
2f795214d7 Continued work in progress on new demo. 2008-11-28 16:08:59 +00:00
Richard Barry
c5f0933f49 Add SAM9XE definition. 2008-11-28 16:08:21 +00:00
Richard Barry
46d4beaba8 Update IRQ handler code. 2008-11-28 16:07:27 +00:00
Richard Barry
151e000be0 Continued work in progress on new demo. 2008-11-28 16:06:47 +00:00
Richard Barry
e540f0abf4 New demo being added - work in progress. 2008-11-28 15:41:07 +00:00
Richard Barry
efc8243397 Atmel provided hardware specifics. 2008-11-28 15:39:53 +00:00
Richard Barry
5e6d50864c New demo being added - work in progress. 2008-11-28 15:37:37 +00:00
Richard Barry
8471147b5a Remove erroneous comments. 2008-11-22 17:34:51 +00:00
Richard Barry
eb16fc814d Correct comment regarding the configMAX_SYSCALL_INTERRUPT_PRIORITY setting. 2008-11-21 18:37:01 +00:00
Richard Barry
f9e0da0358 Ready for V5.1.1 release. 2008-11-20 16:29:10 +00:00
Richard Barry
aa03bff58d Ready for V5.1.1 release. 2008-11-20 16:27:34 +00:00
Richard Barry
d6728eb2fc Ready for V5.1.1 release. 2008-11-20 16:21:50 +00:00
Richard Barry
e785527326 Ready for V5.1.1 release. 2008-11-20 16:18:57 +00:00
Richard Barry
57e58b25af Ready for V5.1.1 release. 2008-11-20 16:16:31 +00:00
Richard Barry
5e238dd6f4 Ready for V5.1.1 release. 2008-11-20 16:12:56 +00:00
Richard Barry
d28eda8634 Ready for V5.1.1 release. 2008-11-20 16:10:46 +00:00
Richard Barry
a9404cd88a Add in projects and debug launches. 2008-11-20 10:50:53 +00:00
Richard Barry
43bb138290 Add in projects and debug launches. 2008-11-20 10:49:39 +00:00
Richard Barry
6633583d98 Created new workspace, so far it is working but does not yet include debugger setup. 2008-11-20 10:16:22 +00:00
Richard Barry
c5991e5f68 Added back in the Coldfire MCF52233 demo with makefile, not yet including the Eclipse project. 2008-11-20 09:46:04 +00:00
Richard Barry
4e8383be43 Give up attempting to fix workspace - delete and re-create. 2008-11-20 09:23:36 +00:00
Richard Barry
5366162bcd Give up attempting to fix workspace - delete and re-create. 2008-11-20 09:22:53 +00:00
Richard Barry
2f8d10dc34 2008-11-19 22:45:13 +00:00
Richard Barry
b3f0fb2804 Remove .lock file. 2008-11-19 22:44:31 +00:00
Richard Barry
0cd598fc66 Another attempted at the f'in workspace. 2008-11-19 22:31:33 +00:00
Richard Barry
9073424aa9 Another attempted at the f'in workspace. 2008-11-19 22:29:24 +00:00
Richard Barry
ea547e79ba 2008-11-19 22:18:35 +00:00
Richard Barry
bca87dcf54 Still messing around trying to get the workspace to be distributable. 2008-11-19 22:13:03 +00:00
Richard Barry
acbdd47bee Delete MCF52233 files to revert back to older version of the workspace. 2008-11-19 22:09:15 +00:00
Richard Barry
2389e3e25a 2008-11-19 21:36:55 +00:00
Richard Barry
bee2975d02 2008-11-19 21:35:57 +00:00
Richard Barry
a5412bed75 More fiddling with the damned workspace. 2008-11-19 21:35:17 +00:00
Richard Barry
d07b337786 Reconfigure workspace. 2008-11-19 21:00:13 +00:00
Richard Barry
dbf2ff1400 Add recreated workspace. 2008-11-19 20:47:57 +00:00
Richard Barry
a35f4c69d8 Delete workspace so it can be re-created clean. 2008-11-19 20:38:32 +00:00
Richard Barry
3cfee24fe6 Attempting to get minimal .metadata for distribution. 2008-11-19 20:18:04 +00:00
Richard Barry
d5e3e282ec 2008-11-19 19:28:56 +00:00
Richard Barry
f3001b6156 2008-11-16 21:10:06 +00:00
Richard Barry
fbf1f69a10 Prepare demo for release. 2008-11-16 21:08:33 +00:00
Richard Barry
b56d2c8d6b Tidy up an comment. 2008-11-16 20:25:26 +00:00
Richard Barry
b8104d386f Delete unused files. 2008-11-16 19:30:23 +00:00
Richard Barry
89ccc31af1 Continue to develop demo. 2008-11-16 19:23:29 +00:00
Richard Barry
a520f5c7e3 Remove compiler warning. 2008-11-16 19:22:04 +00:00
Richard Barry
4b141c691e Allow the task priorities to be overwritten. 2008-11-16 19:21:25 +00:00
Richard Barry
90ac00641c Removed unwanted white space at the end of a macro continuation. 2008-11-16 17:13:55 +00:00
Richard Barry
aa8a0d04b9 Continue work on MCF52233 demo. 2008-11-16 17:12:21 +00:00
Richard Barry
18f84c805f Continue work on MCF52233 demo. 2008-11-16 17:10:27 +00:00
Richard Barry
31606543da Add faster version code. 2008-11-16 15:13:40 +00:00
Richard Barry
f7a168e184 Added JPG to be served by Coldfire WEB server. 2008-11-16 12:18:52 +00:00
Richard Barry
86ae395879 New files to be served from the ColdFire WEB server. 2008-11-16 11:18:33 +00:00
Richard Barry
5e1da95319 Added modified uIP code. 2008-11-16 10:35:36 +00:00
Richard Barry
b5777916ac Deleted obsolete files. 2008-11-16 10:33:24 +00:00
Richard Barry
59d108028b New Eclipse demo added - working but not yet completed. 2008-11-16 10:32:29 +00:00
Richard Barry
85701eb0b1 Correct version number in header. 2008-10-29 10:53:37 +00:00
Richard Barry
86a84a1477 Correct missing comment start. 2008-10-29 10:15:29 +00:00
Richard Barry
03acab14b2 Fix
https://sourceforge.net/tracker/index.php?func=detail&aid=2194064&group_id=111543&atid=659633
2008-10-29 10:11:22 +00:00
Richard Barry
b6e93f2e42 Update comments only. 2008-10-29 09:59:01 +00:00
Richard Barry
f03b362ee9 Update project to the latest IAR format. 2008-10-27 11:56:12 +00:00
Richard Barry
44b7c8b6ac Add MSP430 IAR definition. 2008-10-26 15:36:43 +00:00
Richard Barry
05167fb0f6 Update so both methods of defining interrupts can be used. 2008-10-26 15:34:32 +00:00
Richard Barry
4d302265c2 Add MSP430/IAR demo project. 2008-10-26 14:57:40 +00:00
Richard Barry
48a34c5fd1 Add IAR MSP430 port layer. 2008-10-26 14:56:06 +00:00
Richard Barry
151882a872 Replace absolute path to the asm files with the correct relative path. 2008-10-25 16:33:11 +00:00
Richard Barry
758b1c7c59 Update ready for V5.1.0 release. 2008-10-24 18:07:39 +00:00
Richard Barry
f147249a11 Remove the stale JC Wren demo as a WEB link to the latest version is now used in its place. 2008-10-24 17:53:16 +00:00
Richard Barry
f93deff134 New contributed port uploaded. 2008-10-24 17:15:03 +00:00
Richard Barry
b2303011c3 New contributed port uploaded. 2008-10-24 15:52:56 +00:00
Richard Barry
842a7244cf New unsupported port added. 2008-10-24 15:48:13 +00:00
Richard Barry
cefe46cdbe Change to use UART1. 2008-10-24 15:21:16 +00:00
Richard Barry
4c8a5cfdad Change to use UART1. 2008-10-24 15:19:35 +00:00
Richard Barry
9157e9cfef Add missing file. 2008-10-24 09:52:56 +00:00
Richard Barry
31d448cbf9 2008-10-24 07:39:06 +00:00
Richard Barry
53b376b6b8 Remove the two separate ports, instead use two demo apps that use a conditional compilation to select the method of interrupt management to use. 2008-10-23 19:16:29 +00:00
Richard Barry
a91c6302e7 Remove the two separate ports, instead use two demo apps that use a conditional compilation to select the method of interrupt management to use. 2008-10-23 19:14:45 +00:00
Richard Barry
eee1043e33 Set up to work in both ARM and THUMB modes. 2008-10-23 15:59:50 +00:00
Richard Barry
cf638edfaf Setup to work with both ARM and THUMB modes. 2008-10-23 15:58:17 +00:00
Richard Barry
8347299546 Remove demo that used the now defunct Keil compiler. 2008-10-23 11:23:13 +00:00
Richard Barry
c59af80374 Add demo for the Keil RVDS compiler. 2008-10-23 11:08:14 +00:00
Richard Barry
6ae55f3d6d Remove files that use the now defunct Keil compiler. 2008-10-23 11:06:20 +00:00
Richard Barry
ce7301b3e3 Change from using the old Keil compiler definition to the new RVDS compiler definition. 2008-10-23 11:04:23 +00:00
Richard Barry
36815b949f First ARM7 port that uses the RVDS compiler. 2008-10-23 11:03:25 +00:00
Richard Barry
cfa31e4205 Fix compiler warning only. 2008-10-21 13:28:53 +00:00
Richard Barry
6bf7776dec Continue Coldfire MCF52221 CodeWarrior demo. 2008-10-21 13:27:58 +00:00
Richard Barry
58f3f932ee First working MCF52221 demo. 2008-10-21 10:18:47 +00:00
Richard Barry
094be62ef0 Continue ColdeFire/CodeWarrior development. 2008-10-20 17:21:22 +00:00
Richard Barry
de519dd34e Update to allow low power mode to be used with the RTOS. 2008-10-19 18:52:04 +00:00
Richard Barry
549dcfa148 Add code to the idle hook to test low power mode operation. 2008-10-19 18:51:16 +00:00
Richard Barry
0463a4814b Add code to the idle hook to test low power mode operation. 2008-10-19 18:11:38 +00:00
Richard Barry
86edfb7dd4 Update ISR functions to be compliant with low power mode operation. 2008-10-19 18:10:52 +00:00
Richard Barry
518d5e538a Update to allow low power mode to be used with the RTOS. 2008-10-19 18:08:53 +00:00
Richard Barry
3c4c58dc6d Update to allow low power mode to be used with the RTOS. 2008-10-19 17:45:21 +00:00
Richard Barry
5bccc20356 Update to allow low power mode to be used with the RTOS. 2008-10-19 17:44:56 +00:00
Richard Barry
f9e47722ce Correct portSTACK_GROWTH value. 2008-10-19 11:06:38 +00:00
Richard Barry
a18e5c0bc5 Add header file back - with corrected case. 2008-10-17 14:18:36 +00:00
Richard Barry
317d2004dd Delete a header file so the case can be changed. 2008-10-17 14:17:52 +00:00
Richard Barry
5c189beb42 Correct the .bss end setting. 2008-10-17 14:16:38 +00:00
Richard Barry
60c87c8364 Removed bin files that were checked in in error. 2008-10-17 14:08:24 +00:00
Richard Barry
709b7ee223 Start of a new ColdFire/CodeWarrior demo. 2008-10-17 14:07:17 +00:00
Richard Barry
8e219f83f0 Remove some compiler warnings generated by CodeWarrior. 2008-10-17 13:23:28 +00:00
Richard Barry
285fa0420a Remove some compiler warnings generated by CodeWarrior. 2008-10-17 13:21:18 +00:00
Richard Barry
de5a4b3fb5 Added include path for V2 ColdFire/CodeWarrior. 2008-10-17 13:19:50 +00:00
Richard Barry
5e89d113be New port files for V2 ColdFire/CodeWarrior added. 2008-10-17 13:18:49 +00:00
Richard Barry
40f4287921 New file to separate out the stack checking macros which are a bit ugly to have in the main tasks.c file. 2008-10-09 00:54:10 +00:00
Richard Barry
4f631de793 Update the stack checking functions so they work for stacks that grow up from high memory (PIC24). 2008-10-09 00:53:02 +00:00
Richard Barry
c873e088bf Added JC Wren demos. 2008-09-26 09:03:58 +00:00
Richard Barry
0773e6b805 Change to use interrupt priority definitions that use shifted values from 0 to 7, rather than the full numeric value. 2008-09-24 13:09:59 +00:00
Richard Barry
e12614df23 Change to use interrupt priority definitions that use shifted values from 0 to 7, rather than the full numeric value. 2008-09-24 13:08:28 +00:00
Richard Barry
b6690dfc9a Switch from post increment to pre increment on values sent to queues. This allows the test to execute on systems where interrupt level critical sections cannot nest. 2008-09-24 13:06:39 +00:00
Richard Barry
603ec6a42b Change the force register from low to heigh. 2008-09-22 18:10:28 +00:00
Richard Barry
799cccac42 Use the low force register. 2008-09-22 18:08:29 +00:00
Richard Barry
130e2f2c0a Prepare for V5.0.4 release. 2008-09-22 15:48:40 +00:00
Richard Barry
1d0cf84e80 Change the default vector used for context switching. 2008-09-22 13:48:45 +00:00
Richard Barry
36471ef3e8 Change init value for a variable that was generating compiler warnings on one of the more pedantic compilers. 2008-09-22 13:44:31 +00:00
Richard Barry
c3a33e5e7c Improve example code for xTaskCreate(). 2008-09-22 13:43:07 +00:00
Richard Barry
10edc1088a Added extra compiler specific structure packing options. 2008-09-22 13:18:08 +00:00
Richard Barry
aa2ffbfde5 Added extra compiler specific structure packing options. 2008-09-22 13:16:59 +00:00
Richard Barry
d6ec78a568 Added extra compiler specific options. 2008-09-22 13:14:05 +00:00
Richard Barry
ed240e58a1 Add assert required for linking. 2008-09-22 13:13:03 +00:00
Richard Barry
9d1ab2c90b Change default vector number to 16. 2008-09-22 13:11:32 +00:00
Richard Barry
aa7485ab0f BUG FIX: Changed
*(portNVIC_INT_CTRL) |= portNVIC_PENDSVSET;
to
*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
2008-09-17 16:04:31 +00:00
Richard Barry
a91d3d8afe Note to users only. 2008-09-17 16:03:42 +00:00
Richard Barry
f8abff1e04 BUG FIX: Changed
*(portNVIC_INT_CTRL) |= portNVIC_PENDSVSET;
to
*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
2008-09-17 16:01:56 +00:00
Richard Barry
3b34009b75 Tidy up. 2008-09-17 15:58:45 +00:00
Richard Barry
223bd9c75f BUG FIX: Changed
*(portNVIC_INT_CTRL) |= portNVIC_PENDSVSET;
to
*(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;
2008-09-17 15:52:54 +00:00
Richard Barry
8e264c901e Added dummy header files to allow the Cortex uIP demo to compile. 2008-09-01 13:20:52 +00:00
Richard Barry
172114c49f Added a #error line to check that FreeRTOS.h is included before one of the subordinate header files. 2008-09-01 08:18:50 +00:00
Richard Barry
cb12d3a973 Added CodeWarrior definitions. 2008-09-01 08:08:44 +00:00
Richard Barry
0a8889d62b Change comments only. 2008-08-27 07:47:55 +00:00
Richard Barry
a36ef26b0c Add bracket where appropriate. 2008-08-15 15:59:42 +00:00
Richard Barry
8f33ce9c30 Use correct counter in reg test 2 task. 2008-08-14 13:59:59 +00:00
Richard Barry
4c0c3038cc Add cleaned up eclipse workspace. 2008-08-14 13:28:18 +00:00
Richard Barry
049459af87 Add URL to configuration pages on FreeRTOS.org site. 2008-08-14 13:19:20 +00:00
Richard Barry
5d83f61228 Documentation only. 2008-08-14 12:57:30 +00:00
Richard Barry
54dbbc3cdf Documentation only. 2008-08-14 12:55:54 +00:00
Richard Barry
be92c862be Minor mods only. 2008-08-14 11:13:34 +00:00
Richard Barry
9c2512f54e Permit no more than two simultaneous occurrences of interrupts adding everything to queues instead of tasks. 2008-08-14 11:10:46 +00:00
Richard Barry
5116051604 Remove initialisation of xQueueRegistry. 2008-08-14 11:09:26 +00:00
Richard Barry
e5d85bc87e Correct version number. 2008-08-14 11:08:36 +00:00
Richard Barry
aeea09e21e Minor changes only. 2008-08-14 11:07:50 +00:00
Richard Barry
6eec108bdd Ensure a yield cannot be pended simultaneously with a critical section being entered. 2008-08-14 11:04:54 +00:00
Richard Barry
d427489391 Tidy up. 2008-08-13 08:06:49 +00:00
Richard Barry
513b1a25e0 Use internal RAM only. 2008-08-13 08:03:47 +00:00
Richard Barry
a2bdba02ad Tidy up. 2008-08-13 08:01:54 +00:00
Richard Barry
0dffe8d801 Increase stack sizes as we now have interrupts nesting 3 deep. 2008-08-11 14:51:09 +00:00
Richard Barry
cebb479b0a Add lwIP V1.3 files. 2008-08-11 14:49:32 +00:00
Richard Barry
bfdbfce22f Add in interrupt nesting and chache support. 2008-08-10 21:19:57 +00:00
Richard Barry
60da4247dd Add interrupt nesting support, cache setup and reg test tasks. 2008-08-10 21:17:20 +00:00
Richard Barry
a943ccd85a Use internal RAM only for data. 2008-08-10 21:16:35 +00:00
Richard Barry
adf9eb9fb0 Remove white space only. 2008-08-10 21:15:14 +00:00
Richard Barry
f68aab980d Interrupt nesting and cache support added. 2008-08-10 21:14:08 +00:00
Richard Barry
53a8d172df Com test now working. 2008-08-09 10:09:21 +00:00
Richard Barry
3a8161372d Add serial test code (not yet complete). 2008-08-08 15:55:31 +00:00
Richard Barry
3ea597543a Add ColdFire definitions. 2008-08-08 15:54:05 +00:00
Richard Barry
431d1c009d Update to allow interrupt nesting (not yet complete). 2008-08-08 15:52:41 +00:00
Richard Barry
181889d6b1 Basic demo up and running. 2008-08-08 12:50:22 +00:00
Richard Barry
5ff84b9869 Basic demo up and running. 2008-08-08 12:47:06 +00:00
Richard Barry
4953c7d030 First task starting. 2008-08-08 09:41:33 +00:00
Richard Barry
3f2375c020 First task starting - woohoo! 2008-08-08 09:40:41 +00:00
Richard Barry
78d3b371fd Stubs ready for ColdFire V2 demo. 2008-08-07 19:13:15 +00:00
Richard Barry
35be76b9b7 Added function stubs. 2008-08-07 19:10:25 +00:00
Richard Barry
216fcb10c9 2008-08-07 19:03:24 +00:00
Richard Barry
5d60a388e0 2008-08-07 19:02:43 +00:00
Richard Barry
1c3c04f121 Prepare for V2 port. 2008-08-07 18:51:34 +00:00
Richard Barry
a2d86ba1fb Add in the -fno-omit-frame-pointer compiler options as a compiler bug workaround. 2008-07-31 11:01:58 +00:00
Richard Barry
16b6baf10c Update to V5.0.3. 2008-07-30 20:04:29 +00:00
Richard Barry
a1edce40d2 Add unsupported files. 2008-07-30 19:10:10 +00:00
Richard Barry
2ff6ab158f Add in the configMAX_SYSCALL_INTERRUPT_PRIORITY test tasks. 2008-07-30 09:39:03 +00:00
Richard Barry
597fbaacde Improve efficiency even further. Introduce the configMAX_SYSCALL_INTERRUPT_PRIORITY feature. 2008-07-30 09:36:40 +00:00
Richard Barry
56d5f4ac9b Just remove a comment. 2008-07-30 09:35:03 +00:00
Richard Barry
6eed669d06 Ensure statics are handled correctly when portREMOVE_STATIC_QUALIFIER is defined. 2008-07-30 09:34:03 +00:00
Richard Barry
ae6d081ebe Add in the configMAX_SYSCALL_INTERRUPT_PRIORITY test tasks. 2008-07-25 02:43:50 +00:00
Richard Barry
512c86194f Add in the configMAX_SYSCALL_INTERRUPT_PRIORITY test tasks. 2008-07-25 02:42:33 +00:00
Richard Barry
8b02e015ba Improve efficiency even further. Introduce the configMAX_SYSCALL_INTERRUPT_PRIORITY feature. 2008-07-25 02:40:35 +00:00
Richard Barry
7580c6b817 Change ARM7 byte alignment to 8. 2008-07-25 02:35:50 +00:00
Richard Barry
794b6546b2 Improve efficiency even further. Introduce the configMAX_SYSCALL_INTERRUPT_PRIORITY feature. 2008-07-25 02:34:31 +00:00
Richard Barry
32592e1385 Improve efficiency even further. Introduce the configMAX_SYSCALL_INTERRUPT_PRIORITY feature. 2008-07-25 02:33:56 +00:00
Richard Barry
3ab4d1f87f Change projects to split the dsPIC and PIC24 taskYIELD implementations. 2008-07-16 10:08:24 +00:00
Richard Barry
e4c0740eaa Change projects to split the dsPIC and PIC24 taskYIELD implementations. 2008-07-16 10:07:16 +00:00
Richard Barry
5ba1afe8b5 Change projects to split the dsPIC and PIC24 taskYIELD implementations. 2008-07-16 10:06:41 +00:00
Richard Barry
b25bb7e4f5 Update project to latest MPLAB version (8?). 2008-07-16 09:58:15 +00:00
Richard Barry
619cd7a43d Update project to use the new asm file for the port yield function, and remove the "user frame pointer" optimisation option. 2008-07-16 09:55:52 +00:00
Richard Barry
3244fd67dc Change capitalization of include header. 2008-07-16 09:50:44 +00:00
Richard Barry
91805dd051 Add the queue registry config parameter. 2008-07-16 09:49:31 +00:00
Richard Barry
c3acf82f70 asm version of the yield function. Moved from port.c. 2008-07-16 09:26:22 +00:00
Richard Barry
090da3b518 Removed the manual context switch from the C file, this is now in an asm file instead. This is a workaround for a compiler bug but provides a better implementation anyway as less stack is used. 2008-07-16 09:12:54 +00:00
Richard Barry
d091cf740f Allow the static qualifier to be removed and rename a list so it does not then clash with the name used in tasks.c once the static has been removed. 2008-07-16 09:10:01 +00:00
Richard Barry
1d4e319aa7 Ensure the queue registry gets initialised. 2008-07-16 09:08:32 +00:00
Richard Barry
ea07e0b934 Correct case of include file to build on Linux. 2008-07-11 07:36:55 +00:00
Richard Barry
e72748b18f Correct case of include file to build on Linux. 2008-07-11 07:36:17 +00:00
Richard Barry
eea5d82a8f Correct case of include file to build on Linux. 2008-07-11 07:33:08 +00:00
Richard Barry
8a795bd375 Update the bInterfaceProtocol member of the descriptors to allow comms with Linux. 2008-06-25 07:15:35 +00:00
Richard Barry
7d034a24be Correct PLL setting for the defined configCPU_CLOCK_HZ setting. 2008-06-21 17:35:41 +00:00
Richard Barry
1e83961601 Update to V5.0.2 2008-05-30 15:51:35 +00:00
Richard Barry
48eff41955 Update to V5.0.2 2008-05-30 15:49:36 +00:00
Richard Barry
42ebfc5227 Update to V5.0.2 2008-05-30 15:46:57 +00:00
Richard Barry
4fcb98ef1d Update to V5.0.2 2008-05-30 15:44:17 +00:00
Richard Barry
cd38538425 Update to V5.0.2 2008-05-30 15:41:10 +00:00
Richard Barry
90064444af Update to V5.0.2 2008-05-30 15:34:42 +00:00
Richard Barry
6128d1a86e Add new PPC405 demo. 2008-05-25 17:42:25 +00:00
Richard Barry
642a74c5b4 Remove old PPC port. 2008-05-25 17:39:16 +00:00
Richard Barry
ac0630af91 Add -fno-strict-aliasing 2008-05-24 18:57:30 +00:00
Richard Barry
192cc29ebc Add usage of portREMOVE_STATIC_QUALIFIER. 2008-05-24 18:56:04 +00:00
Richard Barry
8ce7a79937 Add usage of portREMOVE_STATIC_QUALIFIER. 2008-05-24 18:52:12 +00:00
Richard Barry
576a25a098 Remove static qualifier from queue registry. 2008-05-24 18:47:38 +00:00
Richard Barry
6391f4160b Tidy up ready for release. 2008-05-24 17:03:23 +00:00
Richard Barry
4154eec4e1 Add queue registry code. 2008-05-23 19:24:05 +00:00
Richard Barry
03a82c5bc8 Add #define configQUEUE_REGISTRY_SIZE 0 2008-05-23 19:22:33 +00:00
Richard Barry
a4d3bf8f5d Add #define configQUEUE_REGISTRY_SIZE 0 2008-05-23 18:52:26 +00:00
Richard Barry
91c26c9868 Fix warnings that the latest GCC version spits out. 2008-05-23 18:51:39 +00:00
Richard Barry
ab37826715 Add in #define configQUEUE_REGISTRY_SIZE 0 2008-05-23 18:50:47 +00:00
Richard Barry
a5f3797949 Add in example vQueueAddToRegistry() calls. 2008-05-23 18:49:59 +00:00
Richard Barry
15881cdf39 Add IntQ tests. 2008-05-23 15:24:23 +00:00
Richard Barry
f689c709ab A little optimisation. 2008-05-23 15:16:25 +00:00
Richard Barry
b6aa1d6ca8 Add STM32 Keil demo. 2008-05-21 17:59:30 +00:00
Richard Barry
a87f9df3d8 ST CM3 drivers. 2008-05-21 17:56:31 +00:00
Richard Barry
bb64640f0a Change compiler optimisation. 2008-05-20 18:31:28 +00:00
Richard Barry
98ebaac850 Change optimisation level. 2008-05-20 18:30:30 +00:00
Richard Barry
b8695fa787 Change optimisation level. 2008-05-20 18:29:10 +00:00
Richard Barry
eb9d172082 Remove compiler warnings. 2008-05-20 18:27:59 +00:00
Richard Barry
0f7c3939e1 Remove compiler warnings. 2008-05-20 18:27:07 +00:00
Richard Barry
9d1b078a8f Remove compiler warnings. 2008-05-20 18:26:09 +00:00
Richard Barry
61a5a25a7f Remove compiler warnings. 2008-05-20 18:25:06 +00:00
Richard Barry
c24a713859 Remove compiler warnings. 2008-05-20 18:24:22 +00:00
Richard Barry
01ce621748 Remove compiler warnings and insert missing return statement. 2008-05-20 18:23:44 +00:00
Richard Barry
b19ede773a Add volatile qualifier to loop counters used to detect stalled tasks. 2008-05-20 05:22:35 +00:00
Richard Barry
bea704342a Ensure emulated flop is not used. 2008-05-20 05:20:25 +00:00
Richard Barry
dd1ef6a777 Remove the critical sections as not all ports can yield from within critical sections. 2008-05-19 19:19:25 +00:00
Richard Barry
2888b15b7e Add signed portBASE_TYPE xTaskIsTaskSuspended( xTaskHandle xTask ); Previously this was a private function. 2008-05-19 19:17:56 +00:00
Richard Barry
5a2790a998 Change the way the critical sections are handled within interrupts so the critical sections can be nested. 2008-05-19 19:16:57 +00:00
Richard Barry
4b9fe1e28a Add signed portBASE_TYPE xTaskIsTaskSuspended( xTaskHandle xTask ); 2008-05-19 19:15:38 +00:00
Richard Barry
fb3b17a37c Update the default macros used for critical sections within ISRs. 2008-05-19 19:12:57 +00:00
Richard Barry
b9b3e521f7 Bug fix - allocate 2 extra words at the bottom of the task stack to account for the back chain and saved LR. 2008-05-19 19:11:08 +00:00
Richard Barry
ecc072e58b Tidy up. 2008-05-18 19:57:01 +00:00
Richard Barry
66fc3b8092 Update to use the kernel critical nesting. 2008-05-18 17:28:30 +00:00
Richard Barry
f3eb5028a3 Add new test file. 2008-05-18 16:25:20 +00:00
Richard Barry
31bda54b75 Add new test file. 2008-05-18 16:23:10 +00:00
Richard Barry
f146124bca Add new test file. 2008-05-18 16:21:59 +00:00
Richard Barry
0965823a67 Update demo to include a test of nesting interrupt accessing queues. 2008-05-18 16:21:12 +00:00
Richard Barry
684b898abc Comment changes only. 2008-05-11 13:44:43 +00:00
Richard Barry
6c275b9ca5 First commit of PPC405 version with floating point included. 2008-05-11 13:43:46 +00:00
Richard Barry
ba90821242 Add in new files for floating point and updates following the installation of the service pack. 2008-05-11 13:28:25 +00:00
Richard Barry
d7e9d4d397 Upgrade hardware version numbers following install of service pack. 2008-05-11 13:25:39 +00:00
Richard Barry
d184cdc09d Added flop files. 2008-05-11 13:24:06 +00:00
Richard Barry
dc897a35dd Added optional inclusion of floating point tasks. 2008-05-11 13:19:05 +00:00
Richard Barry
45fceb4bdd Update to include the option of saving/restoring the floating point context. 2008-05-11 09:15:22 +00:00
Richard Barry
6177c6e4a4 Add in the portSET_INTERRUPT_MASK_FROM_ISR() and portCLEAR_INTERRUPT_MASK_FROM_ISR() default (empty) macros. 2008-05-07 18:02:19 +00:00
Richard Barry
5d27f3ccf7 Add in the portSET_INTERRUPT_MASK_FROM_ISR() and portCLEAR_INTERRUPT_MASK_FROM_ISR() macros. 2008-05-07 18:00:26 +00:00
Richard Barry
676139e920 Raise the priority of the serial interrupt. 2008-05-07 17:59:17 +00:00
Richard Barry
9d0e60493a Move the call to start the high frequency timer to inside a task to ensure it does not trigger before the scheduler has started. 2008-05-07 17:58:20 +00:00
Richard Barry
5a1129c315 Change the timer interrupt to use the kernel interrupt entry/exit macros. 2008-05-07 17:56:45 +00:00
Richard Barry
ad52311deb Remove the syscall calls as this is no longer how a context switch is performed. 2008-05-07 17:55:22 +00:00
Richard Barry
bd44f90e50 Add in the configMAX_SYSCALL_INTERRUPT_PRIORITY constant. 2008-05-07 17:54:21 +00:00
Richard Barry
bafcf8901e Update to allow nesting. 2008-05-06 11:51:13 +00:00
Richard Barry
b7f66b9db6 Add the usual missing -1. 2008-05-05 08:41:25 +00:00
Richard Barry
4304c07ebf Performance improvements. 2008-05-04 20:04:52 +00:00
Richard Barry
0eae0f7549 Add nesting support. 2008-05-04 17:36:23 +00:00
Richard Barry
a9393b891d Remove inline keywords. 2008-05-01 17:16:26 +00:00
Richard Barry
3f620024fc Added code to allow a vTaskPrioritySet() caller to pass in the current TCB as well as NULL to indicate that the priority of the calling task is being changed. 2008-05-01 17:15:36 +00:00
Richard Barry
a918bd9825 Update comments for vTaskSuspendAll() "API functions that have the potential to cause a context switch (for example, vTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler is suspended". 2008-05-01 15:54:04 +00:00
Richard Barry
019ab1b908 Remove inline keyword. 2008-05-01 09:06:26 +00:00
Richard Barry
9c87f922b3 Remove inline keyword. 2008-05-01 08:58:48 +00:00
Richard Barry
0d29807e93 Remove inline keyword. 2008-05-01 08:57:45 +00:00
Richard Barry
b08411ec5a Correct timer calculation. 2008-04-16 16:29:28 +00:00
Richard Barry
d7ca9ad0c3 Correct comments. 2008-04-16 14:26:03 +00:00
Richard Barry
7e529c281f Update to V5.0.0. 2008-04-16 08:00:30 +00:00
Richard Barry
4c8425da01 Update to V5.0.0. 2008-04-16 07:52:16 +00:00
Richard Barry
e939542f32 Update to V5.0.0. 2008-04-16 07:47:02 +00:00
Richard Barry
57a83227d0 Remove incorrect const qualifiers. 2008-04-13 17:03:23 +00:00
Richard Barry
8ffe2b49e8 Minor tidy up. No functional difference. 2008-04-13 16:36:35 +00:00
Richard Barry
98daf5a1b8 Add variable initialisation. Doesn't really make a difference, just neater. 2008-04-13 16:35:15 +00:00
Richard Barry
c95cae5a99 Add variable initialisation. Doesn't really make a difference, just neater. 2008-04-13 16:34:12 +00:00
Richard Barry
dc307b270b Add variable initialisation. Doesn't really make a difference, just neater. 2008-04-13 16:33:30 +00:00
Richard Barry
360d357e15 Add variable initialisation. Doesn't really make a difference, just neater. 2008-04-13 16:32:41 +00:00
Richard Barry
09bfc2d862 Add variable initialisation. Doesn't really make a difference, just neater. 2008-04-13 16:31:43 +00:00
Richard Barry
9cea94ccce Add variable initialisation. Doesn't really make a difference, just neater. 2008-04-13 16:30:29 +00:00
Richard Barry
c1d5690da6 Remove unused assignment. 2008-04-13 16:29:40 +00:00
Richard Barry
7920c29ad1 Update to use new QueueSendFromISR() semantics. 2008-04-13 16:28:17 +00:00
Richard Barry
49c84f0d41 Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics. 2008-04-12 23:45:58 +00:00
Richard Barry
ac58b5b285 Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics. 2008-04-12 23:41:42 +00:00
Richard Barry
8cf6a70c9e Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics. 2008-04-12 23:34:49 +00:00
Richard Barry
c1e9f859c8 Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics. 2008-04-12 23:34:13 +00:00
Richard Barry
f4dd20dffc Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics. 2008-04-12 23:32:18 +00:00
Richard Barry
7eb7201b46 Casting only. 2008-04-12 23:26:44 +00:00
Richard Barry
b24032d4b0 Efficiency improvement. 2008-04-12 23:26:01 +00:00
Richard Barry
a6053582fc Update the sys tick to be more efficient. 2008-04-12 23:25:17 +00:00
Richard Barry
af939eb0a9 Add in the configUSE_APPLICATION_TASK_HOOK macro. 2008-04-12 09:50:30 +00:00
Richard Barry
a9ed428422 Update prototypes and macros for the new xQueueSendFromISR() function and the task hook feature. 2008-04-12 09:48:40 +00:00
Richard Barry
da6d27b627 Introduce the application task hook feature. 2008-04-12 09:46:19 +00:00
Richard Barry
b73dafb1f4 Change the semantics of the xQueueGenericSendFromISR() function. 2008-04-12 09:45:02 +00:00
Richard Barry
2bc9dfa3f8 Ensure the first task starts with interrupts enabled. 2008-04-06 14:42:35 +00:00
Richard Barry
ed543197e0 Ensure the first task starts with interrupts enabled. 2008-04-06 14:41:04 +00:00
Richard Barry
24cb048892 Ensure the first task starts with interrupts enabled. 2008-04-06 14:38:27 +00:00
Richard Barry
ada4744871 Minor changes to the trace macros. 2008-04-06 09:37:26 +00:00
Richard Barry
06e8e93eb5 Added traceTASK_SWITCHED_OUT macro. 2008-04-06 09:36:48 +00:00
Richard Barry
a3677612d2 Corrected SysTick interval calculation. 2008-04-06 09:26:51 +00:00
Richard Barry
2ca3985a8c Corrected SysTick interval calculation. 2008-04-06 09:25:59 +00:00
Richard Barry
7ed94acdff Corrected SysTick interval calculation. 2008-04-06 09:25:00 +00:00
Richard Barry
cfcad6e78a Corrected prototypes for newly added functions that had the 'signed' qualifier missing. 2008-04-06 09:23:58 +00:00
Richard Barry
5cefef5074 2008-04-05 18:10:28 +00:00
Richard Barry
637619dcb7 2008-04-05 15:09:10 +00:00
Richard Barry
d1b9463e29 Changes required to build with the latest Xilinx tools. 2008-03-30 21:18:54 +00:00
Richard Barry
bc7068a690 Add PPC405 port in V10.1 format. 2008-03-30 21:15:19 +00:00
Richard Barry
c2a6dc193e Remove PPC files that are in the EDK V7 format. 2008-03-30 18:41:43 +00:00
Richard Barry
3fd422ff2f Return the lock counts to their original intended behaviour. 2008-03-29 20:50:38 +00:00
Richard Barry
9596b04eff Small mods, and update file headers. 2008-03-26 13:04:38 +00:00
Richard Barry
527fb6a907 Update version numbers to V4.8.0 2008-03-25 21:22:13 +00:00
Richard Barry
3b4545cdf6 Add extra const qualifiers and casts for linting purposes. 2008-03-25 18:30:09 +00:00
Richard Barry
8704fd145b 2008-03-24 13:01:33 +00:00
Richard Barry
343a6101c2 Correct function prototype. 2008-03-24 13:00:38 +00:00
Richard Barry
a08969154a Update to use new port layer. 2008-03-24 12:59:16 +00:00
Richard Barry
829f5cda65 Update to use new port layer. 2008-03-24 12:51:24 +00:00
Richard Barry
6ec6b4508a Update to use new port layer. 2008-03-24 12:44:23 +00:00
Richard Barry
96b7e685a7 Update to use new port layer. 2008-03-24 12:43:05 +00:00
Richard Barry
7e3a04602d Update to use new port layer. 2008-03-24 12:35:40 +00:00
Richard Barry
c366fa96f9 Update to use the new port layer. 2008-03-24 12:32:38 +00:00
Richard Barry
945ffc1a38 2008-03-24 11:51:42 +00:00
Richard Barry
998e9699f4 Update to use new port layer. 2008-03-24 11:51:09 +00:00
Richard Barry
1ef0e22ca1 Update to use new port layer. 2008-03-24 11:45:23 +00:00
Richard Barry
3d099d43f5 Update to use new port layer. 2008-03-24 11:31:41 +00:00
Richard Barry
6e9d6a2bdf Update to use new port layer. 2008-03-24 10:46:56 +00:00
Richard Barry
5024d47769 2008-03-24 10:18:07 +00:00
Richard Barry
8502ee5b1c Introduce configKERNEL_INTERRUPT_PRIORITY and make some performance optimisations. 2008-03-24 10:17:30 +00:00
Richard Barry
534d26e4ef Remove the stellaris-eabi library as the none-eabi library can be used in its place. 2008-03-23 19:04:57 +00:00
Richard Barry
0ec39d206f 2008-03-23 18:50:13 +00:00
Richard Barry
2e3f4ad506 2008-03-23 17:03:16 +00:00
Richard Barry
b593401cfe 2008-03-23 17:02:24 +00:00
Richard Barry
3686ab1dcb 2008-03-23 17:00:08 +00:00
Richard Barry
85c789dc2a Add SVC handler to startup and recursive mutexes to the list of test tasks. 2008-03-23 16:58:34 +00:00
Richard Barry
62f9bdef17 Add new config options. 2008-03-23 16:11:08 +00:00
Richard Barry
a702fc53a7 Add new config options. 2008-03-23 16:09:16 +00:00
Richard Barry
7596b7f45d Allow test to pass when there are many other tasks in the system. 2008-03-23 16:07:48 +00:00
Richard Barry
87575c5cfe Re-write the queue send and queue receive functions to improve their effect on interrupt responsiveness. 2008-03-23 16:06:45 +00:00
Richard Barry
ed28aa2046 Add critical section around xTaskCheckForTimeout() as the new queue code makes a call while the scheduler is not locked. 2008-03-23 16:00:51 +00:00
Richard Barry
5ebd39bfc9 Add utilities that can be used to query a queue from within an ISR. 2008-03-23 15:58:27 +00:00
Richard Barry
58905b6fb4 Performance optimisation. 2008-03-23 15:54:50 +00:00
Richard Barry
a8d03f24e3 Performance optimisation. 2008-03-23 15:53:37 +00:00
Richard Barry
b53d20dfd2 Remove absolute paths. 2008-03-07 18:46:56 +00:00
Richard Barry
ebfede454f Check in before attempting to remove absolute paths in PPC405 project. 2008-03-07 18:23:27 +00:00
Richard Barry
5cb4e9b5a6 Get preeprocessor working correctly. 2008-03-07 16:29:15 +00:00
Richard Barry
1217e8ce06 Get reg test tasks working correctly. 2008-03-07 16:28:32 +00:00
Richard Barry
1aecde4efd Renaming .s to .S. 2008-03-07 13:43:27 +00:00
Richard Barry
640675e76b Add -Wall option. 2008-03-07 11:14:18 +00:00
Richard Barry
6e4a303cdb Add -Wall option. 2008-03-07 11:13:41 +00:00
Richard Barry
09803ca31e Increase baud rate to 115200. 2008-03-07 11:13:02 +00:00
Richard Barry
2e76895839 Add -Wall option. 2008-03-07 11:12:17 +00:00
Richard Barry
89c922a586 Small optimisation by using constants for register addresses. 2008-03-07 11:11:27 +00:00
Richard Barry
ebe6e14f25 Add extra tests into the regtest tasks. 2008-03-07 11:10:33 +00:00
Richard Barry
ade2da38ed Clear the interrupt prior to servicing the interrupt - previously it was the other way around. 2008-03-07 11:08:10 +00:00
Richard Barry
bf5cd55c55 Comment ready for release. 2008-03-06 20:55:49 +00:00
Richard Barry
f39424feee Update commenting ready for release. 2008-03-06 16:51:57 +00:00
Richard Barry
f73e663411 Rename PPC405 to PPC405_Xilinx. 2008-03-05 12:31:04 +00:00
Richard Barry
643c94a5a8 Rename PPC405 to PPC405_Xilinx. 2008-03-05 12:24:31 +00:00
Richard Barry
7008ebb8c9 PPC405 work in progress. 2008-03-05 12:22:19 +00:00
Richard Barry
39b68e7fc5 PPC405 work in progress. 2008-03-05 12:21:46 +00:00
Richard Barry
ebcac1c4b5 PPC405 work in progress. 2008-03-05 10:13:59 +00:00
Richard Barry
8e856177c9 Modified uxTaskGetStackHighWaterMark() to take a parameter for the task to be checked, rather than just checking the stack of the calling task. 2008-03-05 10:13:18 +00:00
Richard Barry
47a7f0165b Modified uxTaskGetStackHighWaterMark() to take a parameter for the task to be checked, rather than just checking the stack of the calling task. 2008-03-05 10:12:35 +00:00
Richard Barry
6e59817356 Remove system.log from the repository. 2008-03-05 10:11:22 +00:00
Richard Barry
dab366cd77 PPC405 work in progress. 2008-03-05 10:09:38 +00:00
Richard Barry
88548253ec New PPC405 port files. 2008-03-04 08:56:32 +00:00
Richard Barry
60bead5003 Remove warnings generated by new features. 2008-03-03 21:46:29 +00:00
Richard Barry
39f6b0b5de Add stack check macros. 2008-03-03 20:56:55 +00:00
Richard Barry
71ef3153ea Add trace macros. 2008-03-03 16:32:37 +00:00
Richard Barry
b8b70528f4 Add trace macros. 2008-03-03 16:32:05 +00:00
Richard Barry
2b174e556c Add vTaskEnterCritical() and vTaskExitCritical() functions. 2008-02-25 18:54:28 +00:00
Richard Barry
ebf69dab5d More work in progress (PPC). 2008-02-25 18:53:23 +00:00
Richard Barry
9a9cd41098 Basic cooperative reg test tasks working. 2008-02-25 11:18:23 +00:00
Richard Barry
3c2306ed72 Work in progress, for backup purposes only. 2008-02-25 09:56:56 +00:00
Richard Barry
fedf9c7ba0 Add initial PPC405 files - this is a work in progress not a completed port. 2008-02-24 11:42:27 +00:00
Richard Barry
8c0260568e Add PPC definition. 2008-02-24 11:41:26 +00:00
Richard Barry
3e94695fb4 Update to V4.7.2. 2008-02-21 19:45:27 +00:00
Richard Barry
12e207f913 Remove unused project. 2008-02-19 12:44:08 +00:00
Richard Barry
1398ff5f3b Increase stack size. 2008-02-17 21:11:52 +00:00
Richard Barry
30eb33aa89 Change stack size depending on memory model. 2008-02-17 21:00:56 +00:00
Richard Barry
c8de9a1cd8 Turn watchdog on. 2008-02-17 20:27:34 +00:00
Richard Barry
280a78ac5b Still trying to sort out weird symbolic linking between two partest.c files. 2008-02-17 20:07:58 +00:00
Richard Barry
6e9b21812b 2008-02-17 20:06:24 +00:00
Richard Barry
1e95bfc6b6 2008-02-17 20:02:56 +00:00
Richard Barry
cf10f33866 2008-02-17 19:15:18 +00:00
Richard Barry
ad75bb3b77 Change optimisation level. 2008-02-17 18:33:42 +00:00
Richard Barry
4ed46aaef9 2008-02-17 18:26:52 +00:00
Richard Barry
303fb84de3 Automatically adjust trace buffer size using sizeof(). 2008-02-17 18:24:50 +00:00
Richard Barry
6bc6cc282d Tidy up 16bit Fujitsu port ready for release. 2008-02-17 18:24:03 +00:00
Richard Barry
95189f40d2 2008-02-17 18:19:21 +00:00
Richard Barry
babd7f05f7 Remove obsolete code. 2008-02-17 18:08:59 +00:00
Richard Barry
125a9ef81d Correct cut and paste asm code. 2008-02-17 18:08:09 +00:00
Richard Barry
2855dbaa43 2008-02-17 08:56:18 +00:00
Richard Barry
2f75980fca Correct merge. 2008-02-16 21:10:19 +00:00
Richard Barry
7306d9b428 Correct comments. 2008-02-15 20:10:30 +00:00
Richard Barry
c8b4248e5d Get the trace utility and co-routines working. 2008-02-15 20:08:30 +00:00
Richard Barry
91a1b614f8 Remove references to ulCriticalNesting from the register test tasks as the variable is no longer saved as part of the task context. 2008-02-15 13:46:30 +00:00
Richard Barry
79dd981500 Remove casts that were generating warnings (even though the casts were added to remove warnings with some compilers). 2008-02-15 13:44:06 +00:00
Richard Barry
61efe2504c Revert critical section handling back to the original method. 2008-02-15 13:33:44 +00:00
Richard Barry
991624461f Revert to original critical section handling method. 2008-02-15 13:24:05 +00:00
Richard Barry
f44fc2c665 Change to use the configKERNEL_INTERRUPT_PRIORITY setting. 2008-02-13 19:43:30 +00:00
Richard Barry
89d7f37094 Remove unnecessary NOPs. 2008-02-13 19:42:22 +00:00
Richard Barry
226d78fcab 2008-02-13 13:53:24 +00:00
Richard Barry
f315c91f38 Continue to tidy up Fujitsu ports. 2008-02-13 13:34:39 +00:00
Richard Barry
c6965bc253 Continue to tidy up the Fujitsu ports. 2008-02-13 13:32:10 +00:00
Richard Barry
040475fca6 2008-02-13 13:22:44 +00:00
Richard Barry
3f0ee56dbb Delete four separate configurations and replace with a single new configuration. 2008-02-13 11:45:12 +00:00
Richard Barry
bc590036e0 Delete four separate configurations and replace with a single new configuration. 2008-02-13 11:44:42 +00:00
Richard Barry
b2ec747412 Delete four separate configurations and replace with a single new configuration. 2008-02-13 11:44:13 +00:00
Richard Barry
0c6913bfab Delete four separate configurations and replace with a single new configuration. 2008-02-13 11:43:24 +00:00
Richard Barry
0fef4cbaf9 Delete four separate configurations and replace with a single new configuration. 2008-02-13 11:42:28 +00:00
Richard Barry
613c764189 Tidy up - spell check. 2008-02-13 11:15:52 +00:00
Richard Barry
5a418b56fa Tidy up - spell check. 2008-02-13 10:39:07 +00:00
Richard Barry
c3e153145b Add Fujitsu FX definition to portable.h. 2008-02-12 21:53:52 +00:00
Richard Barry
961e402e12 Add Fujitsu FX definition to portable.h. 2008-02-12 21:51:50 +00:00
Richard Barry
97bee57daa Work in progress still. 2008-02-12 21:50:24 +00:00
Richard Barry
0faf33fbca Work in progress. 2008-02-12 17:47:34 +00:00
Richard Barry
bdea62587e Work in progress. 2008-02-12 17:46:50 +00:00
Richard Barry
161e266c97 Renamed MAIN.c to main.c. 2008-02-12 17:39:23 +00:00
Richard Barry
b31c9e18f9 Work in progress. 2008-02-12 17:37:03 +00:00
Richard Barry
1eb00d2045 Extra file used by 16bit Fujitsu port. 2008-02-12 10:37:36 +00:00
Richard Barry
35afa63a47 Add Fujitsu 16bit port files. 2008-02-12 09:29:26 +00:00
Richard Barry
b4ed11bddb Add Fujitsu 16bit demo files. 2008-02-12 09:26:41 +00:00
Richard Barry
7e5450acd1 Change the critical section handling (Fujitsu 32bit port). 2008-02-11 21:02:40 +00:00
Richard Barry
eb64d935dc Update interrupt priorities for Fujitsu port. 2008-02-11 21:01:22 +00:00
Richard Barry
6610911d3e Continue to work on Fujitsu 32bit port. 2008-02-11 18:28:03 +00:00
Richard Barry
7e6a2b0bd5 Update Fujitsu port files - work in progress. 2008-02-10 20:31:19 +00:00
Richard Barry
ba4d636307 Update Fujitsu 32bit port - work in progress. 2008-02-10 20:30:11 +00:00
Richard Barry
778b0d13ef Remove qualifier from cast. 2008-02-10 20:28:55 +00:00
Richard Barry
3b1b99c0d7 2008-02-10 14:48:23 +00:00
Richard Barry
b5d4e08320 2008-02-10 14:45:24 +00:00
Richard Barry
93dd04d5dd Work in progress... 2008-02-10 14:44:30 +00:00
Richard Barry
5afe5250e5 Add softtune required directory structure. 2008-02-06 18:09:27 +00:00
Richard Barry
eed758709c Add MB91460 port and demo files. 2008-02-06 17:27:42 +00:00
Richard Barry
e6e5add7d8 Remove obsolete comment. 2008-02-06 16:49:39 +00:00
Richard Barry
7d0f249fad Correct API call used to create mutex. 2008-02-04 08:42:12 +00:00
Richard Barry
05920be92a Correct sample code for recursive mutexes. 2008-02-04 08:37:01 +00:00
Richard Barry
c86dcf7826 Update to V4.7.1 2008-02-03 19:45:58 +00:00
Richard Barry
e018422743 Update to allow use with the cooperative scheduler. 2008-01-27 20:25:36 +00:00
Richard Barry
2ee98beba2 Add recursive mutexes to PC demo. 2008-01-27 19:27:51 +00:00
Richard Barry
354a57ed5e Update counting semaphore function prototype. 2008-01-27 19:25:11 +00:00
Richard Barry
3ddf9a4210 Correct spelling. 2008-01-27 19:11:49 +00:00
Richard Barry
c4dbab94f3 Set the interrupt priority of the button and UART interrupts. 2008-01-27 18:57:59 +00:00
Richard Barry
008f4cb517 Set the interrupt priority of the button and UART interrupts. 2008-01-27 18:49:53 +00:00
Richard Barry
d7e0337587 Update the release build for use with IAR V5.11. 2008-01-27 18:09:00 +00:00
Richard Barry
625a65e970 IAR V5.11 compatible linker script. 2008-01-27 18:00:13 +00:00
Richard Barry
e6d0609a54 Update release build for IAR 5.11. 2008-01-27 17:41:19 +00:00
Richard Barry
8ac8b20960 Remove incorrect comment. 2008-01-27 17:21:14 +00:00
Richard Barry
0b5d1fb68a Update for 48MHz operation. 2008-01-27 17:02:05 +00:00
Richard Barry
701b090cd1 Header associated with new recursive mutex test file. 2008-01-27 16:04:18 +00:00
Richard Barry
1bf8332ada Update the release build for IAR V5.11. 2008-01-27 15:49:22 +00:00
Richard Barry
ef46e9bc60 Delete old IAR V4 library format. 2008-01-27 14:41:43 +00:00
Richard Barry
79b506472d Documentation updates. 2008-01-24 21:33:00 +00:00
Richard Barry
c4edb21f63 Remove system files not longer required by IAR V5.11. 2008-01-23 19:35:54 +00:00
Richard Barry
474cb76864 UpdUpdate IAR projects to use Embedded Workbench V5.11. 2008-01-23 08:35:47 +00:00
Richard Barry
dfb8e7003b Prepare for V4.7.1 release. 2008-01-22 18:43:03 +00:00
Richard Barry
3c02bc385b Remove .bak files. 2008-01-22 18:26:07 +00:00
Richard Barry
2ac722926e Correct some documentation. 2007-12-18 20:07:21 +00:00
Richard Barry
fb799b7647 Update documentation. 2007-12-06 10:19:28 +00:00
Richard Barry
6e27b6ec86 Update documentation to correct spelling. 2007-12-05 21:50:00 +00:00
Richard Barry
44911a1c48 Update to V4.7.0. 2007-12-05 21:24:47 +00:00
Richard Barry
8603259d40 Add first version of alternative API. 2007-12-02 18:37:43 +00:00
Richard Barry
b6d2b739f3 Ensure warning free compilation under GCC. 2007-12-01 20:56:44 +00:00
Richard Barry
2931f43895 Missing PIC32 files. 2007-12-01 20:29:54 +00:00
Richard Barry
d69d2df8d6 Counting semaphore demo added. 2007-12-01 20:28:04 +00:00
Richard Barry
a8eabeabbb Add PIC32 code. 2007-11-26 15:45:21 +00:00
Richard Barry
48b4870c7e Add STM32 Primer demo. Remove the .lock file from the Eclipse demos. 2007-11-26 15:43:24 +00:00
Richard Barry
e8ddef1d93 Add the SAM7X Eclipse files. 2007-11-21 18:29:41 +00:00
Richard Barry
620d3999ef Update to V4.6.1 - including PIC32MX port. 2007-11-05 16:44:39 +00:00
Richard Barry
0a9c978f18 Changes between V4.5.0 and V4.6.0 released October 28 2007
+ Changed the method used to force a context switch within an ISR for the
	  ARM7/9 GCC ports only.  The portENTER_SWITCHING_ISR() and 
	  portEXIT_SWITCHING_ISR() macros are no longer supported.  This is to 
	  ensure correct behaviour no matter which GCC version is used, with or
	  without the -fomit-frame-pointer option, and at all optimisation levels.
	+ Corrected the prototype for xQueueGenericSend() within queue.h.
2007-10-28 14:42:46 +00:00
Richard Barry
ada7fa862d Changed the way the ARM7/9 GCC ports enter interrupts that can cause a context switch. 2007-10-28 13:55:35 +00:00
Richard Barry
c54ec1c639 Updated GCC/ARM7 ISR functions so they only use static variables. 2007-10-26 10:14:19 +00:00
Richard Barry
a3921adfe1 + The macro portENTER_SWITCHING_ISR() no longer attempts to use the frame pointer. Variables declared within ISRs must now be declared static. 2007-10-26 09:52:15 +00:00
Richard Barry
98a9959a44 Update to V4.5.0 files and directory structure. 2007-09-17 10:07:48 +00:00
Richard Barry
1362bebfdc Remove separate LM3Sxxxx directories. These have been replaced by consolidated directories in the V4.5.0 version. 2007-09-17 09:51:42 +00:00
Richard Barry
bd5a0a1ce8 Fixed bugs as listed to date in the tracker for the SourceForge project. 2007-08-24 15:35:09 +00:00
Richard Barry
c77358491a Update the queue peek behaviour and add QPeek test files. 2007-08-23 11:37:41 +00:00
Richard Barry
5f16b0abca Fixed name of xQueueSendToFrontFromISR. 2007-08-23 07:23:53 +00:00
Richard Barry
86f4e8b4a0 Changed a couple of casts to remove compiler warnings. 2007-08-22 16:56:05 +00:00
Richard Barry
60338bd872 Added xQueueSendToBack, xQueueSendToFront, xQueuePeek and xSemaphoreCreateMutex - along with GenQTest.c to demonstrate their usage. 2007-08-21 16:54:48 +00:00
Richard Barry
ac14fdb0b7 Updates prior to release of V4.4.0 due to testing. 2007-07-30 20:48:12 +00:00
Richard Barry
15268bfbeb Update to V4.4.0. 2007-07-29 15:23:39 +00:00
Richard Barry
a06a2e492f Results of testing new prvIsTaskSuspended() function. 2007-07-28 18:41:53 +00:00
Richard Barry
de1094e980 Removed const from xTaskResumeFromISR() and xTaskResume() local variables as it upsets the call to the list function. 2007-07-28 18:35:03 +00:00
Richard Barry
7a8eb507a7 Modifications to correct behaviour when a task is blocked without specifying a wake time, and also introduce the xTaskGetSchedulerState() function. 2007-07-28 16:33:07 +00:00
Richard Barry
94c94d3c0e Updated AVR32 demos and added AVR32 UC3B demo. 2007-07-27 07:59:50 +00:00
Richard Barry
45e7e5ac55 Add in first STM32 demo. 2007-06-11 05:36:39 +00:00
Richard Barry
543ec864c4 Update in preparation for the V4.3.1 release. 2007-06-09 15:13:29 +00:00
Richard Barry
fc1d6ea442 Update in preparation for the V4.3.1 release. 2007-06-09 15:10:24 +00:00
Richard Barry
42b2cbf237 Update in preparation for the V4.3.1 release. 2007-06-09 15:08:43 +00:00
Richard Barry
8235f7a15f Update in preparation for the V4.3.1 release. 2007-06-09 15:05:10 +00:00
Richard Barry
68a1ab1d04 Update in preparation for the V4.3.1 release. 2007-06-09 15:03:03 +00:00
Richard Barry
623aa3675f Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt 2007-06-05 09:56:16 +00:00
Richard Barry
017740b75a Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt 2007-06-05 09:53:14 +00:00
Richard Barry
67d0d1ec3b Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt 2007-06-05 09:44:58 +00:00
Richard Barry
45410fcd3a Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt 2007-06-05 09:43:26 +00:00
Richard Barry
9af97b86f8 Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt 2007-06-05 09:36:57 +00:00
Richard Barry
22e434dfaf 2007-06-05 09:35:13 +00:00
Richard Barry
014d7f5b8f Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt 2007-06-05 08:59:26 +00:00
Richard Barry
5a3272cdca Accomodates wizC V14.00B and up with full optimisations.
Thanks Marcel.
2007-04-22 10:50:03 +00:00
Richard Barry
b36ba44e0d Add LPC2368 demo. 2007-04-05 13:47:25 +00:00
Richard Barry
0a6d59a611 V4.2.1 files. 2007-04-01 20:47:49 +00:00
Richard Barry
6118595a07 Add AVR32 port and demo files. 2007-04-01 19:52:27 +00:00
Richard Barry
504382bcb8 Add AVR32 port and demo files. 2007-04-01 19:46:26 +00:00
Richard Barry
45d8ca15b5 Add AVR32 port and demo files. 2007-04-01 19:45:41 +00:00
Richard Barry
06bbaed27a Add AVR32 port and demo files. 2007-04-01 19:44:02 +00:00
Richard Barry
b578c75c4e Get rid of compiler warnings. 2007-04-01 19:40:34 +00:00
Richard Barry
bf2b676eaa Add AVR32 port and demo files. 2007-04-01 19:37:01 +00:00
Richard Barry
b727359f1b Add AVR32 port and demo files. 2007-04-01 19:33:44 +00:00
Richard Barry
4c3a1e29e0 Update include file from lpc2128.h to lpc21xx.h. 2007-03-26 12:04:12 +00:00
Richard Barry
5d413a0078 Moved where LCD_Init() is called from so it cannot call vTaskDelay() before the scheduler is started. 2007-03-08 21:08:52 +00:00
Richard Barry
17228aca47 Add an option for 8 byte alignment. 2007-03-07 17:52:10 +00:00
Richard Barry
8b8a0eeff3 Added -fomit-frame-pointer option. 2007-02-09 21:34:04 +00:00
Richard Barry
712bfdf9d2 Update version number to V4.2.0. 2007-02-08 10:02:18 +00:00
Richard Barry
3306222630 GCC demo for the LM3S811 eval board from Luminary Micro. 2007-02-08 06:34:35 +00:00
Richard Barry
41f3c50a16 New demo for M3 using LM3S811 and IAR tools. 2007-01-28 12:34:38 +00:00
Richard Barry
f20d072c4a Slight mod to take into account different definitions between SafeRTOS and FreeRTOS.org. 2007-01-28 12:18:03 +00:00
Richard Barry
684b802b27 Modification to the behaviour of xQueueSend() and xQueueReceive() in the case that a blocked task times out (bug fix). 2007-01-28 10:20:56 +00:00
Richard Barry
edc1e01eab Bug fix in xTaskCheckForTimeOut() in the case where the tick count has incremented by exactly portMAX_DELAY ticks between two calls (i.e. extremely unlikely). 2007-01-12 08:10:04 +00:00
Richard Barry
761aa4aa7c Updated version numbers to V4.1.3. 2006-11-19 22:13:28 +00:00
Richard Barry
3e92d8aca0 Updated version numbers to V4.1.3. 2006-11-19 19:38:30 +00:00
Richard Barry
0958466903 Add the -fomit-frame-pointer option to GCC ARM7 builds. 2006-11-19 18:04:09 +00:00
Richard Barry
09969dc53e Slight mods to comments in STR75X GCC port and demo files. 2006-11-19 13:41:31 +00:00
Richard Barry
6ac900dc95 First version of STR75x RIDE port and demo. 2006-11-19 13:20:37 +00:00
Richard Barry
b2a52ede55 Changes from V4.1.2:
+ BUG FIX:  Removed the call to prvIsQueueEmpty from within xQueueCRReceive
	  as it exited with interrupts enabled.  Thanks Paul Katz.
2006-10-28 10:41:34 +00:00
Richard Barry
6083a3a3ad Ensure previous modification does not prevent compilation when INCLUDE_vTaskSuspend is set to false. 2006-10-28 09:47:41 +00:00
Richard Barry
19a24602b8 2006-10-28 09:23:09 +00:00
Richard Barry
96d4684fa7 Changes from V4.1.2
+ Tasks that block with a timeout of portMAX_DELAY are now blocked 
	  indefinitely.  Previously portMAX_DELAY was just the longest block time
	  possible.
2006-10-22 20:28:16 +00:00
Richard Barry
f7f28ed01a 2006-10-20 15:57:59 +00:00
Richard Barry
f0c4accb88 Corrected the bug that the comments in the file state was corrected in V4.0.3. 2006-10-20 15:36:22 +00:00
Richard Barry
c1d020f689 2006-10-20 15:32:33 +00:00
Richard Barry
d69aa52fe8 2006-10-20 15:22:50 +00:00
Richard Barry
6456c000bd 2006-10-20 15:12:17 +00:00
Richard Barry
3021b1acc8 Change version numbers to V4.1.2 2006-10-09 11:49:50 +00:00
Richard Barry
3878b82c9b Add PIC24, dsPIC and Coldfire files. 2006-10-09 11:40:24 +00:00
Richard Barry
5561c55286 Update version number to V4.1.1. 2006-09-24 10:12:38 +00:00
Richard Barry
51204ddced Add LM3S811 Keil/RVDS demo files. 2006-09-24 10:06:47 +00:00
Richard Barry
7508aa6219 Added the PRESERVE8 directive to all asm functions. 2006-09-24 10:05:48 +00:00
Richard Barry
4508e6fe73 Remove some casting to keep the Keil/RVDS compiler quiet. 2006-09-24 10:03:55 +00:00
4485 changed files with 1289680 additions and 56893 deletions

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef FREERTOS_CONFIG_H
@@ -45,15 +66,20 @@
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*----------------------------------------------------------*/
*
* See http://www.freertos.org/a00110.html.
*/
/*----------------------------------------------------------*/
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 66000000 ) /* = 66.000MHz clk gen */
#define configCPU_CLOCK_HZ ( ( unsigned long ) 66000000 ) /* = 66.000MHz clk gen */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 128 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 25 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0

View File

@@ -1,32 +1,55 @@
# FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
#/*
# FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
#
# This file is part of the FreeRTOS.org distribution.
# ***************************************************************************
# * *
# * If you are: *
# * *
# * + New to FreeRTOS, *
# * + Wanting to learn FreeRTOS or multitasking in general quickly *
# * + Looking for basic training, *
# * + Wanting to improve your FreeRTOS skills and productivity *
# * *
# * then take a look at the FreeRTOS books - available as PDF or paperback *
# * *
# * "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
# * http://www.FreeRTOS.org/Documentation *
# * *
# * A pdf reference manual is also available. Both are usually delivered *
# * to your inbox within 20 minutes to two hours when purchased between 8am *
# * and 8pm GMT (although please allow up to 24 hours in case of *
# * exceptional circumstances). Thank you for your support! *
# * *
# ***************************************************************************
#
# FreeRTOS.org is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This file is part of the FreeRTOS distribution.
#
# FreeRTOS.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# FreeRTOS is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License (version 2) as published by the
# Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
# ***NOTE*** The exception to the GPL is included to allow you to distribute
# a combined work that includes FreeRTOS without being obliged to provide the
# source code for proprietary components outside of the FreeRTOS kernel.
# FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details. You should have received a copy of the GNU General Public
# License and the FreeRTOS license exception along with FreeRTOS; if not it
# can be viewed here: http://www.freertos.org/a00114.html and also obtained
# by writing to Richard Barry, contact details for whom are available on the
# FreeRTOS WEB site.
#
# You should have received a copy of the GNU General Public License
# along with FreeRTOS.org; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# 1 tab == 4 spaces!
#
# A special exception to the GPL can be applied should you wish to distribute
# a combined work that includes FreeRTOS.org, without being obliged to provide
# the source code for any proprietary components. See the licensing section
# of http://www.FreeRTOS.org for full details of how and when the exception
# can be applied.
# http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details.
#
# ***************************************************************************
# See http://www.FreeRTOS.org for documentation, latest information, license
# and contact details. Please ensure to read the configuration and relevant
# port sections of the online documentation.
# ***************************************************************************
# http://www.SafeRTOS.com - A version that is certified for use in safety
# critical systems.
#
# http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services.
#*/
CC=arm-elf-gcc
OBJCOPY=arm-elf-objcopy
@@ -36,9 +59,10 @@ CRT0=boot.s
#
# CFLAGS common to both the THUMB and ARM mode builds
#
CFLAGS=-Wall -D $(RUN_MODE) -D GCC_AT91FR40008 -I. -I../../Source/include \
CFLAGS=-Wall -Wextra -D $(RUN_MODE) -D GCC_AT91FR40008 -I. -I../../Source/include \
-I../Common/include $(DEBUG) -mcpu=arm7tdmi -T$(LDSCRIPT) \
-Wcast-align $(OPTIM)
-Wcast-align $(OPTIM) -fomit-frame-pointer -fno-strict-aliasing \
-fno-dwarf2-cfi-asm
ifeq ($(USE_THUMB_MODE),YES)
CFLAGS += -mthumb-interwork -D THUMB_INTERWORK
@@ -96,4 +120,6 @@ $(ARM_OBJ) : %.o : %.c $(LDSCRIPT) Makefile
clean :
touch Makefile
rm $(ARM_OBJ)
rm $(THUMB_OBJ)

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/* Scheduler includes. */
@@ -43,9 +64,9 @@
#include "aic.h"
#define partstNUM_LEDS ( 8 )
#define partstALL_OUTPUTS_OFF ( ( unsigned portLONG ) ~(0xFFFFFFFF << partstNUM_LEDS) )
#define partstALL_OUTPUTS_OFF ( ( unsigned long ) ~(0xFFFFFFFF << partstNUM_LEDS) )
static unsigned portLONG ulLEDReg;
static unsigned long ulLEDReg;
/*-----------------------------------------------------------
* Simple parallel port IO routines.
@@ -53,7 +74,7 @@ static unsigned portLONG ulLEDReg;
static void SetLeds (unsigned int leds)
{
unsigned portLONG ulPIOSetReg, ulPIOClearReg;
unsigned long ulPIOSetReg, ulPIOClearReg;
/* LEDs are grouped in different port bits: P3-P6 and P16-P19.
A port bit set to '0' turns an LED on, '1' turns it off. */

View File

@@ -35,6 +35,12 @@ SECTIONS
*(.bss)
} >ram
. = ALIGN(4);
.eh_frame :
{
KEEP (*(.eh_frame))
} > ram
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */

View File

@@ -36,6 +36,12 @@ SECTIONS
*(.bss)
} >ram
. = ALIGN(4);
.eh_frame :
{
KEEP (*(.eh_frame))
} > ram
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */

View File

@@ -1,121 +1,121 @@
//*-----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*-----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*-----------------------------------------------------------------------------
//* File Name : ebi.h
//* Object : External Bus Interface Definition File
//* Translator : ARM Software Development Toolkit V2.11a
//*
//* 1.0 03/11/97 JCZ : Creation
//* 2.0 21/10/98 JCZ : Clean up
//*-----------------------------------------------------------------------------
#ifndef ebi_h
#define ebi_h
/*----------------------------------------*/
/* Memory Controller Interface Definition */
/*----------------------------------------*/
typedef struct
{
at91_reg EBI_CSR[8] ; /* Chip Select Register */
at91_reg EBI_RCR ; /* Remap Control Register */
at91_reg EBI_MCR ; /* Memory Control Register */
} StructEBI ;
/*-----------------------*/
/* Chip Select Registers */
/*-----------------------*/
/* Data Bus Width */
#define DataBus16 (1<<0)
#define DataBus8 (2<<0)
#define DBW (3<<0)
/* Number of Wait States */
#define B_NWS 2
#define WaitState1 (0<<B_NWS)
#define WaitState2 (1<<B_NWS)
#define WaitState3 (2<<B_NWS)
#define WaitState4 (3<<B_NWS)
#define WaitState5 (4<<B_NWS)
#define WaitState6 (5<<B_NWS)
#define WaitState7 (6<<B_NWS)
#define WaitState8 (7<<B_NWS)
#define NWS (7<<B_NWS)
/* Wait State Enable */
#define WaitStateDisable (0<<5)
#define WaitStateEnable (1<<5)
#define WSE (1<<5)
/* Page size */
#define PageSize1M (0<<7)
#define PageSize4M (1<<7)
#define PageSize16M (2<<7)
#define PageSize64M (3<<7)
#define PAGES (3<<7)
/* Number of Data Float Output Time Clock Cycle */
#define B_TDF 9
#define tDF_0cycle (0<<B_TDF)
#define tDF_1cycle (1<<B_TDF)
#define tDF_2cycle (2<<B_TDF)
#define tDF_3cycle (3<<B_TDF)
#define tDF_4cycle (4<<B_TDF)
#define tDF_5cycle (5<<B_TDF)
#define tDF_6cycle (6<<B_TDF)
#define tDF_7cycle (7<<B_TDF)
#define TDF (7<<B_TDF)
/* Byte Access Type */
#define ByteWriteAccessType (0<<12)
#define ByteSelectAccessType (1<<12)
#define BAT 1<<12)
/* Chip Select Enable */
#define CSEnable (1<<13)
#define CSDisable (0<<13)
#define CSE (1<<13)
#define BA ((u_int)(0xFFF)<<20)
/*-------------------------*/
/* Memory Control Register */
/*-------------------------*/
/* Address Line Enable */
#define ALE (7<<0)
#define BankSize16M (0<<0)
#define BankSize8M (4<<0)
#define BankSize4M (5<<0)
#define BankSize2M (6<<0)
#define BankSize1M (7<<0)
/* Data Read Protocol */
#define StandardReadProtocol (0<<4)
#define EarlyReadProtocol (1<<4)
#define DRP (1<<4)
/*------------------------*/
/* Remap Control Register */
/*------------------------*/
#define RCB (1<<0)
/*--------------------------------*/
/* Device Dependancies Definition */
/*--------------------------------*/
#ifdef AT91M40400
/* External Bus Interface User Interface BAse Address */
#define EBI_BASE ((StructEBI *) 0xFFE00000)
#endif
#endif /* ebi_h */
//*-----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*-----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*-----------------------------------------------------------------------------
//* File Name : ebi.h
//* Object : External Bus Interface Definition File
//* Translator : ARM Software Development Toolkit V2.11a
//*
//* 1.0 03/11/97 JCZ : Creation
//* 2.0 21/10/98 JCZ : Clean up
//*-----------------------------------------------------------------------------
#ifndef ebi_h
#define ebi_h
/*----------------------------------------*/
/* Memory Controller Interface Definition */
/*----------------------------------------*/
typedef struct
{
at91_reg EBI_CSR[8] ; /* Chip Select Register */
at91_reg EBI_RCR ; /* Remap Control Register */
at91_reg EBI_MCR ; /* Memory Control Register */
} StructEBI ;
/*-----------------------*/
/* Chip Select Registers */
/*-----------------------*/
/* Data Bus Width */
#define DataBus16 (1<<0)
#define DataBus8 (2<<0)
#define DBW (3<<0)
/* Number of Wait States */
#define B_NWS 2
#define WaitState1 (0<<B_NWS)
#define WaitState2 (1<<B_NWS)
#define WaitState3 (2<<B_NWS)
#define WaitState4 (3<<B_NWS)
#define WaitState5 (4<<B_NWS)
#define WaitState6 (5<<B_NWS)
#define WaitState7 (6<<B_NWS)
#define WaitState8 (7<<B_NWS)
#define NWS (7<<B_NWS)
/* Wait State Enable */
#define WaitStateDisable (0<<5)
#define WaitStateEnable (1<<5)
#define WSE (1<<5)
/* Page size */
#define PageSize1M (0<<7)
#define PageSize4M (1<<7)
#define PageSize16M (2<<7)
#define PageSize64M (3<<7)
#define PAGES (3<<7)
/* Number of Data Float Output Time Clock Cycle */
#define B_TDF 9
#define tDF_0cycle (0<<B_TDF)
#define tDF_1cycle (1<<B_TDF)
#define tDF_2cycle (2<<B_TDF)
#define tDF_3cycle (3<<B_TDF)
#define tDF_4cycle (4<<B_TDF)
#define tDF_5cycle (5<<B_TDF)
#define tDF_6cycle (6<<B_TDF)
#define tDF_7cycle (7<<B_TDF)
#define TDF (7<<B_TDF)
/* Byte Access Type */
#define ByteWriteAccessType (0<<12)
#define ByteSelectAccessType (1<<12)
#define BAT 1<<12)
/* Chip Select Enable */
#define CSEnable (1<<13)
#define CSDisable (0<<13)
#define CSE (1<<13)
#define BA ((u_int)(0xFFF)<<20)
/*-------------------------*/
/* Memory Control Register */
/*-------------------------*/
/* Address Line Enable */
#define ALE (7<<0)
#define BankSize16M (0<<0)
#define BankSize8M (4<<0)
#define BankSize4M (5<<0)
#define BankSize2M (6<<0)
#define BankSize1M (7<<0)
/* Data Read Protocol */
#define StandardReadProtocol (0<<4)
#define EarlyReadProtocol (1<<4)
#define DRP (1<<4)
/*------------------------*/
/* Remap Control Register */
/*------------------------*/
#define RCB (1<<0)
/*--------------------------------*/
/* Device Dependancies Definition */
/*--------------------------------*/
#ifdef AT91M40400
/* External Bus Interface User Interface BAse Address */
#define EBI_BASE ((StructEBI *) 0xFFE00000)
#endif
#endif /* ebi_h */

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/*
@@ -90,7 +111,7 @@
/*-----------------------------------------------------------*/
/* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 )
#define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 5 )
/* Priorities for the demo application tasks. */
@@ -105,10 +126,10 @@
error. */
#define mainNO_ERROR_FLASH_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )
#define mainERROR_FLASH_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS )
#define mainON_BOARD_LED_BIT ( ( unsigned portLONG ) 7 )
#define mainON_BOARD_LED_BIT ( ( unsigned long ) 7 )
/* Constants used by the vMemCheckTask() task. */
#define mainCOUNT_INITIAL_VALUE ( ( unsigned portLONG ) 0 )
#define mainCOUNT_INITIAL_VALUE ( ( unsigned long ) 0 )
#define mainNO_TASK ( 0 )
/* The size of the memory blocks allocated by the vMemCheckTask() task. */
@@ -117,7 +138,7 @@ error. */
#define mainMEM_CHECK_SIZE_3 ( ( size_t ) 151 )
#define MAX_WAIT_STATES 8
static const unsigned portLONG ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =
static const unsigned long ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =
{
WaitState1,/* There is no "zero wait state" value, so use one wait state */
WaitState1,
@@ -135,7 +156,7 @@ static const unsigned portLONG ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =
* Checks that all the demo application tasks are still executing without error
* - as described at the top of the file.
*/
static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount );
static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount );
/*
* The task that executes at the highest priority and calls
@@ -178,7 +199,7 @@ int main( void )
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
/* Start the check task - which is defined in this file. */
xTaskCreate( vErrorChecks, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
xTaskCreate( vErrorChecks, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
/* Now all the tasks have been started - start the scheduler.
@@ -197,9 +218,12 @@ int main( void )
static void vErrorChecks( void *pvParameters )
{
portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;
unsigned portLONG ulMemCheckTaskRunningCount;
unsigned long ulMemCheckTaskRunningCount;
xTaskHandle xCreatedTask;
/* Just to stop compiler warnings. */
( void ) pvParameters;
/* Cycle for ever, delaying then checking all the other tasks are still
operating without error. If an error is detected then the delay period
is decreased from mainNO_ERROR_FLASH_PERIOD to mainERROR_FLASH_PERIOD so
@@ -220,7 +244,7 @@ xTaskHandle xCreatedTask;
/* Dynamically create a task - passing ulMemCheckTaskRunningCount as a
parameter. */
ulMemCheckTaskRunningCount = mainCOUNT_INITIAL_VALUE;
if( xTaskCreate( vMemCheckTask, ( signed portCHAR * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS )
if( xTaskCreate( vMemCheckTask, ( signed char * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS )
{
/* Could not create the task - we have probably run out of heap. */
xDelayPeriod = mainERROR_FLASH_PERIOD;
@@ -253,13 +277,13 @@ xTaskHandle xCreatedTask;
static void prvSetupHardware( void )
{
portLONG lCount;
long lCount;
#ifdef RUN_FROM_ROM
{
portFLOAT nsecsPerClockTick;
portLONG lNumWaitStates;
unsigned portLONG ulCSRWaitValue;
long lNumWaitStates;
unsigned long ulCSRWaitValue;
/* We are compiling to run from ROM (either on-chip or off-chip flash).
Leave the RAM/flash mapped the way they are on reset
@@ -271,7 +295,7 @@ portLONG lCount;
based on constants. But the compiler should still produce
a correct wait state register value. */
nsecsPerClockTick = ( portFLOAT ) 1000000000 / configCPU_CLOCK_HZ;
lNumWaitStates = ( portLONG )( ( configFLASH_SPEED_NSEC / nsecsPerClockTick ) + 0.5 ) - 1;
lNumWaitStates = ( long )( ( configFLASH_SPEED_NSEC / nsecsPerClockTick ) + 0.5 ) - 1;
if( lNumWaitStates < 0 )
{
@@ -328,9 +352,9 @@ portLONG lCount;
}
/*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount )
static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount )
{
portLONG lReturn = ( portLONG ) pdPASS;
long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected
@@ -338,44 +362,44 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreComTestTasksStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xArePollingQueuesStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreMathsTaskStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreBlockingQueuesStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( ulMemCheckTaskCount == mainCOUNT_INITIAL_VALUE )
{
/* The vMemCheckTask did not increment the counter - it must
have failed. */
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
return lReturn;
@@ -384,9 +408,9 @@ portLONG lReturn = ( portLONG ) pdPASS;
static void vMemCheckTask( void *pvParameters )
{
unsigned portLONG *pulMemCheckTaskRunningCounter;
unsigned long *pulMemCheckTaskRunningCounter;
void *pvMem1, *pvMem2, *pvMem3;
static portLONG lErrorOccurred = pdFALSE;
static long lErrorOccurred = pdFALSE;
/* This task is dynamically created then deleted during each cycle of the
vErrorChecks task to check the operation of the memory allocator. Each time
@@ -399,7 +423,7 @@ static portLONG lErrorOccurred = pdFALSE;
pulMemCheckTaskRunningCounter is incremented each cycle to indicate to the
vErrorChecks() task that this task is still executing without error. */
pulMemCheckTaskRunningCounter = ( unsigned portLONG * ) pvParameters;
pulMemCheckTaskRunningCounter = ( unsigned long * ) pvParameters;
for( ;; )
{

View File

@@ -1,149 +1,149 @@
//*---------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*---------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*-----------------------------------------------------------------------------
//* File Name : pio.h
//* Object : Parallel I/O Definition File
//* Translator : ARM Software Development Toolkit V2.11a
//*
//* 1.0 20/10/97 JCZ : Creation
//* 2.0 21/10/98 JCZ : Clean up
//*---------------------------------------------------------------------------
#ifndef pio_h
#define pio_h
/*---------------------------------------------*/
/* Parallel I/O Interface Structure Definition */
/*---------------------------------------------*/
typedef struct
{
at91_reg PIO_PER ; /* PIO Enable Register */
at91_reg PIO_PDR ; /* PIO Disable Register */
at91_reg PIO_PSR ; /* PIO Status Register */
at91_reg Reserved0 ;
at91_reg PIO_OER ; /* Output Enable Register */
at91_reg PIO_ODR ; /* Output Disable Register */
at91_reg PIO_OSR ; /* Output Status Register */
at91_reg Reserved1 ;
at91_reg PIO_IFER ; /* Input Filter Enable Register */
at91_reg PIO_IFDR ; /* Input Filter Disable Register */
at91_reg PIO_IFSR ; /* Input Filter Status Register */
at91_reg Reserved2 ;
at91_reg PIO_SODR ; /* Set Output Data Register */
at91_reg PIO_CODR ; /* Clear Output Data Register */
at91_reg PIO_ODSR ; /* Output Data Status Register */
at91_reg PIO_PDSR ; /* Pin Data Status Register */
at91_reg PIO_IER ; /* Interrupt Enable Register */
at91_reg PIO_IDR ; /* Interrupt Disable Register */
at91_reg PIO_IMR ; /* Interrupt Mask Register */
at91_reg PIO_ISR ; /* Interrupt Status Register */
} StructPIO ;
/*-----------------------------*/
/* PIO Handler type definition */
/*-----------------------------*/
//typedef void (*TypePIOHandler) ( StructPIO *pio_pt, u_int pio_mask ) ;
/*--------------------------------*/
/* Device Dependancies Definition */
/*--------------------------------*/
/* Number of PIO Controller */
#define NB_PIO_CTRL 1
/* Base Address */
#define PIO_BASE ((StructPIO *) 0xFFFF0000 )
/* Number of PIO Lines */
#define NB_PIO 32
/* Parallel I/O Bits Definition */
#define P0 (1<<0)
#define P1 (1<<1)
#define P2 (1<<2)
#define P3 (1<<3)
#define P4 (1<<4)
#define P5 (1<<5)
#define P6 (1<<6)
#define P7 (1<<7)
#define P8 (1<<8)
#define P9 (1<<9)
#define P10 (1<<10)
#define P11 (1<<11)
#define P12 (1<<12)
#define P13 (1<<13)
#define P14 (1<<14)
#define P15 (1<<15)
#define P16 (1<<16)
#define P17 (1<<17)
#define P18 (1<<18)
#define P19 (1<<19)
#define P20 (1<<20)
#define P21 (1<<21)
#define P22 (1<<22)
#define P23 (1<<23)
#define P24 (1<<24)
#define P25 (1<<25)
#define P26 (1<<26)
#define P27 (1<<27)
#define P28 (1<<28)
#define P29 (1<<29)
#define P30 (1<<30)
#define P31 (1<<31)
/* PIO Multiplexing Definition */
/* There is only one PIO Controller */
#define PIO_CTRL 0
#define PIO_TC0 PIO_CTRL
#define TCLK0 P0
#define TIOA0 P1
#define TIOB0 P2
#define PIN_TC0 (TIOA0|TIOB0|TCLK0)
#define PIO_TC1 PIO_CTRL
#define TCLK1 P3
#define TIOA1 P4
#define TIOB1 P5
#define PIN_TC1 (TIOA1|TIOB1|TCLK1)
#define PIO_TC2 PIO_CTRL
#define TCLK2 P6
#define TIOA2 P7
#define TIOB2 P8
#define PIN_TC2 (TIOA2|TIOB2|TCLK2)
#define PIO_EXT_IRQ PIO_CTRL
#define PIN_IRQ0 P9
#define PIN_IRQ1 P10
#define PIN_IRQ2 P11
#define PIN_FIQ P12
#define PIO_USART0 PIO_CTRL
#define SCK0 P13
#define TXD0 P14
#define RXD0 P15
#define PIN_USART0 (SCK0|TXD0|RXD0)
#define PIO_USART1 PIO_CTRL
#define SCK1 P20
#define TXD1 P21
#define RXD1 P22
#define PIN_USART1 (SCK1|TXD1|RXD1)
#define MCKO P25
#define CS2 P26
#define CS3 P27
#define CS4 P31
#define CS5 P30
#define CS6 P29
#define CS7 P28
#endif /* pio_h */
//*---------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*---------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*-----------------------------------------------------------------------------
//* File Name : pio.h
//* Object : Parallel I/O Definition File
//* Translator : ARM Software Development Toolkit V2.11a
//*
//* 1.0 20/10/97 JCZ : Creation
//* 2.0 21/10/98 JCZ : Clean up
//*---------------------------------------------------------------------------
#ifndef pio_h
#define pio_h
/*---------------------------------------------*/
/* Parallel I/O Interface Structure Definition */
/*---------------------------------------------*/
typedef struct
{
at91_reg PIO_PER ; /* PIO Enable Register */
at91_reg PIO_PDR ; /* PIO Disable Register */
at91_reg PIO_PSR ; /* PIO Status Register */
at91_reg Reserved0 ;
at91_reg PIO_OER ; /* Output Enable Register */
at91_reg PIO_ODR ; /* Output Disable Register */
at91_reg PIO_OSR ; /* Output Status Register */
at91_reg Reserved1 ;
at91_reg PIO_IFER ; /* Input Filter Enable Register */
at91_reg PIO_IFDR ; /* Input Filter Disable Register */
at91_reg PIO_IFSR ; /* Input Filter Status Register */
at91_reg Reserved2 ;
at91_reg PIO_SODR ; /* Set Output Data Register */
at91_reg PIO_CODR ; /* Clear Output Data Register */
at91_reg PIO_ODSR ; /* Output Data Status Register */
at91_reg PIO_PDSR ; /* Pin Data Status Register */
at91_reg PIO_IER ; /* Interrupt Enable Register */
at91_reg PIO_IDR ; /* Interrupt Disable Register */
at91_reg PIO_IMR ; /* Interrupt Mask Register */
at91_reg PIO_ISR ; /* Interrupt Status Register */
} StructPIO ;
/*-----------------------------*/
/* PIO Handler type definition */
/*-----------------------------*/
//typedef void (*TypePIOHandler) ( StructPIO *pio_pt, u_int pio_mask ) ;
/*--------------------------------*/
/* Device Dependancies Definition */
/*--------------------------------*/
/* Number of PIO Controller */
#define NB_PIO_CTRL 1
/* Base Address */
#define PIO_BASE ((StructPIO *) 0xFFFF0000 )
/* Number of PIO Lines */
#define NB_PIO 32
/* Parallel I/O Bits Definition */
#define P0 (1<<0)
#define P1 (1<<1)
#define P2 (1<<2)
#define P3 (1<<3)
#define P4 (1<<4)
#define P5 (1<<5)
#define P6 (1<<6)
#define P7 (1<<7)
#define P8 (1<<8)
#define P9 (1<<9)
#define P10 (1<<10)
#define P11 (1<<11)
#define P12 (1<<12)
#define P13 (1<<13)
#define P14 (1<<14)
#define P15 (1<<15)
#define P16 (1<<16)
#define P17 (1<<17)
#define P18 (1<<18)
#define P19 (1<<19)
#define P20 (1<<20)
#define P21 (1<<21)
#define P22 (1<<22)
#define P23 (1<<23)
#define P24 (1<<24)
#define P25 (1<<25)
#define P26 (1<<26)
#define P27 (1<<27)
#define P28 (1<<28)
#define P29 (1<<29)
#define P30 (1<<30)
#define P31 (1<<31)
/* PIO Multiplexing Definition */
/* There is only one PIO Controller */
#define PIO_CTRL 0
#define PIO_TC0 PIO_CTRL
#define TCLK0 P0
#define TIOA0 P1
#define TIOB0 P2
#define PIN_TC0 (TIOA0|TIOB0|TCLK0)
#define PIO_TC1 PIO_CTRL
#define TCLK1 P3
#define TIOA1 P4
#define TIOB1 P5
#define PIN_TC1 (TIOA1|TIOB1|TCLK1)
#define PIO_TC2 PIO_CTRL
#define TCLK2 P6
#define TIOA2 P7
#define TIOB2 P8
#define PIN_TC2 (TIOA2|TIOB2|TCLK2)
#define PIO_EXT_IRQ PIO_CTRL
#define PIN_IRQ0 P9
#define PIN_IRQ1 P10
#define PIN_IRQ2 P11
#define PIN_FIQ P12
#define PIO_USART0 PIO_CTRL
#define SCK0 P13
#define TXD0 P14
#define RXD0 P15
#define PIN_USART0 (SCK0|TXD0|RXD0)
#define PIO_USART1 PIO_CTRL
#define SCK1 P20
#define TXD1 P21
#define RXD1 P22
#define PIN_USART1 (SCK1|TXD1|RXD1)
#define MCKO P25
#define CS2 P26
#define CS3 P27
#define CS4 P31
#define CS5 P30
#define CS6 P29
#define CS7 P28
#endif /* pio_h */

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/*
@@ -56,7 +77,7 @@
/*-----------------------------------------------------------*/
/* Constants to setup and access the UART. */
#define portUSART0_AIC_CHANNEL ( ( unsigned portLONG ) 2 )
#define portUSART0_AIC_CHANNEL ( ( unsigned long ) 2 )
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
#define serHANDLE ( ( xComPortHandle ) 1 )
@@ -79,12 +100,12 @@ extern void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueu
/*-----------------------------------------------------------*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{
unsigned portLONG ulSpeed;
unsigned portLONG ulCD;
unsigned long ulSpeed;
unsigned long ulCD;
xComPortHandle xReturn = serHANDLE;
extern void ( vUART_ISR )( void );
extern void ( vUART_ISR_Wrapper )( void );
/* The queues are used in the serial ISR routine, so are created from
serialISR.c (which is always compiled to ARM mode. */
@@ -93,7 +114,7 @@ extern void ( vUART_ISR )( void );
if(
( xRxedChars != serINVALID_QUEUE ) &&
( xCharsForTx != serINVALID_QUEUE ) &&
( ulWantedBaud != ( unsigned portLONG ) 0 )
( ulWantedBaud != ( unsigned long ) 0 )
)
{
portENTER_CRITICAL();
@@ -136,7 +157,7 @@ extern void ( vUART_ISR )( void );
/* Setup the interrupt for USART0.
Store interrupt handler function address in USART0 vector register... */
AT91C_BASE_AIC->AIC_SVR[ portUSART0_AIC_CHANNEL ] = (unsigned long)vUART_ISR;
AT91C_BASE_AIC->AIC_SVR[ portUSART0_AIC_CHANNEL ] = (unsigned long)vUART_ISR_Wrapper;
/* USART0 interrupt level-sensitive, priority 1... */
AT91C_BASE_AIC->AIC_SMR[ portUSART0_AIC_CHANNEL ] = AIC_SRCTYPE_INT_LEVEL_SENSITIVE | 1;
@@ -164,7 +185,7 @@ extern void ( vUART_ISR )( void );
}
/*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{
/* The port handle is not required as this driver only supports UART0. */
( void ) pxPort;
@@ -182,18 +203,19 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
}
/*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength )
void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{
signed portCHAR *pxNext;
signed char *pxNext;
/* NOTE: This implementation does not handle the queue being full as no
block time is used! */
/* The port handle is not required as this driver only supports UART0. */
( void ) pxPort;
( void ) usStringLength;
/* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString;
pxNext = ( signed char * ) pcString;
while( *pxNext )
{
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@@ -202,8 +224,10 @@ signed portCHAR *pxNext;
}
/*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{
( void ) pxPort;
/* Place the character in the queue of characters to be transmitted. */
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
{
@@ -223,6 +247,7 @@ signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOut
void vSerialClose( xComPortHandle xPort )
{
/* Not supported as not required by the demo application. */
( void ) xPort;
}
/*-----------------------------------------------------------*/

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
@@ -56,14 +77,14 @@
/*-----------------------------------------------------------*/
/* Constant to access the AIC. */
#define serCLEAR_AIC_INTERRUPT ( ( unsigned portLONG ) 0 )
#define serCLEAR_AIC_INTERRUPT ( ( unsigned long ) 0 )
/* Constants to determine the ISR source. */
#define serSOURCE_THRE ( ( unsigned portCHAR ) 0x02 )
#define serSOURCE_RX_TIMEOUT ( ( unsigned portCHAR ) 0x0c )
#define serSOURCE_ERROR ( ( unsigned portCHAR ) 0x06 )
#define serSOURCE_RX ( ( unsigned portCHAR ) 0x04 )
#define serINTERRUPT_SOURCE_MASK ( ( unsigned portLONG ) (US_RXRDY | US_TXRDY | US_RXBRK | US_OVRE | US_FRAME | US_PARE) )
#define serSOURCE_THRE ( ( unsigned char ) 0x02 )
#define serSOURCE_RX_TIMEOUT ( ( unsigned char ) 0x0c )
#define serSOURCE_ERROR ( ( unsigned char ) 0x06 )
#define serSOURCE_RX ( ( unsigned char ) 0x04 )
#define serINTERRUPT_SOURCE_MASK ( ( unsigned long ) (US_RXRDY | US_TXRDY | US_RXBRK | US_OVRE | US_FRAME | US_PARE) )
/* Queues used to hold received characters, and characters waiting to be
transmitted. */
@@ -74,14 +95,18 @@ static xQueueHandle xCharsForTx;
/* UART0 interrupt service routine. This can cause a context switch so MUST
be declared "naked". */
void vUART_ISR( void ) __attribute__ ((naked));
void vUART_ISR_Wrapper( void ) __attribute__ ((naked));
/* The ISR function that actually performs the work. This must be separate
from the wrapper to ensure the correct stack frame is set up. */
void vUART_ISR_Handler( void ) __attribute__ ((noinline));
/*-----------------------------------------------------------*/
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx )
{
/* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* Pass back a reference to the queues so the serial API file can
post/receive characters. */
@@ -90,17 +115,26 @@ void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle
}
/*-----------------------------------------------------------*/
void vUART_ISR( void )
void vUART_ISR_Wrapper( void )
{
/* This ISR can cause a context switch, so the first statement must be a
call to the portENTER_SWITCHING_ISR() macro. This must be BEFORE any
variable declarations. */
portENTER_SWITCHING_ISR();
/* Save the context of the interrupted task. */
portSAVE_CONTEXT();
/* Now we can declare the local variables. */
signed portCHAR cChar;
portBASE_TYPE xTaskWokenByTx = pdFALSE, xTaskWokenByRx = pdFALSE;
unsigned portLONG ulStatus;
/* Call the handler. This must be a separate function to ensure the
stack frame is correctly set up. */
__asm volatile( "bl vUART_ISR_Handler" );
/* Restore the context of whichever task will run next. */
portRESTORE_CONTEXT();
}
/*-----------------------------------------------------------*/
void vUART_ISR_Handler( void )
{
/* Now we can declare the local variables. These must be static. */
signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
unsigned long ulStatus;
/* What caused the interrupt? */
ulStatus = AT91C_BASE_US0->US_CSR & AT91C_BASE_US0->US_IMR;
@@ -109,7 +143,7 @@ void vUART_ISR( void )
{
/* The interrupt was caused by the THR becoming empty. Are there any
more characters to transmit? */
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xTaskWokenByTx ) == pdTRUE )
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
{
/* A character was retrieved from the queue so can be sent to the
THR now. */
@@ -127,18 +161,20 @@ void vUART_ISR( void )
/* The interrupt was caused by the receiver getting data. */
cChar = AT91C_BASE_US0->US_RHR;
if (xQueueSendFromISR(xRxedChars, &cChar, pdFALSE))
{
xTaskWokenByRx = pdTRUE;
}
xQueueSendFromISR(xRxedChars, &cChar, &xHigherPriorityTaskWoken);
}
// Acknowledge the interrupt at AIC level...
/* Acknowledge the interrupt at AIC level... */
AT91C_BASE_AIC->AIC_EOICR = serCLEAR_AIC_INTERRUPT;
/* Exit the ISR. If a task was woken by either a character being received
or transmitted then a context switch will occur. */
portEXIT_SWITCHING_ISR( ( xTaskWokenByTx || xTaskWokenByRx ) );
/* If an event caused a task to unblock then we call "Yield from ISR" to
ensure that the unblocked task is the task that executes when the interrupt
completes if the unblocked task has a priority higher than the interrupted
task. */
if( xHigherPriorityTaskWoken )
{
portYIELD_FROM_ISR();
}
}
/*-----------------------------------------------------------*/

View File

@@ -1,39 +1,60 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
#include <intrinsic.h>
#include <intrinsics.h>
#include "Board.h"
/*-----------------------------------------------------------
@@ -43,16 +64,18 @@
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*----------------------------------------------------------*/
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*
* See http://www.freertos.org/a00110.html.
-----------------------------------------------------------*/
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 47923200 )
#define configCPU_CLOCK_HZ ( ( unsigned long ) 47923200 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 100 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) 14200 )
#define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 0

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#include "FreeRTOS.h"
@@ -38,7 +59,7 @@
* Simple parallel port IO routines for the LED's.
*-----------------------------------------------------------*/
const unsigned portLONG led_mask[ NB_LED ]= { LED1, LED2, LED3, LED4 };
const unsigned long led_mask[ NB_LED ]= { LED1, LED2, LED3, LED4 };
void vParTestInitialise( void )
{

View File

@@ -17,7 +17,7 @@
#define Board_h
#include "AT91SAM7S64.h"
#define __inline inline
#define __inline static inline
#include "lib_AT91SAM7S64.h"
#define true -1

View File

@@ -0,0 +1,302 @@
;* ----------------------------------------------------------------------------
;* ATMEL Microcontroller Software Support - ROUSSET -
;* ----------------------------------------------------------------------------
;* Copyright (c) 2006, Atmel Corporation
;
;* All rights reserved.
;*
;* Redistribution and use in source and binary forms, with or without
;* modification, are permitted provided that the following conditions are met:
;*
;* - Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the disclaimer below.
;*
;* - Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the disclaimer below in the documentation and/or
;* other materials provided with the distribution.
;*
;* Atmel's name may not be used to endorse or promote products derived from
;* this software without specific prior written permission.
;*
;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;* ----------------------------------------------------------------------------
;------------------------------------------------------------------------------
; Include your AT91 Library files
;------------------------------------------------------------------------------
#include "AT91SAM7X256_inc.h"
;------------------------------------------------------------------------------
#define TOP_OF_MEMORY (AT91C_ISRAM + AT91C_ISRAM_SIZE)
#define IRQ_STACK_SIZE 200
; 3 words to be saved per interrupt priority level
; Mode, correspords to bits 0-5 in CPSR
MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR
USR_MODE DEFINE 0x10 ; User mode
FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode
IRQ_MODE DEFINE 0x12 ; Interrupt Request mode
SVC_MODE DEFINE 0x13 ; Supervisor mode
ABT_MODE DEFINE 0x17 ; Abort mode
UND_MODE DEFINE 0x1B ; Undefined Instruction mode
SYS_MODE DEFINE 0x1F ; System mode
I_BIT DEFINE 0x80
F_BIT DEFINE 0x40
;------------------------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;------------------------------------------------------------------------------
SECTION .intvec:CODE:NOROOT(2)
PUBLIC __vector
PUBLIC __iar_program_start
EXTERN vPortYieldProcessor
ARM
__vector:
ldr pc,[pc,#+24] ;; Reset
__und_handler:
ldr pc,[pc,#+24] ;; Undefined instructions
__swi_handler:
ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC)
__prefetch_handler:
ldr pc,[pc,#+24] ;; Prefetch abort
__data_handler:
ldr pc,[pc,#+24] ;; Data abort
DC32 0xFFFFFFFF ;; RESERVED
__irq_handler:
LDR PC, [PC, #-0xF20]
__fiq_handler:
ldr pc,[pc,#+24] ;; FIQ
DC32 __iar_program_start
DC32 __und_handler
DC32 vPortYieldProcessor
DC32 __prefetch_handler
DC32 __data_handler
B .
DC32 IRQ_Handler_Entry
DC32 FIQ_Handler_Entry
;------------------------------------------------------------------------------
;- Manage exception: The exception must be ensure in ARM mode
;------------------------------------------------------------------------------
SECTION text:CODE:NOROOT(2)
ARM
;------------------------------------------------------------------------------
;- Function : FIQ_Handler_Entry
;- Treatments : FIQ Controller Interrupt Handler.
;- R8 is initialize in Cstartup
;- Called Functions : None only by FIQ
;------------------------------------------------------------------------------
FIQ_Handler_Entry:
;- Switch in SVC/User Mode to allow User Stack access for C code
; because the FIQ is not yet acknowledged
;- Save and r0 in FIQ_Register
mov r9,r0
ldr r0 , [r8, #AIC_FVR]
msr CPSR_c,#I_BIT | F_BIT | SVC_MODE
;- Save scratch/used registers and LR in User Stack
stmfd sp!, { r1-r3, r12, lr}
;- Branch to the routine pointed by the AIC_FVR
mov r14, pc
bx r0
;- Restore scratch/used registers and LR from User Stack
ldmia sp!, { r1-r3, r12, lr}
;- Leave Interrupts disabled and switch back in FIQ mode
msr CPSR_c, #I_BIT | F_BIT | FIQ_MODE
;- Restore the R0 ARM_MODE_SVC register
mov r0,r9
;- Restore the Program Counter using the LR_fiq directly in the PC
subs pc,lr,#4
;------------------------------------------------------------------------------
;- Function : IRQ_Handler_Entry
;- Treatments : IRQ Controller Interrupt Handler.
;- Called Functions : AIC_IVR[interrupt]
;------------------------------------------------------------------------------
IRQ_Handler_Entry:
;-------------------------
;- Manage Exception Entry
;-------------------------
;- Adjust and save LR_irq in IRQ stack
sub lr, lr, #4
stmfd sp!, {lr}
;- Save r0 and SPSR (need to be saved for nested interrupt)
mrs r14, SPSR
stmfd sp!, {r0,r14}
;- Write in the IVR to support Protect Mode
;- No effect in Normal Mode
;- De-assert the NIRQ and clear the source in Protect Mode
ldr r14, =AT91C_BASE_AIC
ldr r0 , [r14, #AIC_IVR]
str r14, [r14, #AIC_IVR]
;- Enable Interrupt and Switch in Supervisor Mode
msr CPSR_c, #SVC_MODE
;- Save scratch/used registers and LR in User Stack
stmfd sp!, { r1-r3, r12, r14}
;----------------------------------------------
;- Branch to the routine pointed by the AIC_IVR
;----------------------------------------------
mov r14, pc
bx r0
;----------------------------------------------
;- Manage Exception Exit
;----------------------------------------------
;- Restore scratch/used registers and LR from User Stack
ldmia sp!, { r1-r3, r12, r14}
;- Disable Interrupt and switch back in IRQ mode
msr CPSR_c, #I_BIT | IRQ_MODE
;- Mark the End of Interrupt on the AIC
ldr r14, =AT91C_BASE_AIC
str r14, [r14, #AIC_EOICR]
;- Restore SPSR_irq and r0 from IRQ stack
ldmia sp!, {r0,r14}
msr SPSR_cxsf, r14
;- Restore adjusted LR_irq from IRQ stack directly in the PC
ldmia sp!, {pc}^
;------------------------------------------------------------------------------
;- Exception Vectors
;------------------------------------------------------------------------------
PUBLIC AT91F_Default_FIQ_handler
PUBLIC AT91F_Default_IRQ_handler
PUBLIC AT91F_Spurious_handler
ARM ; Always ARM mode after exeption
AT91F_Default_FIQ_handler
b AT91F_Default_FIQ_handler
AT91F_Default_IRQ_handler
b AT91F_Default_IRQ_handler
AT91F_Spurious_handler
b AT91F_Spurious_handler
;------------------------------------------------------------------------------
; ?INIT
; Program entry.
;------------------------------------------------------------------------------
SECTION FIQ_STACK:DATA:NOROOT(3)
SECTION IRQ_STACK:DATA:NOROOT(3)
SECTION SVC_STACK:DATA:NOROOT(3)
SECTION ABT_STACK:DATA:NOROOT(3)
SECTION UND_STACK:DATA:NOROOT(3)
SECTION CSTACK:DATA:NOROOT(3)
SECTION text:CODE:NOROOT(2)
REQUIRE __vector
EXTERN ?main
PUBLIC __iar_program_start
EXTERN AT91F_LowLevelInit
__iar_program_start:
;------------------------------------------------------------------------------
;- Low level Init is performed in a C function: AT91F_LowLevelInit
;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit
;------------------------------------------------------------------------------
;- Retrieve end of RAM address
ldr r13,=TOP_OF_MEMORY ;- Temporary stack in internal RAM for Low Level Init execution
ldr r0,=AT91F_LowLevelInit
mov lr, pc
bx r0 ;- Branch on C function (with interworking)
; Initialize the stack pointers.
; The pattern below can be used for any of the exception stacks:
; FIQ, IRQ, SVC, ABT, UND, SYS.
; The USR mode uses the same stack as SYS.
; The stack segments must be defined in the linker command file,
; and be declared above.
mrs r0,cpsr ; Original PSR value
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#SVC_MODE ; Set SVC mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#UND_MODE ; Set UND mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(UND_STACK) ; End of UND_STACK
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#ABT_MODE ; Set ABT mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#FIQ_MODE ; Set FIQ mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK
;- Init the FIQ register
ldr r8, =AT91C_BASE_AIC
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#IRQ_MODE ; Set IRQ mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#SYS_MODE ; Set System mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(CSTACK) ; End of CSTACK
#ifdef __ARMVFP__
; Enable the VFP coprocessor.
mov r0, #0x40000000 ; Set EN bit in VFP
fmxr fpexc, r0 ; FPEXC, clear others.
; Disable underflow exceptions by setting flush to zero mode.
; For full IEEE 754 underflow compliance this code should be removed
; and the appropriate exception handler installed.
mov r0, #0x01000000 ; Set FZ bit in VFP
fmxr fpscr, r0 ; FPSCR, clear others.
#endif
; Add more initialization here
msr CPSR_c,#I_BIT | F_BIT | SVC_MODE
; Continue to ?main for more IAR specific system startup
ldr r0,=?main
bx r0
END ;- Terminates the assembly of the last module in a file

View File

@@ -1,223 +0,0 @@
;------------------------------------------------------------------------------
;- ATMEL Microcontroller Software Support - ROUSSET -
;------------------------------------------------------------------------------
; The software is delivered "AS IS" without warranty or condition of any
; kind, either express, implied or statutory. This includes without
; limitation any warranty or condition with respect to merchantability or
; fitness for any particular purpose, or against the infringements of
; intellectual property rights of others.
;-----------------------------------------------------------------------------
;- File source : Cstartup.s79
;- Object : Generic CStartup for IAR No Use REMAP
;- Compilation flag : None
;-
;- 1.0 15/Jun/04 JPP : Creation
;------------------------------------------------------------------------------
#include "AT91SAM7S64_inc.h"
;------------------------------------------------------------------------------
;- Area Definition
;------------------------------------------------------------------------------
;---------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other
; addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;-------------------------------------------------------------
PROGRAM ?RESET
RSEG INTRAMSTART_REMAP
RSEG INTRAMEND_REMAP
EXTERN vPortYieldProcessor
RSEG ICODE:CODE:ROOT(2)
CODE32 ; Always ARM mode after reset
org 0
reset
;------------------------------------------------------------------------------
;- Exception vectors
;--------------------
;- These vectors can be read at address 0 or at RAM address
;- They ABSOLUTELY requires to be in relative addresssing mode in order to
;- guarantee a valid jump. For the moment, all are just looping.
;- If an exception occurs before remap, this would result in an infinite loop.
;- To ensure if a exeption occurs before start application to infinite loop.
;------------------------------------------------------------------------------
B InitReset ; 0x00 Reset handler
undefvec:
B undefvec ; 0x04 Undefined Instruction
swivec:
B vPortYieldProcessor ; 0x08 Software Interrupt
pabtvec:
B pabtvec ; 0x0C Prefetch Abort
dabtvec:
B dabtvec ; 0x10 Data Abort
rsvdvec:
B rsvdvec ; 0x14 reserved
irqvec:
LDR PC, [PC, #-0xF20] ; Jump directly to the address given by the AIC
fiqvec: ; 0x1c FIQ
;------------------------------------------------------------------------------
;- Function : FIQ_Handler_Entry
;- Treatments : FIQ Controller Interrupt Handler.
;- Called Functions : AIC_FVR[interrupt]
;------------------------------------------------------------------------------
FIQ_Handler_Entry:
;- Switch in SVC/User Mode to allow User Stack access for C code
; because the FIQ is not yet acknowledged
;- Save and r0 in FIQ_Register
mov r9,r0
ldr r0 , [r8, #AIC_FVR]
msr CPSR_c,#I_BIT | F_BIT | ARM_MODE_SVC
;- Save scratch/used registers and LR in User Stack
stmfd sp!, { r1-r3, r12, lr}
;- Branch to the routine pointed by the AIC_FVR
mov r14, pc
bx r0
;- Restore scratch/used registers and LR from User Stack
ldmia sp!, { r1-r3, r12, lr}
;- Leave Interrupts disabled and switch back in FIQ mode
msr CPSR_c, #I_BIT | F_BIT | ARM_MODE_FIQ
;- Restore the R0 ARM_MODE_SVC register
mov r0,r9
;- Restore the Program Counter using the LR_fiq directly in the PC
subs pc,lr,#4
InitReset:
;------------------------------------------------------------------------------
;- Low level Init (PMC, AIC, ? ....) by C function AT91F_LowLevelInit
;------------------------------------------------------------------------------
EXTERN AT91F_LowLevelInit
#define __iramend SFB(INTRAMEND_REMAP)
;- minumum C initialization
;- call AT91F_LowLevelInit( void)
ldr r13,=__iramend ; temporary stack in internal RAM
;--Call Low level init function in ABSOLUTE through the Interworking
ldr r0,=AT91F_LowLevelInit
mov lr, pc
bx r0
;------------------------------------------------------------------------------
;- Stack Sizes Definition
;------------------------
;- Interrupt Stack requires 2 words x 8 priority level x 4 bytes when using
;- the vectoring. This assume that the IRQ management.
;- The Interrupt Stack must be adjusted depending on the interrupt handlers.
;- Fast Interrupt not requires stack If in your application it required you must
;- be definehere.
;- The System stack size is not defined and is limited by the free internal
;- SRAM.
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;- Top of Stack Definition
;-------------------------
;- Interrupt and Supervisor Stack are located at the top of internal memory in
;- order to speed the exception handling context saving and restoring.
;- ARM_MODE_SVC (Application, C) Stack is located at the top of the external memory.
;------------------------------------------------------------------------------
IRQ_STACK_SIZE EQU 300
ARM_MODE_FIQ EQU 0x11
ARM_MODE_IRQ EQU 0x12
ARM_MODE_SVC EQU 0x13
I_BIT EQU 0x80
F_BIT EQU 0x40
;------------------------------------------------------------------------------
;- Setup the stack for each mode
;-------------------------------
ldr r0, =__iramend
;- Set up Fast Interrupt Mode and set FIQ Mode Stack
msr CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
;- Init the FIQ register
ldr r8, =AT91C_BASE_AIC
;- Set up Interrupt Mode and set IRQ Mode Stack
msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
mov r13, r0 ; Init stack IRQ
sub r0, r0, #IRQ_STACK_SIZE
;- Enable interrupt & Set up Supervisor Mode and set Supervisor Mode Stack
msr CPSR_c, #ARM_MODE_SVC
mov r13, r0
;---------------------------------------------------------------
; ?CSTARTUP
;---------------------------------------------------------------
EXTERN __segment_init
EXTERN main
; Initialize segments.
; __segment_init is assumed to use
; instruction set and to be reachable by BL from the ICODE segment
; (it is safest to link them in segment ICODE).
ldr r0,=__segment_init
mov lr, pc
bx r0
PUBLIC __main
?jump_to_main:
ldr lr,=?call_exit
ldr r0,=main
__main:
bx r0
;------------------------------------------------------------------------------
;- Loop for ever
;---------------
;- End of application. Normally, never occur.
;- Could jump on Software Reset ( B 0x0 ).
;------------------------------------------------------------------------------
?call_exit:
End
b End
;---------------------------------------------------------------
; ?EXEPTION_VECTOR
; This module is only linked if needed for closing files.
;---------------------------------------------------------------
PUBLIC AT91F_Default_FIQ_handler
PUBLIC AT91F_Default_IRQ_handler
PUBLIC AT91F_Spurious_handler
CODE32 ; Always ARM mode after exeption
AT91F_Default_FIQ_handler
b AT91F_Default_FIQ_handler
AT91F_Default_IRQ_handler
b AT91F_Default_IRQ_handler
AT91F_Spurious_handler
b AT91F_Spurious_handler
ENDMOD
END

View File

@@ -1,45 +1,66 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/*
Sample interrupt driven USB device driver. This is a minimal implementation
Sample interrupt driven USB device driver. This is a minimal implementation
for demonstration only. Although functional, it is not a full and compliant
implementation.
implementation.
The USB device enumerates as a simple 3 axis joystick, and once configured
transmits 3 axis of data which can be viewed from the USB host machine.
This file implements the USB interrupt service routine, and a demo FreeRTOS
task. The interrupt service routine handles the USB hardware - taking a
This file implements the USB interrupt service routine, and a demo FreeRTOS
task. The interrupt service routine handles the USB hardware - taking a
snapshot of the USB status at the point of the interrupt. The task receives
the status information from the interrupt for processing at the task level.
@@ -50,7 +71,7 @@
Changes from V2.5.5
+ Descriptors that have a length that is an exact multiple of usbFIFO_LENGTH
can now be transmitted. To this end an extra parameter has been
can now be transmitted. To this end an extra parameter has been
added to the prvSendControlData() function, and the state
eSENDING_EVEN_DESCRIPTOR has been introduced. Thanks to Scott Miller for
assisting with this contribution.
@@ -110,7 +131,7 @@
#define usbINTERFACE_STRING ( 4 )
/* Data indexes for reading the request from the xISRStatus.ucFifoData[]
into xUSB_REQUEST. The data order is designed for speed - so looks a
into xUSB_REQUEST. The data order is designed for speed - so looks a
little odd. */
#define usbREQUEST_TYPE_INDEX ( 7 )
#define usbREQUEST_INDEX ( 6 )
@@ -124,7 +145,7 @@ little odd. */
/* Misc application definitions. */
#define usbINTERRUPT_PRIORITY ( 3 )
#define usbQUEUE_LENGTH ( 0x3 ) /* Must have all bits set! */
#define usbFIFO_LENGTH ( ( unsigned portLONG ) 8 )
#define usbFIFO_LENGTH ( ( unsigned long ) 8 )
#define usbEND_POINT_0 ( 0 )
#define usbEND_POINT_1 ( 1 )
#define usbXUP ( 1 )
@@ -133,14 +154,14 @@ little odd. */
#define usbYDOWN ( 4 )
#define usbMAX_COORD ( 120 )
#define usbMAX_TX_MESSAGE_SIZE ( 128 )
#define usbRX_COUNT_MASK ( ( unsigned portLONG ) 0x7ff )
#define usbRX_COUNT_MASK ( ( unsigned long ) 0x7ff )
#define AT91C_UDP_STALLSENT AT91C_UDP_ISOERROR
#define usbSHORTEST_DELAY ( ( portTickType ) 1 )
#define usbINIT_DELAY ( ( portTickType ) 500 / portTICK_RATE_MS )
#define usbSHORT_DELAY ( ( portTickType ) 50 / portTICK_RATE_MS )
#define usbEND_POINT_RESET_MASK ( ( unsigned portLONG ) 0x0f )
#define usbDATA_INC ( ( portCHAR ) 5 )
#define usbEXPECTED_NUMBER_OF_BYTES ( ( unsigned portLONG ) 8 )
#define usbEND_POINT_RESET_MASK ( ( unsigned long ) 0x0f )
#define usbDATA_INC ( ( char ) 5 )
#define usbEXPECTED_NUMBER_OF_BYTES ( ( unsigned long ) 8 )
/* Control request types. */
#define usbSTANDARD_DEVICE_REQUEST ( 0 )
@@ -153,19 +174,19 @@ little odd. */
/* Structure used to take a snapshot of the USB status from within the ISR. */
typedef struct X_ISR_STATUS
{
unsigned portLONG ulISR;
unsigned portLONG ulCSR0;
unsigned portCHAR ucFifoData[ 8 ];
unsigned long ulISR;
unsigned long ulCSR0;
unsigned char ucFifoData[ 8 ];
} xISRStatus;
/* Structure used to hold the received requests. */
typedef struct
typedef struct
{
unsigned portCHAR ucReqType;
unsigned portCHAR ucRequest;
unsigned portSHORT usValue;
unsigned portSHORT usIndex;
unsigned portSHORT usLength;
unsigned char ucReqType;
unsigned char ucRequest;
unsigned short usValue;
unsigned short usIndex;
unsigned short usLength;
} xUSB_REQUEST;
typedef enum
@@ -181,14 +202,14 @@ typedef enum
/* Structure used to control the data being sent to the host. */
typedef struct
{
unsigned portCHAR ucTxBuffer[ usbMAX_TX_MESSAGE_SIZE ];
unsigned portLONG ulNextCharIndex;
unsigned portLONG ulTotalDataLength;
unsigned char ucTxBuffer[ usbMAX_TX_MESSAGE_SIZE ];
unsigned long ulNextCharIndex;
unsigned long ulTotalDataLength;
} xTX_MESSAGE;
/*-----------------------------------------------------------*/
/*
/*
* The USB interrupt service routine. This takes a snapshot of the USB
* device at the time of the interrupt, clears the interrupts, and posts
* the data to the USB processing task.
@@ -202,7 +223,7 @@ __arm void vUSB_ISR( void );
static void prvResetEndPoints( void );
/*
* Setup the USB hardware, install the interrupt service routine and
* Setup the USB hardware, install the interrupt service routine and
* initialise all the state variables.
*/
static void vInitUSBInterface( void );
@@ -212,17 +233,17 @@ static void vInitUSBInterface( void );
*/
static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage );
/*
* For simplicity requests are separated into device, interface, class
/*
* For simplicity requests are separated into device, interface, class
* interface and end point requests.
*
* Decode and handle standard device requests originating on the control
* end point.
* end point.
*/
static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest );
/*
* For simplicity requests are separated into device, interface, class
* For simplicity requests are separated into device, interface, class
* interface and end point requests.
*
* Decode and handle standard interface requests originating on the control
@@ -231,7 +252,7 @@ static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest );
static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest );
/*
* For simplicity requests are separated into device, interface, class
* For simplicity requests are separated into device, interface, class
* interface and end point requests.
*
* Decode and handle standard end point requests originating on the control
@@ -240,7 +261,7 @@ static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest );
static void prvHandleStandardEndPointRequest( xUSB_REQUEST *pxRequest );
/*
* For simplicity requests are separated into device, interface, class
* For simplicity requests are separated into device, interface, class
* interface and end point requests.
*
* Decode and handle the class interface requests.
@@ -256,11 +277,11 @@ static void prvHandleClassInterfaceRequest( xUSB_REQUEST *pxRequest );
* in response to TXCOMP interrupts until the entire buffer has been
* sent.
*/
static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT usRequestedLength, unsigned portLONG ulLengthLeftToSend, portLONG lSendingDescriptor );
static void prvSendControlData( unsigned char *pucData, unsigned short usRequestedLength, unsigned long ulLengthLeftToSend, long lSendingDescriptor );
/*
* Examine the Tx buffer to see if there is any more data to be transmitted.
*
*
* If there is data to be transmitted then send the next segment. A segment
* can have a maximum of 8 bytes (this is defined as the maximum for the end
* point by the descriptor). The final segment may be less than 8 bytes if
@@ -271,36 +292,36 @@ static void prvSendNextSegment( void );
/*
* A stall condition is forced each time the host makes a request that is not
* supported by this minimal implementation.
*
*
* A stall is forced by setting the appropriate bit in the end points control
* and status register.
* and status register.
*/
static void prvSendStall( void );
/*
* A NULL (or zero length packet) is transmitted in acknowledge the reception
* A NULL (or zero length packet) is transmitted in acknowledge the reception
* of certain events from the host.
*/
static void prvUSBTransmitNull( void );
/*
* When the host requests a descriptor this function is called to determine
/*
* When the host requests a descriptor this function is called to determine
* which descriptor is being requested and start its transmission.
*/
static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest );
/*
* This demo USB device enumerates as a simple 3 axis joystick. Once
* This demo USB device enumerates as a simple 3 axis joystick. Once
* configured this function is periodically called to generate some sample
* joystick data.
*
* The x and y axis are made to move in a square. The z axis is made to
* The x and y axis are made to move in a square. The z axis is made to
* repeatedly increment up to its maximum.
*/
static void prvTransmitSampleValues( void );
/*
* The created task to handle the USB demo functionality.
* The created task to handle the USB demo functionality.
*/
void vUSBDemoTask( void *pvParameters );
@@ -319,14 +340,14 @@ These take the form:
Data
}
*/
const portCHAR pxLanguageStringDescriptor[] =
const char pxLanguageStringDescriptor[] =
{
4,
usbDESCRIPTOR_TYPE_STRING,
0x09, 0x04
};
const portCHAR pxManufacturerStringDescriptor[] =
const char pxManufacturerStringDescriptor[] =
{
18,
usbDESCRIPTOR_TYPE_STRING,
@@ -341,7 +362,7 @@ const portCHAR pxManufacturerStringDescriptor[] =
'S', 0x00
};
const portCHAR pxProductStringDescriptor[] =
const char pxProductStringDescriptor[] =
{
44,
usbDESCRIPTOR_TYPE_STRING,
@@ -369,7 +390,7 @@ const portCHAR pxProductStringDescriptor[] =
'k', 0x00
};
const portCHAR pxConfigurationStringDescriptor[] =
const char pxConfigurationStringDescriptor[] =
{
38,
usbDESCRIPTOR_TYPE_STRING,
@@ -394,7 +415,7 @@ const portCHAR pxConfigurationStringDescriptor[] =
'e', 0x00
};
const portCHAR pxInterfaceStringDescriptor[] =
const char pxInterfaceStringDescriptor[] =
{
30,
usbDESCRIPTOR_TYPE_STRING,
@@ -416,7 +437,7 @@ const portCHAR pxInterfaceStringDescriptor[] =
};
/* Enumeration descriptors. */
const portCHAR pxReportDescriptor[] =
const char pxReportDescriptor[] =
{
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x04, /* USAGE (Joystick) */
@@ -436,7 +457,7 @@ const portCHAR pxReportDescriptor[] =
0xc0 /* END_COLLECTION */
};
const char pxDeviceDescriptor[] =
const char pxDeviceDescriptor[] =
{
/* Device descriptor */
0x12, /* bLength */
@@ -498,8 +519,8 @@ const char pxConfigDescriptor[] = {
/*-----------------------------------------------------------*/
/* File scope state variables. */
static unsigned portCHAR ucUSBConfig = ( unsigned portCHAR ) 0;
static unsigned portLONG ulReceivedAddress = ( unsigned portLONG ) 0;
static unsigned char ucUSBConfig = ( unsigned char ) 0;
static unsigned long ulReceivedAddress = ( unsigned long ) 0;
static eDRIVER_STATE eDriverState = eNOTHING;
/* Array in which the USB interrupt status is passed between the ISR and task. */
@@ -509,7 +530,7 @@ static xISRStatus xISRMessages[ usbQUEUE_LENGTH + 1 ];
static xTX_MESSAGE pxCharsForTx;
/* Queue used to pass messages between the ISR and the task. */
static xQueueHandle xUSBInterruptQueue;
static xQueueHandle xUSBInterruptQueue;
/* ISR entry has to be written in the asm file as we want a context switch
to occur from within the ISR. See the port documentation on the FreeRTOS.org
@@ -518,9 +539,9 @@ extern void vUSBISREntry( void );
/*-----------------------------------------------------------*/
/* Macros to manipulate the control and status registers. These registers
cannot be accessed using a direct read modify write operation outside of the
ISR as some bits are left unchanged by writing with a 0, and some are left
/* Macros to manipulate the control and status registers. These registers
cannot be accessed using a direct read modify write operation outside of the
ISR as some bits are left unchanged by writing with a 0, and some are left
unchanged by writing with a 1. */
#define usbINT_CLEAR_MASK (AT91C_UDP_TXCOMP | AT91C_UDP_STALLSENT | AT91C_UDP_RXSETUP | AT91C_UDP_RX_DATA_BK0 | AT91C_UDP_RX_DATA_BK1 )
@@ -530,14 +551,14 @@ unchanged by writing with a 1. */
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( unsigned portLONG ) 0x4f; \
( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\
/* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( unsigned portLONG ) 0xffffffcf; \
( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\
/* Set whichever bit we want set. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( ulBit ); \
( * ( ( unsigned long * ) pulValueNow ) ) |= ( ulBit ); \
}
#define usbCSR_CLEAR_BIT( pulValueNow, ulBit ) \
@@ -545,24 +566,24 @@ unchanged by writing with a 1. */
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) |= ( unsigned portLONG ) 0x4f; \
( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\
/* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( unsigned portLONG ) 0xffffffcf; \
( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\
/* Clear whichever bit we want clear. */ \
( * ( ( unsigned portLONG * ) pulValueNow ) ) &= ( ~ulBit ); \
( * ( ( unsigned long * ) pulValueNow ) ) &= ( ~ulBit ); \
}
/*-----------------------------------------------------------*/
__arm void vUSB_ISR( void )
{
portBASE_TYPE xTaskWokenByPost = pdFALSE;
static volatile unsigned portLONG ulNextMessage = 0;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
static volatile unsigned long ulNextMessage = 0;
xISRStatus *pxMessage;
unsigned portLONG ulTemp, ulRxBytes;
unsigned long ulTemp, ulRxBytes;
/* Take the next message from the queue. Note that usbQUEUE_LENGTH *must*
be all 1's, as in 0x01, 0x03, 0x07, etc. */
@@ -578,7 +599,7 @@ unsigned portLONG ulTemp, ulRxBytes;
cleared separately as it does not appear in the mask register. */
AT91C_BASE_UDP->UDP_ICR = AT91C_BASE_UDP->UDP_IMR | AT91C_UDP_ENDBUSRES;
/* If there are bytes in the FIFO then we have to retrieve them here.
/* If there are bytes in the FIFO then we have to retrieve them here.
Ideally this would be done at the task level. However we need to clear the
RXSETUP interrupt before leaving the ISR, and this may cause the data in
the FIFO to be overwritten. Also the DIR bit has to be changed before the
@@ -589,7 +610,7 @@ unsigned portLONG ulTemp, ulRxBytes;
ulRxBytes = ulTemp >> 16;
ulRxBytes &= usbRX_COUNT_MASK;
/* With this minimal implementation we are only interested in receiving
/* With this minimal implementation we are only interested in receiving
setup bytes on the control end point. */
if( ( ulRxBytes > 0 ) && ( ulTemp & AT91C_UDP_RXSETUP ) )
{
@@ -618,11 +639,11 @@ unsigned portLONG ulTemp, ulRxBytes;
/* The message now contains the entire state and optional data from
the USB interrupt. This can now be posted on the Rx queue ready for
processing at the task level. */
xTaskWokenByPost = xQueueSendFromISR( xUSBInterruptQueue, &pxMessage, xTaskWokenByPost );
xQueueSendFromISR( xUSBInterruptQueue, &pxMessage, &xHigherPriorityTaskWoken );
/* We may want to switch to the USB task, if this message has made
it the highest priority task that is ready to execute. */
portEND_SWITCHING_ISR( xTaskWokenByPost );
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
/* Clear the AIC ready for the next interrupt. */
AT91C_BASE_AIC->AIC_EOICR = 0;
@@ -641,7 +662,7 @@ xISRStatus *pxMessage;
vInitUSBInterface();
portEXIT_CRITICAL();
/* Process interrupts as they arrive. The ISR takes a snapshot of the
/* Process interrupts as they arrive. The ISR takes a snapshot of the
interrupt status then posts the information on this queue for processing
at the task level. This simple demo implementation only processes
a few interrupt sources. */
@@ -676,11 +697,11 @@ xISRStatus *pxMessage;
static void prvTransmitSampleValues( void )
{
unsigned portLONG ulStatus;
static portLONG lState = usbXUP;
unsigned long ulStatus;
static long lState = usbXUP;
/* Variables to hold dummy x, y and z joystick axis data. */
static signed portCHAR x = 0, y = 0, z = 0;
static signed char x = 0, y = 0, z = 0;
/* Generate some sample data in the x and y axis - draw a square. */
switch( lState )
@@ -739,7 +760,7 @@ static signed portCHAR x = 0, y = 0, z = 0;
static void prvUSBTransmitNull( void )
{
unsigned portLONG ulStatus;
unsigned long ulStatus;
/* Wait until the FIFO is free - even though we are not going to use it.
THERE IS NO TIMEOUT HERE! */
@@ -766,7 +787,7 @@ unsigned portLONG ulStatus;
static void prvSendStall( void )
{
unsigned portLONG ulStatus;
unsigned long ulStatus;
portENTER_CRITICAL();
{
@@ -781,13 +802,13 @@ unsigned portLONG ulStatus;
static void prvResetEndPoints( void )
{
unsigned portLONG ulTemp;
unsigned long ulTemp;
eDriverState = eJUST_RESET;
/* Reset all the end points. */
AT91C_BASE_UDP->UDP_RSTEP = usbEND_POINT_RESET_MASK;
AT91C_BASE_UDP->UDP_RSTEP = ( unsigned portLONG ) 0x00;
AT91C_BASE_UDP->UDP_RSTEP = ( unsigned long ) 0x00;
/* Enable data to be sent and received. */
AT91C_BASE_UDP->UDP_FADDR = AT91C_UDP_FEN;
@@ -796,7 +817,7 @@ unsigned portLONG ulTemp;
portENTER_CRITICAL();
{
ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ];
usbCSR_SET_BIT( &ulTemp, ( ( unsigned portLONG ) ( AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_CTRL ) ) );
usbCSR_SET_BIT( &ulTemp, ( ( unsigned long ) ( AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_CTRL ) ) );
AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulTemp;
AT91F_UDP_EnableIt( AT91C_BASE_UDP, AT91C_UDP_EPINT0 );
}
@@ -808,7 +829,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
{
if( pxMessage->ulCSR0 & AT91C_UDP_RX_DATA_BK0 )
{
/* We only expect to receive zero length data here as ACK's.
/* We only expect to receive zero length data here as ACK's.
Set the data pointer to the end of the current Tx packet to
ensure we don't send out any more data. */
pxCharsForTx.ulNextCharIndex = pxCharsForTx.ulTotalDataLength;
@@ -828,7 +849,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
/* Read the end point for data transfer. */
portENTER_CRITICAL();
{
unsigned portLONG ulTemp;
unsigned long ulTemp;
ulTemp = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_1 ];
usbCSR_SET_BIT( &ulTemp, AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_INT_IN );
@@ -843,7 +864,7 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
{
/* We sent an acknowledgement of a SET_ADDRESS request. Move
to the addressed state. */
if( ulReceivedAddress != ( unsigned portLONG ) 0 )
if( ulReceivedAddress != ( unsigned long ) 0 )
{
AT91C_BASE_UDP->UDP_GLBSTATE = AT91C_UDP_FADDEN;
}
@@ -866,8 +887,8 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
if( pxMessage->ulCSR0 & AT91C_UDP_RXSETUP )
{
xUSB_REQUEST xRequest;
unsigned portCHAR ucRequest;
unsigned portLONG ulRxBytes;
unsigned char ucRequest;
unsigned long ulRxBytes;
/* A data packet is available. */
ulRxBytes = pxMessage->ulCSR0 >> 16;
@@ -893,9 +914,9 @@ static void prvProcessEndPoint0Interrupt( xISRStatus *pxMessage )
xRequest.usLength <<= 8;
xRequest.usLength |= pxMessage->ucFifoData[ usbLENGTH_LOW_BYTE ];
/* Manipulate the ucRequestType and the ucRequest parameters to
generate a zero based request selection. This is just done to
break up the requests into subsections for clarity. The
/* Manipulate the ucRequestType and the ucRequest parameters to
generate a zero based request selection. This is just done to
break up the requests into subsections for clarity. The
alternative would be to have more huge switch statement that would
be difficult to optimise. */
ucRequest = ( ( xRequest.ucReqType & 0x60 ) >> 3 );
@@ -937,11 +958,11 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
switch( ( pxRequest->usValue & 0xff00 ) >> 8 )
{
case usbDESCRIPTOR_TYPE_DEVICE:
prvSendControlData( ( unsigned portCHAR * ) &pxDeviceDescriptor, pxRequest->usLength, sizeof( pxDeviceDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) &pxDeviceDescriptor, pxRequest->usLength, sizeof( pxDeviceDescriptor ), pdTRUE );
break;
case usbDESCRIPTOR_TYPE_CONFIGURATION:
prvSendControlData( ( unsigned portCHAR * ) &( pxConfigDescriptor ), pxRequest->usLength, sizeof( pxConfigDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) &( pxConfigDescriptor ), pxRequest->usLength, sizeof( pxConfigDescriptor ), pdTRUE );
break;
case usbDESCRIPTOR_TYPE_STRING:
@@ -950,23 +971,23 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
switch( pxRequest->usValue & 0xff )
{
case usbLANGUAGE_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxLanguageStringDescriptor, pxRequest->usLength, sizeof(pxLanguageStringDescriptor), pdTRUE );
prvSendControlData( ( unsigned char * ) &pxLanguageStringDescriptor, pxRequest->usLength, sizeof(pxLanguageStringDescriptor), pdTRUE );
break;
case usbMANUFACTURER_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxManufacturerStringDescriptor, pxRequest->usLength, sizeof( pxManufacturerStringDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) &pxManufacturerStringDescriptor, pxRequest->usLength, sizeof( pxManufacturerStringDescriptor ), pdTRUE );
break;
case usbPRODUCT_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxProductStringDescriptor, pxRequest->usLength, sizeof( pxProductStringDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) &pxProductStringDescriptor, pxRequest->usLength, sizeof( pxProductStringDescriptor ), pdTRUE );
break;
case usbCONFIGURATION_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxConfigurationStringDescriptor, pxRequest->usLength, sizeof( pxConfigurationStringDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) &pxConfigurationStringDescriptor, pxRequest->usLength, sizeof( pxConfigurationStringDescriptor ), pdTRUE );
break;
case usbINTERFACE_STRING:
prvSendControlData( ( unsigned portCHAR * ) &pxInterfaceStringDescriptor, pxRequest->usLength, sizeof( pxInterfaceStringDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) &pxInterfaceStringDescriptor, pxRequest->usLength, sizeof( pxInterfaceStringDescriptor ), pdTRUE );
break;
default:
@@ -987,13 +1008,13 @@ static void prvGetStandardDeviceDescriptor( xUSB_REQUEST *pxRequest )
static void prvHandleStandardDeviceRequest( xUSB_REQUEST *pxRequest )
{
unsigned portSHORT usStatus = 0;
unsigned short usStatus = 0;
switch( pxRequest->ucRequest )
{
case usbGET_STATUS_REQUEST:
/* Just send two byte dummy status. */
prvSendControlData( ( unsigned portCHAR * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
prvSendControlData( ( unsigned char * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
break;
case usbGET_DESCRIPTOR_REQUEST:
@@ -1003,7 +1024,7 @@ unsigned portSHORT usStatus = 0;
case usbGET_CONFIGURATION_REQUEST:
/* Send selected device configuration */
prvSendControlData( ( unsigned portCHAR * ) &ucUSBConfig, sizeof( ucUSBConfig ), sizeof( ucUSBConfig ), pdFALSE );
prvSendControlData( ( unsigned char * ) &ucUSBConfig, sizeof( ucUSBConfig ), sizeof( ucUSBConfig ), pdFALSE );
break;
case usbSET_FEATURE_REQUEST:
@@ -1018,16 +1039,16 @@ unsigned portSHORT usStatus = 0;
address and set our state so we know we have received the address. */
prvUSBTransmitNull();
eDriverState = eJUST_GOT_ADDRESS;
ulReceivedAddress = ( unsigned portLONG ) pxRequest->usValue;
ulReceivedAddress = ( unsigned long ) pxRequest->usValue;
break;
case usbSET_CONFIGURATION_REQUEST:
/* Acknowledge the SET_CONFIGURATION, but (according to the manual)
we cannot actually move to the configured state until we get a
/* Acknowledge the SET_CONFIGURATION, but (according to the manual)
we cannot actually move to the configured state until we get a
TXCOMP interrupt from this NULL packet. Therefore we just remember the
config and set our state so we know we have received the go ahead. */
ucUSBConfig = ( unsigned portCHAR ) ( pxRequest->usValue & 0xff );
ucUSBConfig = ( unsigned char ) ( pxRequest->usValue & 0xff );
eDriverState = eJUST_GOT_CONFIG;
prvUSBTransmitNull();
break;
@@ -1065,10 +1086,10 @@ static void prvHandleClassInterfaceRequest( xUSB_REQUEST *pxRequest )
static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest )
{
switch( ( pxRequest->usValue & ( unsigned portSHORT ) 0xff00 ) >> 8 )
switch( ( pxRequest->usValue & ( unsigned short ) 0xff00 ) >> 8 )
{
case usbHID_REPORT_DESCRIPTOR:
prvSendControlData( ( unsigned portCHAR * ) pxReportDescriptor, pxRequest->usLength, sizeof( pxReportDescriptor ), pdTRUE );
prvSendControlData( ( unsigned char * ) pxReportDescriptor, pxRequest->usLength, sizeof( pxReportDescriptor ), pdTRUE );
break;
default:
@@ -1082,17 +1103,17 @@ static void prvGetStandardInterfaceDescriptor( xUSB_REQUEST *pxRequest )
static void prvHandleStandardInterfaceRequest( xUSB_REQUEST *pxRequest )
{
unsigned portSHORT usStatus = 0;
unsigned short usStatus = 0;
switch( pxRequest->ucRequest )
{
case usbGET_STATUS_REQUEST:
/* Send dummy 2 bytes. */
prvSendControlData( ( unsigned portCHAR * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
prvSendControlData( ( unsigned char * ) &usStatus, sizeof( usStatus ), sizeof( usStatus ), pdFALSE );
break;
case usbGET_DESCRIPTOR_REQUEST:
prvGetStandardInterfaceDescriptor( pxRequest );
prvGetStandardInterfaceDescriptor( pxRequest );
break;
/* This minimal implementation does not respond to these. */
@@ -1113,7 +1134,7 @@ static void prvHandleStandardEndPointRequest( xUSB_REQUEST *pxRequest )
{
/* This minimal implementation does not expect to respond to these. */
case usbGET_STATUS_REQUEST:
case usbCLEAR_FEATURE_REQUEST:
case usbCLEAR_FEATURE_REQUEST:
case usbSET_FEATURE_REQUEST:
default:
@@ -1125,14 +1146,14 @@ static void prvHandleStandardEndPointRequest( xUSB_REQUEST *pxRequest )
static void vInitUSBInterface( void )
{
volatile unsigned portLONG ulTemp;
volatile unsigned long ulTemp;
/* Create the queue used to communicate between the USB ISR and task. */
xUSBInterruptQueue = xQueueCreate( usbQUEUE_LENGTH + 1, sizeof( xISRStatus * ) );
/* Initialise a few state variables. */
pxCharsForTx.ulNextCharIndex = ( unsigned portLONG ) 0;
ucUSBConfig = ( unsigned portCHAR ) 0;
pxCharsForTx.ulNextCharIndex = ( unsigned long ) 0;
ucUSBConfig = ( unsigned char ) 0;
eDriverState = eNOTHING;
/* HARDWARE SETUP */
@@ -1147,24 +1168,24 @@ volatile unsigned portLONG ulTemp;
/* Setup the PIO for the USB pull up resistor. */
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,AT91C_PIO_PA16);
/* Start without the pullup - this will get set at the end of this
/* Start without the pullup - this will get set at the end of this
function. */
AT91F_PIO_SetOutput( AT91C_BASE_PIOA, AT91C_PIO_PA16 );
/* When using the USB debugger the peripheral registers do not always get
set to the correct default values. To make sure set the relevant registers
manually here. */
AT91C_BASE_UDP->UDP_IDR = ( unsigned portLONG ) 0xffffffff;
AT91C_BASE_UDP->UDP_ICR = ( unsigned portLONG ) 0xffffffff;
AT91C_BASE_UDP->UDP_CSR[ 0 ] = ( unsigned portLONG ) 0x00;
AT91C_BASE_UDP->UDP_CSR[ 1 ] = ( unsigned portLONG ) 0x00;
AT91C_BASE_UDP->UDP_IDR = ( unsigned long ) 0xffffffff;
AT91C_BASE_UDP->UDP_ICR = ( unsigned long ) 0xffffffff;
AT91C_BASE_UDP->UDP_CSR[ 0 ] = ( unsigned long ) 0x00;
AT91C_BASE_UDP->UDP_CSR[ 1 ] = ( unsigned long ) 0x00;
AT91C_BASE_UDP->UDP_GLBSTATE = 0;
AT91C_BASE_UDP->UDP_FADDR = 0;
/* Enable the transceiver. */
AT91C_UDP_TRANSCEIVER_ENABLE = 0;
/* Enable the USB interrupts - other interrupts get enabled as the
/* Enable the USB interrupts - other interrupts get enabled as the
enumeration process progresses. */
AT91F_AIC_ConfigureIt( AT91C_BASE_AIC, AT91C_ID_UDP, usbINTERRUPT_PRIORITY, AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, ( void (*)( void ) ) vUSBISREntry );
AT91F_AIC_EnableIt( AT91C_BASE_AIC, AT91C_ID_UDP );
@@ -1175,16 +1196,16 @@ volatile unsigned portLONG ulTemp;
}
/*-----------------------------------------------------------*/
static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT usRequestedLength, unsigned portLONG ulLengthToSend, portLONG lSendingDescriptor )
static void prvSendControlData( unsigned char *pucData, unsigned short usRequestedLength, unsigned long ulLengthToSend, long lSendingDescriptor )
{
if( ( ( unsigned portLONG ) usRequestedLength < ulLengthToSend ) )
if( ( ( unsigned long ) usRequestedLength < ulLengthToSend ) )
{
/* Cap the data length to that requested. */
ulLengthToSend = ( unsigned portSHORT ) usRequestedLength;
ulLengthToSend = ( unsigned short ) usRequestedLength;
}
else if( ( ulLengthToSend < ( unsigned portLONG ) usRequestedLength ) && lSendingDescriptor )
else if( ( ulLengthToSend < ( unsigned long ) usRequestedLength ) && lSendingDescriptor )
{
/* We are sending a descriptor. If the descriptor is an exact
/* We are sending a descriptor. If the descriptor is an exact
multiple of the FIFO length then it will have to be terminated
with a NULL packet. Set the state to indicate this if
necessary. */
@@ -1201,12 +1222,12 @@ static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT u
(if it is greater than 8 bytes in length). */
memcpy( pxCharsForTx.ucTxBuffer, pucData, ulLengthToSend );
/* Reinitialise the buffer index so we start sending from the start of
/* Reinitialise the buffer index so we start sending from the start of
the data. */
pxCharsForTx.ulTotalDataLength = ulLengthToSend;
pxCharsForTx.ulNextCharIndex = ( unsigned portLONG ) 0;
pxCharsForTx.ulNextCharIndex = ( unsigned long ) 0;
/* Send the first 8 bytes now. The rest will get sent in response to
/* Send the first 8 bytes now. The rest will get sent in response to
TXCOMP interrupts. */
prvSendNextSegment();
}
@@ -1214,7 +1235,7 @@ static void prvSendControlData( unsigned portCHAR *pucData, unsigned portSHORT u
static void prvSendNextSegment( void )
{
volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
volatile unsigned long ulNextLength, ulStatus, ulLengthLeftToSend;
/* Is there any data to send? */
if( pxCharsForTx.ulTotalDataLength > pxCharsForTx.ulNextCharIndex )
@@ -1239,7 +1260,7 @@ volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
}
/* Write the data to the FIFO. */
while( ulNextLength > ( unsigned portLONG ) 0 )
while( ulNextLength > ( unsigned long ) 0 )
{
AT91C_BASE_UDP->UDP_FDR[ usbEND_POINT_0 ] = pxCharsForTx.ucTxBuffer[ pxCharsForTx.ulNextCharIndex ];
@@ -1251,14 +1272,14 @@ volatile unsigned portLONG ulNextLength, ulStatus, ulLengthLeftToSend;
portENTER_CRITICAL();
{
ulStatus = AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ];
usbCSR_SET_BIT( &ulStatus, ( ( unsigned portLONG ) 0x10 ) );
usbCSR_SET_BIT( &ulStatus, ( ( unsigned long ) 0x10 ) );
AT91C_BASE_UDP->UDP_CSR[ usbEND_POINT_0 ] = ulStatus;
}
portEXIT_CRITICAL();
}
else
{
/* There is no data to send. If we were sending a descriptor and the
/* There is no data to send. If we were sending a descriptor and the
descriptor was an exact multiple of the max packet size then we need
to send a null to terminate the transmission. */
if( eDriverState == eSENDING_EVEN_DESCRIPTOR )

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/*
@@ -90,7 +111,7 @@
#define mainCHECK_TASK_LED ( 3 )
/* Constants for the ComTest tasks. */
#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 )
#define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )
#define mainCOM_TEST_LED ( 4 ) /* Off the board. */
/*
@@ -111,7 +132,7 @@ static void prvSetupHardware( void );
* Checks that all the demo application tasks are still executing without error
* - as described at the top of the file.
*/
static portLONG prvCheckOtherTasksAreStillRunning( void );
static long prvCheckOtherTasksAreStillRunning( void );
/*-----------------------------------------------------------*/
@@ -207,9 +228,9 @@ portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;
}
/*-----------------------------------------------------------*/
static portLONG prvCheckOtherTasksAreStillRunning( void )
static long prvCheckOtherTasksAreStillRunning( void )
{
portLONG lReturn = ( portLONG ) pdPASS;
long lReturn = ( long ) pdPASS;
/* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none of them have detected
@@ -217,32 +238,32 @@ portLONG lReturn = ( portLONG ) pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xArePollingQueuesStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreSemaphoreTasksStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreBlockingQueuesStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreComTestTasksStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{
lReturn = ( portLONG ) pdFAIL;
lReturn = ( long ) pdFAIL;
}
return lReturn;

View File

@@ -1,135 +0,0 @@
// ---------------------------------------------------------
// ATMEL Microcontroller Software Support - ROUSSET -
// ---------------------------------------------------------
// The software is delivered "AS IS" without warranty or
// condition of any kind, either express, implied or
// statutory. This includes without limitation any warranty
// or condition with respect to merchantability or fitness
// for any particular purpose, or against the infringements of
// intellectual property rights of others.
// ---------------------------------------------------------
// File: at91SAM7S64_16KRAM.xlc
//
// 1.1 16/Jun/04 JPP : Creation for 4.11A
//
// $Revision: 1.1.1.1 $
//
// ---------------------------------------------------------
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1.1.1 $
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
// AT91SAM7S64 Memory mapping
// No remap
// ROMSTART
// Start address 0x0000 0000
// Size 64 Kbo 0x0001 0000
// RAMSTART
// Start address 0x0020 0000
// Size 16 Kbo 0x0000 4000
// Remap done
// RAMSTART
// Start address 0x0000 0000
// Size 16 Kbo 0x0000 4000
// ROMSTART
// Start address 0x0010 0000
// Size 64 Kbo 0x0001 0000
//************************************************
-carm
//*************************************************************************
// Internal Ram segments mapped AFTER REMAP 16 K.
//*************************************************************************
// Use these addresses for the .
-Z(CONST)INTRAMSTART_REMAP=00000000
-Z(CONST)INTRAMEND_REMAP=00003FFF
//*************************************************************************
// Read-only segments mapped to Flash 64 K.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=0000FFFF
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=00000000
-DRAMEND=00003FFF
//************************************************
// Address range for reset and exception
// vectors (INTVEC).
// The vector area is 32 bytes,
// an additional 32 bytes is allocated for the
// constant table used by ldr PC in cstartup.s79.
//************************************************
-Z(CODE)INTVEC=00-3F
//************************************************
// Startup code and exception routines (ICODE).
//************************************************
-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND
-Z(CODE)SWITAB=ROMSTART-ROMEND
//************************************************
// Code segments may be placed anywhere.
//************************************************
-Z(CODE)CODE=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=RAMSTART-RAMEND
//************************************************
// ICCARM produces code for __ramfunc functions in
// CODE_I segments. The -Q XLINK command line
// option redirects XLINK to emit the code in the
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=(100*4)
-D_IRQ_STACK_SIZE=(2*8*4)
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND
//*************************************************************************
// ELF/DWARF support.
//
// Uncomment the line "-Felf" below to generate ELF/DWARF output.
// Available format specifiers are:
//
// "-yn": Suppress DWARF debug output
// "-yp": Multiple ELF program sections
// "-yas": Format suitable for debuggers from ARM Ltd (also sets -p flag)
//
// "-Felf" and the format specifiers can also be supplied directly as
// command line options, or selected from the Xlink Output tab in the
// IAR Embedded Workbench.
//*************************************************************************
// -Felf

View File

@@ -0,0 +1,43 @@
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00100000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00100040;
define symbol __ICFEDIT_region_ROM_end__ = 0x10FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x200000;
define symbol __ICFEDIT_region_RAM_end__ = 0x203FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_svcstack__ = 0x100;
define symbol __ICFEDIT_size_irqstack__ = 0x100;
define symbol __ICFEDIT_size_fiqstack__ = 0x0;
define symbol __ICFEDIT_size_undstack__ = 0x0;
define symbol __ICFEDIT_size_abtstack__ = 0x0;
define symbol __ICFEDIT_size_heap__ = 0x0;
/**** End of ICF editor section. ###ICF###*/
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };
define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };
define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };
define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,
block UND_STACK, block ABT_STACK, block HEAP };

View File

@@ -1,136 +0,0 @@
// ---------------------------------------------------------
// ATMEL Microcontroller Software Support - ROUSSET -
// ---------------------------------------------------------
// The software is delivered "AS IS" without warranty or
// condition of any kind, either express, implied or
// statutory. This includes without limitation any warranty
// or condition with respect to merchantability or fitness
// for any particular purpose, or against the infringements of
// intellectual property rights of others.
// ---------------------------------------------------------
// File: at91SAM7S64_NoRemap.xlc
//
// 1.1 16/Jun/04 JPP : Creation for 4.11A
//
// $Revision: 1.1.1.1 $
//
// ---------------------------------------------------------
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1.1.1 $
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
// AT91SAM7S64 Memory mapping
// No remap
// ROMSTART
// Start address 0x0000 0000
// Size 64 Kbo 0x0001 0000
// RAMSTART
// Start address 0x0020 0000
// Size 16 Kbo 0x0000 4000
// Remap done
// RAMSTART
// Start address 0x0000 0000
// Size 16 Kbo 0x0000 4000
// ROMSTART
// Start address 0x0010 0000
// Size 64 Kbo 0x0001 0000
//************************************************
-carm
//*************************************************************************
// Internal Ram segments mapped AFTER REMAP 16 K.
//*************************************************************************
// Use these addresses for the .
-Z(CONST)INTRAMSTART_REMAP=00200000
-Z(CONST)INTRAMEND_REMAP=00203FFF
//*************************************************************************
// Read-only segments mapped to Flash 64 K.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=0000FFFF
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=00200000
-DRAMEND=002003FFF
//************************************************
// Address range for reset and exception
// vectors (INTVEC).
// The vector area is 32 bytes,
// an additional 32 bytes is allocated for the
// constant table used by ldr PC in cstartup.s79.
//************************************************
-Z(CODE)INTVEC=00-3F
//************************************************
// Startup code and exception routines (ICODE).
//************************************************
-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND
-Z(CODE)SWITAB=ROMSTART-ROMEND
//************************************************
// Code segments may be placed anywhere.
//************************************************
-Z(CODE)CODE=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=RAMSTART-RAMEND
//************************************************
// ICCARM produces code for __ramfunc functions in
// CODE_I segments. The -Q XLINK command line
// option redirects XLINK to emit the code in the
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
//-D_CSTACK_SIZE=(100*4)
//-D_IRQ_STACK_SIZE=(2*8*4)
//-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND
//*************************************************************************
// ELF/DWARF support.
//
// Uncomment the line "-Felf" below to generate ELF/DWARF output.
// Available format specifiers are:
//
// "-yn": Suppress DWARF debug output
// "-yp": Multiple ELF program sections
// "-yas": Format suitable for debuggers from ARM Ltd (also sets -p flag)
//
// "-Felf" and the format specifiers can also be supplied directly as
// command line options, or selected from the Xlink Output tab in the
// IAR Embedded Workbench.
//*************************************************************************
// -Felf

View File

@@ -0,0 +1,73 @@
// ----------------------------------------------------------------------------
// ATMEL Microcontroller Software Support - ROUSSET -
// ----------------------------------------------------------------------------
// DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
// DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ----------------------------------------------------------------------------
// File Name : SAM7_FLASH.mac
// Object : Generic Macro File for IAR
// 1.0 17/Aug/05 FBr : Creation
// ----------------------------------------------------------------------------
/*********************************************************************
*
* _InitRSTC()
*
* Function description
* Initializes the RSTC (Reset controller).
* This makes sense since the default is to not allow user resets, which makes it impossible to
* apply a second RESET via J-Link
*/
_InitRSTC() {
__writeMemory32(0xA5000001, 0xFFFFFD08,"Memory"); // Allow user reset
}
/*********************************************************************
*
* _InitPLL()
* Function description
* Initializes the PMC.
* 1. Enable the Main Oscillator
* 2. Configure PLL to 96MHz
* 3. Switch Master Clock (MCK) on PLL/2 = 48MHz
*/
_InitPLL() {
__message "Enable Main Oscillator";
__writeMemory32(0x00000601,0xFFFFFc20,"Memory"); // MOSC
while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x1) );
__message "Set PLL to 96MHz";
__writeMemory32(0x10191c05,0xFFFFFc2c,"Memory"); // LOCK
while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x4) );
__message "Set Master Clock to 48MHz";
__writeMemory32(0x00000004,0xFFFFFc30,"Memory"); // MCKRDY
while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x8) );
__writeMemory32(0x00000007,0xFFFFFc30,"Memory"); // MCKRDY
while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x8) );
// Set 1 WS for Flash accesses on each EFC
__writeMemory32(0x00480100,0xFFFFFF60,"Memory");
__writeMemory32(0x00480100,0xFFFFFF70,"Memory");
}
/*********************************************************************
*
* execUserReset() : JTAG set initially to Full Speed
*/
execUserReset() {
__message "execUserReset()";
__hwReset(0); // Hardware Reset: CPU is automatically halted after the reset (JTAG is already configured to 32kHz)
_InitPLL(); // Allow to debug at JTAG Full Speed
_InitRSTC(); // Enable User Reset to allow execUserReset() execution
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<flash_board>
<pass>
<loader>$TOOLKIT_DIR$\config\flashloader\Atmel\AT91SAM7S64-EK\flash-at91sam7s64.flash</loader>
<range>CODE 0x100000 0x110000</range>
<rel_offset>0</rel_offset>
<args>--flash
--boot
</args>
</pass>
</flash_board>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>1</fileVersion>
<fileVersion>2</fileVersion>
<configuration>
<name>Flash Debug</name>
<toolchain>
@@ -12,7 +12,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
<version>13</version>
<version>21</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -37,7 +37,7 @@
</option>
<option>
<name>MacFile</name>
<state>$PROJ_DIR$\resource\SAM7.mac</state>
<state>$PROJ_DIR$\resource\at91sam7s-ek-flash.mac</state>
</option>
<option>
<name>MemOverride</name>
@@ -45,7 +45,7 @@
</option>
<option>
<name>MemFile</name>
<state>$TOOLKIT_DIR$\CONFIG\ioat91sam7s64.ddf</state>
<state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ioAT91SAM7S64.ddf</state>
</option>
<option>
<name>RunToEnable</name>
@@ -89,33 +89,89 @@
</option>
<option>
<name>OCLastSavedByProductVersion</name>
<state>4.30A</state>
<state>5.40.2.51615</state>
</option>
<option>
<name>OCDownloadAttachToProgram</name>
<state>0</state>
</option>
<option>
<name>FlashLoaders</name>
<state>,,,,(default),</state>
</option>
<option>
<name>UseFlashLoader</name>
<state>1</state>
</option>
<option>
<name>CLowLevel</name>
<state>1</state>
</option>
<option>
<name>OCBE8Slave</name>
<state>1</state>
</option>
<option>
<name>MacFile2</name>
<state></state>
</option>
<option>
<name>CDevice</name>
<state>1</state>
</option>
<option>
<name>FlashLoadersV3</name>
<state>$TOOLKIT_DIR$\config\flashloader\Atmel\AT91SAM7S64-EK\at91sam7s64-flash.board</state>
</option>
<option>
<name>OCImagesSuppressCheck1</name>
<state>0</state>
</option>
<option>
<name>OCImagesPath1</name>
<state></state>
</option>
<option>
<name>OCImagesSuppressCheck2</name>
<state>0</state>
</option>
<option>
<name>OCImagesPath2</name>
<state></state>
</option>
<option>
<name>OCImagesSuppressCheck3</name>
<state>0</state>
</option>
<option>
<name>OCImagesPath3</name>
<state></state>
</option>
<option>
<name>OverrideDefFlashBoard</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>ARMSIM_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCSimDriverInfo</name>
<state>1</state>
</option>
<option>
<name>OCSimEnablePSP</name>
<state>0</state>
</option>
<option>
<name>OCSimPspOverrideConfig</name>
<state>0</state>
</option>
<option>
<name>OCSimPspConfigFile</name>
<state></state>
</option>
</data>
</settings>
<settings>
@@ -161,6 +217,43 @@
</option>
</data>
</settings>
<settings>
<name>GDBSERVER_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
<name>TCPIP</name>
<state>aaa.bbb.ccc.ddd</state>
</option>
<option>
<name>DoLogfile</name>
<state>0</state>
</option>
<option>
<name>LogFile</name>
<state>$TOOLKIT_DIR$\cspycomm.log</state>
</option>
<option>
<name>CCJTagBreakpointRadio</name>
<state>0</state>
</option>
<option>
<name>CCJTagDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
<name>CCJTagUpdateBreakpoints</name>
<state>main</state>
</option>
</data>
</settings>
<settings>
<name>IARROM_ID</name>
<archiveVersion>2</archiveVersion>
@@ -200,21 +293,13 @@
<name>JLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>2</version>
<version>10</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>JLinkSpeed</name>
<state>30</state>
</option>
<option>
<name>CCJLinkHWReset</name>
<state>0</state>
</option>
<option>
<name>CCJLinkTRSTReset</name>
<state>0</state>
</option>
<option>
<name>CCJLinkDoLogfile</name>
<state>0</state>
@@ -227,10 +312,6 @@
<name>CCJLinkHWResetDelay</name>
<state></state>
</option>
<option>
<name>CCJLinkSpeedRadio</name>
<state>0</state>
</option>
<option>
<name>OCDriverInfo</name>
<state>1</state>
@@ -263,13 +344,112 @@
<name>CCJLinkTCPIP</name>
<state>aaa.bbb.ccc.ddd</state>
</option>
<option>
<name>CCJLinkSpeedRadioV2</name>
<state>0</state>
</option>
<option>
<name>CCUSBDevice</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCRDICatchReset</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchUndef</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchSWI</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchData</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchPrefetch</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchIRQ</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchFIQ</name>
<state>0</state>
</option>
<option>
<name>CCJLinkBreakpointRadio</name>
<state>0</state>
</option>
<option>
<name>CCJLinkDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
<name>CCJLinkUpdateBreakpoints</name>
<state>main</state>
</option>
<option>
<name>CCJLinkInterfaceRadio</name>
<state>0</state>
</option>
<option>
<name>OCJLinkAttachSlave</name>
<state>1</state>
</option>
<option>
<name>CCJLinkResetList</name>
<version>0</version>
<state>5</state>
</option>
<option>
<name>CCJLinkInterfaceCmdLine</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>LMIFTDI_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>2</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
<name>LmiftdiSpeed</name>
<state>500</state>
</option>
<option>
<name>CCLmiftdiDoLogfile</name>
<state>0</state>
</option>
<option>
<name>CCLmiftdiLogFile</name>
<state>$TOOLKIT_DIR$\cspycomm.log</state>
</option>
<option>
<name>CCLmiFtdiInterfaceRadio</name>
<state>0</state>
</option>
<option>
<name>CCLmiFtdiInterfaceCmdLine</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>MACRAIGOR_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>1</version>
<version>3</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -332,6 +512,26 @@
<name>CCMacraigorHWResetDelay</name>
<state></state>
</option>
<option>
<name>CCJTagBreakpointRadio</name>
<state>0</state>
</option>
<option>
<name>CCJTagDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
<name>CCJTagUpdateBreakpoints</name>
<state>main</state>
</option>
<option>
<name>CCMacraigorInterfaceRadio</name>
<state>0</state>
</option>
<option>
<name>CCMacraigorInterfaceCmdLine</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@@ -395,6 +595,19 @@
</option>
</data>
</settings>
<settings>
<name>STLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>THIRDPARTY_ID</name>
<archiveVersion>2</archiveVersion>
@@ -422,33 +635,61 @@
</settings>
<debuggerPlugins>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\FreeRTOS\FreeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
</debuggerPlugins>
</configuration>
<configuration>
@@ -461,7 +702,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
<version>13</version>
<version>21</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -486,7 +727,7 @@
</option>
<option>
<name>MacFile</name>
<state>$PROJ_DIR$\resource\SAM7.mac</state>
<state>$PROJ_DIR$\resource\at91sam7s-ek-flash.mac</state>
</option>
<option>
<name>MemOverride</name>
@@ -494,7 +735,7 @@
</option>
<option>
<name>MemFile</name>
<state>$TOOLKIT_DIR$\CONFIG\ioat91sam7s64.ddf</state>
<state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ioAT91SAM7S64.ddf</state>
</option>
<option>
<name>RunToEnable</name>
@@ -526,7 +767,7 @@
</option>
<option>
<name>OCDownloadVerifyAll</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>OCProductVersion</name>
@@ -538,18 +779,62 @@
</option>
<option>
<name>OCLastSavedByProductVersion</name>
<state>4.30A</state>
<state>5.40.2.51615</state>
</option>
<option>
<name>OCDownloadAttachToProgram</name>
<state>0</state>
</option>
<option>
<name>FlashLoaders</name>
<state>,,,,(default),</state>
<name>UseFlashLoader</name>
<state>1</state>
</option>
<option>
<name>UseFlashLoader</name>
<name>CLowLevel</name>
<state>1</state>
</option>
<option>
<name>OCBE8Slave</name>
<state>1</state>
</option>
<option>
<name>MacFile2</name>
<state></state>
</option>
<option>
<name>CDevice</name>
<state>1</state>
</option>
<option>
<name>FlashLoadersV3</name>
<state>$PROJ_DIR$\resource\at91sam7s64-flash.board</state>
</option>
<option>
<name>OCImagesSuppressCheck1</name>
<state>0</state>
</option>
<option>
<name>OCImagesPath1</name>
<state></state>
</option>
<option>
<name>OCImagesSuppressCheck2</name>
<state>0</state>
</option>
<option>
<name>OCImagesPath2</name>
<state></state>
</option>
<option>
<name>OCImagesSuppressCheck3</name>
<state>0</state>
</option>
<option>
<name>OCImagesPath3</name>
<state></state>
</option>
<option>
<name>OverrideDefFlashBoard</name>
<state>1</state>
</option>
</data>
@@ -558,13 +843,25 @@
<name>ARMSIM_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCSimDriverInfo</name>
<state>1</state>
</option>
<option>
<name>OCSimEnablePSP</name>
<state>0</state>
</option>
<option>
<name>OCSimPspOverrideConfig</name>
<state>0</state>
</option>
<option>
<name>OCSimPspConfigFile</name>
<state></state>
</option>
</data>
</settings>
<settings>
@@ -610,6 +907,43 @@
</option>
</data>
</settings>
<settings>
<name>GDBSERVER_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
<name>TCPIP</name>
<state>aaa.bbb.ccc.ddd</state>
</option>
<option>
<name>DoLogfile</name>
<state>0</state>
</option>
<option>
<name>LogFile</name>
<state>$TOOLKIT_DIR$\cspycomm.log</state>
</option>
<option>
<name>CCJTagBreakpointRadio</name>
<state>0</state>
</option>
<option>
<name>CCJTagDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
<name>CCJTagUpdateBreakpoints</name>
<state>main</state>
</option>
</data>
</settings>
<settings>
<name>IARROM_ID</name>
<archiveVersion>2</archiveVersion>
@@ -649,21 +983,13 @@
<name>JLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>2</version>
<version>10</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>JLinkSpeed</name>
<state>30</state>
</option>
<option>
<name>CCJLinkHWReset</name>
<state>0</state>
</option>
<option>
<name>CCJLinkTRSTReset</name>
<state>0</state>
</option>
<option>
<name>CCJLinkDoLogfile</name>
<state>0</state>
@@ -676,10 +1002,6 @@
<name>CCJLinkHWResetDelay</name>
<state></state>
</option>
<option>
<name>CCJLinkSpeedRadio</name>
<state>0</state>
</option>
<option>
<name>OCDriverInfo</name>
<state>1</state>
@@ -712,13 +1034,112 @@
<name>CCJLinkTCPIP</name>
<state>aaa.bbb.ccc.ddd</state>
</option>
<option>
<name>CCJLinkSpeedRadioV2</name>
<state>0</state>
</option>
<option>
<name>CCUSBDevice</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCRDICatchReset</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchUndef</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchSWI</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchData</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchPrefetch</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchIRQ</name>
<state>0</state>
</option>
<option>
<name>CCRDICatchFIQ</name>
<state>0</state>
</option>
<option>
<name>CCJLinkBreakpointRadio</name>
<state>0</state>
</option>
<option>
<name>CCJLinkDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
<name>CCJLinkUpdateBreakpoints</name>
<state>main</state>
</option>
<option>
<name>CCJLinkInterfaceRadio</name>
<state>0</state>
</option>
<option>
<name>OCJLinkAttachSlave</name>
<state>1</state>
</option>
<option>
<name>CCJLinkResetList</name>
<version>0</version>
<state>5</state>
</option>
<option>
<name>CCJLinkInterfaceCmdLine</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>LMIFTDI_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>2</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
<name>LmiftdiSpeed</name>
<state>500</state>
</option>
<option>
<name>CCLmiftdiDoLogfile</name>
<state>0</state>
</option>
<option>
<name>CCLmiftdiLogFile</name>
<state>$TOOLKIT_DIR$\cspycomm.log</state>
</option>
<option>
<name>CCLmiFtdiInterfaceRadio</name>
<state>0</state>
</option>
<option>
<name>CCLmiFtdiInterfaceCmdLine</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>MACRAIGOR_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>1</version>
<version>3</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -781,6 +1202,26 @@
<name>CCMacraigorHWResetDelay</name>
<state></state>
</option>
<option>
<name>CCJTagBreakpointRadio</name>
<state>0</state>
</option>
<option>
<name>CCJTagDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
<name>CCJTagUpdateBreakpoints</name>
<state>main</state>
</option>
<option>
<name>CCMacraigorInterfaceRadio</name>
<state>0</state>
</option>
<option>
<name>CCMacraigorInterfaceCmdLine</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@@ -844,6 +1285,19 @@
</option>
</data>
</settings>
<settings>
<name>STLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>THIRDPARTY_ID</name>
<archiveVersion>2</archiveVersion>
@@ -871,33 +1325,61 @@
</settings>
<debuggerPlugins>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\FreeRTOS\FreeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
</debuggerPlugins>
</configuration>
</project>

File diff suppressed because it is too large Load Diff

View File

@@ -1,33 +1,54 @@
/*
FreeRTOS.org V4.1.0 - Copyright (C) 2003-2006 Richard Barry.
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
This file is part of the FreeRTOS.org distribution.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This file is part of the FreeRTOS distribution.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1 tab == 4 spaces!
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
***************************************************************************
See http://www.FreeRTOS.org for documentation, latest information, license
and contact details. Please ensure to read the configuration and relevant
port sections of the online documentation.
***************************************************************************
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/*
@@ -58,8 +79,8 @@
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
#define serHANDLE ( ( xComPortHandle ) 1 )
#define serNO_BLOCK ( ( portTickType ) 0 )
#define serNO_TIMEGUARD ( ( unsigned portLONG ) 0 )
#define serNO_PERIPHERAL_B_SETUP ( ( unsigned portLONG ) 0 )
#define serNO_TIMEGUARD ( ( unsigned long ) 0 )
#define serNO_PERIPHERAL_B_SETUP ( ( unsigned long ) 0 )
/* Queues used to hold received characters, and characters waiting to be
@@ -80,14 +101,14 @@ __arm void vSerialISR( void );
/*
* See the serial2.h header file.
*/
xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
{
xComPortHandle xReturn = serHANDLE;
extern void ( vUART_ISR )( void );
/* Create the queues used to hold Rx and Tx characters. */
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
/* If the queues were created correctly then setup the serial port
hardware. */
@@ -98,7 +119,7 @@ extern void ( vUART_ISR )( void );
/* Enable the USART clock. */
AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1 << AT91C_ID_US0 );
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ( ( unsigned portLONG ) AT91C_PA5_RXD0 ) | ( ( unsigned portLONG ) AT91C_PA6_TXD0 ), serNO_PERIPHERAL_B_SETUP );
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ( ( unsigned long ) AT91C_PA5_RXD0 ) | ( ( unsigned long ) AT91C_PA6_TXD0 ), serNO_PERIPHERAL_B_SETUP );
/* Set the required protocol. */
AT91F_US_Configure( serCOM0, configCPU_CLOCK_HZ, AT91C_US_ASYNC_MODE, ulWantedBaud, serNO_TIMEGUARD );
@@ -127,7 +148,7 @@ extern void ( vUART_ISR )( void );
}
/*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
{
/* The port handle is not required as this driver only supports one port. */
( void ) pxPort;
@@ -145,9 +166,9 @@ signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcR
}
/*-----------------------------------------------------------*/
void vSerialPutString( xComPortHandle pxPort, const signed portCHAR * const pcString, unsigned portSHORT usStringLength )
void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
{
signed portCHAR *pxNext;
signed char *pxNext;
/* A couple of parameters that this port does not use. */
( void ) usStringLength;
@@ -160,7 +181,7 @@ signed portCHAR *pxNext;
( void ) pxPort;
/* Send each character in the string, one at a time. */
pxNext = ( signed portCHAR * ) pcString;
pxNext = ( signed char * ) pcString;
while( *pxNext )
{
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
@@ -169,7 +190,7 @@ signed portCHAR *pxNext;
}
/*-----------------------------------------------------------*/
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
{
/* Place the character in the queue of characters to be transmitted. */
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
@@ -199,9 +220,9 @@ within serialISR.s79 which in turn calls this function. See the port
documentation on the FreeRTOS.org website for more information. */
__arm void vSerialISR( void )
{
unsigned portLONG ulStatus;
signed portCHAR cChar;
portBASE_TYPE xTaskWokenByTx = pdFALSE, xTaskWokenByPost = pdFALSE;
unsigned long ulStatus;
signed char cChar;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
/* What caused the interrupt? */
ulStatus = serCOM0->US_CSR &= serCOM0->US_IMR;
@@ -210,7 +231,7 @@ portBASE_TYPE xTaskWokenByTx = pdFALSE, xTaskWokenByPost = pdFALSE;
{
/* The interrupt was caused by the THR becoming empty. Are there any
more characters to transmit? */
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xTaskWokenByTx ) == pdTRUE )
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
{
/* A character was retrieved from the queue so can be sent to the
THR now. */
@@ -229,12 +250,12 @@ portBASE_TYPE xTaskWokenByTx = pdFALSE, xTaskWokenByPost = pdFALSE;
character from the RHR and place it in the queue or received
characters. */
cChar = serCOM0->US_RHR;
xTaskWokenByPost = xQueueSendFromISR( xRxedChars, &cChar, xTaskWokenByPost );
xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
}
/* If a task was woken by either a character being received or a character
being transmitted then we may need to switch to another task. */
portEND_SWITCHING_ISR( ( xTaskWokenByPost || xTaskWokenByTx ) );
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
/* End the interrupt in the AIC. */
AT91C_BASE_AIC->AIC_EOICR = 0;

View File

@@ -8,14 +8,14 @@
<Column0>191</Column0><Column1>27</Column1><Column2>27</Column2></ColumnWidths>
<Column0>204</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Disassembly>
<PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><MixedMode>1</MixedMode><CodeCovEnabled>0</CodeCovEnabled><CodeCovShow>0</CodeCovShow></Disassembly>
<Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows></Debug-Log>
<Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log>
<Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows></Build>
<Register>
<PreferedWindows>
@@ -30,7 +30,7 @@
<Wnd2>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-22256-14845</Identity>
@@ -42,20 +42,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2></Windows>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-18517-20319</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\source\portable\iar\AtmelSAM7S64\lib_AT91SAM7S64.h</Filename><XPos>0</XPos><YPos>615</YPos><SelStart>24806</SelStart><SelEnd>24806</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\USB\USBSample.c</Filename><XPos>0</XPos><YPos>289</YPos><SelStart>10498</SelStart><SelEnd>10498</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\main.c</Filename><XPos>0</XPos><YPos>141</YPos><SelStart>6420</SelStart><SelEnd>6420</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\port.c</Filename><XPos>0</XPos><YPos>117</YPos><SelStart>5493</SelStart><SelEnd>5493</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\serial\serial.c</Filename><XPos>0</XPos><YPos>132</YPos><SelStart>5547</SelStart><SelEnd>5547</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\MemMang\heap_1.c</Filename><XPos>0</XPos><YPos>82</YPos><SelStart>3650</SelStart><SelEnd>3650</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s79</Filename><XPos>0</XPos><YPos>27</YPos><SelStart>2226</SelStart><SelEnd>2226</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\Common\Minimal\integer.c</Filename><XPos>0</XPos><YPos>77</YPos><SelStart>4024</SelStart><SelEnd>4024</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\tasks.c</Filename><XPos>0</XPos><YPos>823</YPos><SelStart>29289</SelStart><SelEnd>29289</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\portasm.s79</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>519</SelStart><SelEnd>519</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\portmacro.h</Filename><XPos>0</XPos><YPos>57</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>24</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\Common\Minimal\semtest.c</Filename><XPos>0</XPos><YPos>166</YPos><SelStart>7856</SelStart><SelEnd>7856</SelEnd></Tab><ActiveTab>12</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy\Demo\ARM7_AT91SAM7S64_IAR\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>880</SelStart><SelEnd>880</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\rc\1\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s</Filename><XPos>0</XPos><YPos>213</YPos><SelStart>8773</SelStart><SelEnd>8773</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\rc\1\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\AT91SAM7S64.h</Filename><XPos>0</XPos><YPos>18</YPos><SelStart>2080</SelStart><SelEnd>2080</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\rc\1\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\port.c</Filename><XPos>0</XPos><YPos>234</YPos><SelStart>9960</SelStart><SelEnd>9960</SelEnd></Tab><ActiveTab>3</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-0084f8b0><key>IarIdePM1</key></Toolbar-0084f8b0><Toolbar-0272db18><key>DebuggerGui1</key></Toolbar-0272db18></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>1072</Bottom><Right>265</Right><x>-2</x><y>-2</y><xscreen>0</xscreen><yscreen>0</yscreen><sizeHorzCX>0</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>166875</sizeVertCX><sizeVertCY>959785</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-00abb198><key>iaridepm.enu1</key></Toolbar-00abb198><Toolbar-049f1f30><key>debuggergui.enu1</key></Toolbar-049f1f30></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>278</Right><x>-2</x><y>-2</y><xscreen>0</xscreen><yscreen>0</yscreen><sizeHorzCX>0</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>166667</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

View File

@@ -9,6 +9,27 @@ Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
[Low Level]
Pipeline mode=1
Initialized=0
[CodeCoverage]
Enabled=_ 0
[Profiling]
Enabled=0
[StackPlugin]
Enabled=1
OverflowWarningsEnabled=1
WarningThreshold=90
SpWarningsEnabled=1
WarnHow=0
UseTrigger=1
TriggerName=main
LimitSize=0
ByteLimit=50
[TraceHelper]
Enabled=0
ShowSource=1
[DebugChecksum]
Checksum=-1701609349
[InstructionProfiling]
Enabled=_ 0
[Log file]
LoggingEnabled=_ 0
LogFile=_ ""
@@ -16,6 +37,10 @@ Category=_ 0
[TermIOLog]
LoggingEnabled=_ 0
LogFile=_ ""
[DriverProfiling]
Enabled=0
Source=2
Graph=0
[Disassemble mode]
mode=0
[Breakpoints]

View File

@@ -11,7 +11,7 @@
<Column0>221</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
<Column0>236</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Build><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>1155</ColumnWidth1><ColumnWidth2>308</ColumnWidth2><ColumnWidth3>77</ColumnWidth3></Build>
<Debug-Log/>
@@ -28,7 +28,7 @@
<Windows>
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-17425-14382</Identity>
@@ -36,11 +36,11 @@
<Factory>Workspace</Factory>
<Session>
<NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Scheduler Source</ExpandedNode><ExpandedNode>rtosdemo/System Files</ExpandedNode></NodeDict></Session>
<NodeDict><ExpandedNode>rtosdemo</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3>
<Tabs>
<Tab>
<Identity>TabID-4084-16269</Identity>
@@ -56,20 +56,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>18</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Board.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>952</SelStart><SelEnd>969</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s79</Filename><XPos>0</XPos><YPos>142</YPos><SelStart>6503</SelStart><SelEnd>6517</SelEnd></Tab><ActiveTab>2</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy\Demo\ARM7_AT91SAM7S64_IAR\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>880</SelStart><SelEnd>880</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-0084c368><key>iaridepm1</key></Toolbar-0084c368></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>659</Bottom><Right>295</Right><x>-2</x><y>-2</y><xscreen>30</xscreen><yscreen>30</yscreen><sizeHorzCX>18750</sizeHorzCX><sizeHorzCY>26809</sizeHorzCY><sizeVertCX>185625</sizeVertCX><sizeVertCY>590705</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>413</Bottom><Right>1602</Right><x>-2</x><y>-2</y><xscreen>1604</xscreen><yscreen>415</yscreen><sizeHorzCX>1002500</sizeHorzCX><sizeHorzCY>370866</sizeHorzCY><sizeVertCX>18750</sizeVertCX><sizeVertCY>26809</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-00abb198><key>iaridepm.enu1</key></Toolbar-00abb198></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>576</Bottom><Right>310</Right><x>-2</x><y>-2</y><xscreen>32</xscreen><yscreen>26</yscreen><sizeHorzCX>19048</sizeHorzCX><sizeHorzCY>26477</sizeHorzCY><sizeVertCX>185714</sizeVertCX><sizeVertCY>588595</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>362</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>364</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>370672</sizeHorzCY><sizeVertCX>19048</sizeVertCX><sizeVertCY>26477</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

View File

@@ -0,0 +1,17 @@
// IAR XLINK Setup
// Autogenerated file - do not edit
%
setrangelist($evec_ADR,[0-3F]);
setrangelist($internal_ROM,[8000-FFFFF]);
setrangelist($external_ROM,[]);
setrangelist($internal_RAM,[100000-7FFFFF]);
setrangelist($external_RAM,[]);
$CSTACK_SIZE=200;
$IRQSTACK_SIZE=100;
$HEAP_SIZE=4;
$COMMANDS="";
$STACK_LOCATION="Internal RAM";
$IRQSTACK_LOCATION="Internal RAM";
$HEAP_LOCATION="Internal RAM";
$iar_saved_xclfilename="E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\resource\at91SAM7S64_NoRemap.xcl";
%

View File

@@ -0,0 +1,17 @@
*** SESSION Sep 07, 2007 11:40:29.515 ------------------------------------------
*** SESSION Sep 26, 2007 20:59:04.640 ------------------------------------------
*** SESSION Sep 27, 2007 17:22:58.687 ------------------------------------------
*** SESSION Oct 04, 2007 20:29:08.859 ------------------------------------------
*** SESSION Oct 23, 2007 19:47:01.875 ------------------------------------------
*** SESSION Oct 23, 2007 21:13:26.296 ------------------------------------------
*** SESSION Oct 23, 2007 21:22:16.187 ------------------------------------------
*** SESSION Oct 28, 2007 12:37:13.93 -------------------------------------------
*** SESSION Nov 06, 2007 16:04:46.31 -------------------------------------------
*** SESSION Nov 06, 2007 20:19:12.359 ------------------------------------------
*** SESSION Nov 07, 2007 18:40:55.281 ------------------------------------------
*** SESSION Nov 13, 2007 20:49:09.875 ------------------------------------------
*** SESSION Nov 17, 2007 17:59:26.734 ------------------------------------------
*** SESSION Nov 17, 2007 19:36:59.656 ------------------------------------------
*** SESSION Nov 21, 2007 08:36:47.312 ------------------------------------------
*** SESSION Nov 21, 2007 15:42:29.171 ------------------------------------------
*** SESSION Nov 21, 2007 17:07:49.515 ------------------------------------------

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><SharedRoot><SharedProperty id="" value=""/></SharedRoot>

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?scdStore version="2"?>
<scannerInfo id="org.eclipse.cdt.make.core.discoveredScannerInfo">
<instance id="0.1109417601">
<collector id="org.eclipse.cdt.make.core.PerProjectSICollector">
<includePath path="c:/devtools/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.2.0/include"/>
<includePath path="c:/devtools/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.2.0/include-fixed"/>
<includePath path="c:/devtools/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.2.0/../../../../arm-none-eabi/include"/>
<includePath path="c:/devtools/codesourcery/sourcery g++ lite/lib/gcc/../../lib/gcc/arm-none-eabi/4.2.0/include"/>
<includePath path="c:/devtools/codesourcery/sourcery g++ lite/lib/gcc/../../lib/gcc/arm-none-eabi/4.2.0/include-fixed"/>
<includePath path="c:/devtools/codesourcery/sourcery g++ lite/lib/gcc/../../lib/gcc/arm-none-eabi/4.2.0/../../../../arm-none-eabi/include"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/ARM7_LPC2368_Eclipse/RTOSDemo"/>
<includePath path="C:/E/Dev/FreeRTOS/Source/include"/>
<includePath path="C:/E/Dev/FreeRTOS/Source/portable/GCC/ARM7_AT91SAM7S"/>
<includePath path="C:/E/Dev/FreeRTOS/Source/portable/GCC/ARM7_LPC23xx"/>
<includePath path="C:/E/Dev/FreeRTOS/Source/portable/GCC/ARM_CM3"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/Common/include"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/ARM7_AT91SAM7X256_Eclipse/RTOSDemo/webserver"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/Common/ethernet/uIP/uip-1.0/uip"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/ARM7_AT91SAM7X256_Eclipse/RTOSDemo/SrcAtmel"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/ARM7_AT91SAM7X256_Eclipse/RTOSDemo/USB"/>
<includePath path="c:\devtools\yagarto\bin\../lib/gcc/arm-elf/4.2.1/include"/>
<includePath path="C:/devtools/yagarto/lib/gcc/arm-elf/4.2.1/include"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/webserver"/>
<includePath path="c:\devtools\yagarto\bin\../lib/gcc/arm-elf/4.1.1/include"/>
<includePath path="C:/devtools/yagarto/lib/gcc/arm-elf/4.1.1/include"/>
<includePath path="C:/devtools/yagarto/arm-elf/include"/>
<includePath path="C:/E/Dev/FreeRTOS/Demo/ARM7_AT91SAM7X256_Eclipse/RTOSDemo"/>
<definedSymbol symbol="__STDC__=1"/>
<definedSymbol symbol="__STDC_HOSTED__=1"/>
<definedSymbol symbol="__GNUC__=4"/>
<definedSymbol symbol="__GNUC_MINOR__=2"/>
<definedSymbol symbol="__GNUC_MINOR__=1"/>
<definedSymbol symbol="__GNUC_PATCHLEVEL__=0"/>
<definedSymbol symbol="__GNUC_PATCHLEVEL__=1"/>
<definedSymbol symbol="__SIZE_TYPE__=unsigned int"/>
<definedSymbol symbol="__SIZE_TYPE__=long unsigned int"/>
<definedSymbol symbol="__PTRDIFF_TYPE__=int"/>
<definedSymbol symbol="__PTRDIFF_TYPE__=long int"/>
<definedSymbol symbol="__WCHAR_TYPE__=unsigned int"/>
<definedSymbol symbol="__WCHAR_TYPE__=int"/>
<definedSymbol symbol="__WINT_TYPE__=unsigned int"/>
<definedSymbol symbol="__INTMAX_TYPE__=long long int"/>
<definedSymbol symbol="__UINTMAX_TYPE__=long long unsigned int"/>
<definedSymbol symbol="__GXX_ABI_VERSION=1002"/>
<definedSymbol symbol="__SCHAR_MAX__=127"/>
<definedSymbol symbol="__SHRT_MAX__=32767"/>
<definedSymbol symbol="__INT_MAX__=2147483647"/>
<definedSymbol symbol="__LONG_MAX__=2147483647L"/>
<definedSymbol symbol="__LONG_LONG_MAX__=9223372036854775807LL"/>
<definedSymbol symbol="__WCHAR_MAX__=4294967295U"/>
<definedSymbol symbol="__WCHAR_MAX__=2147483647"/>
<definedSymbol symbol="__CHAR_BIT__=8"/>
<definedSymbol symbol="__INTMAX_MAX__=9223372036854775807LL"/>
<definedSymbol symbol="__FLT_EVAL_METHOD__=0"/>
<definedSymbol symbol="__DEC_EVAL_METHOD__=2"/>
<definedSymbol symbol="__FLT_RADIX__=2"/>
<definedSymbol symbol="__FLT_MANT_DIG__=24"/>
<definedSymbol symbol="__FLT_DIG__=6"/>
<definedSymbol symbol="__FLT_MIN_EXP__=(-125)"/>
<definedSymbol symbol="__FLT_MIN_10_EXP__=(-37)"/>
<definedSymbol symbol="__FLT_MAX_EXP__=128"/>
<definedSymbol symbol="__FLT_MAX_10_EXP__=38"/>
<definedSymbol symbol="__FLT_MAX__=3.40282347e+38F"/>
<definedSymbol symbol="__FLT_MIN__=1.17549435e-38F"/>
<definedSymbol symbol="__FLT_EPSILON__=1.19209290e-7F"/>
<definedSymbol symbol="__FLT_DENORM_MIN__=1.40129846e-45F"/>
<definedSymbol symbol="__FLT_HAS_DENORM__=1"/>
<definedSymbol symbol="__FLT_HAS_INFINITY__=1"/>
<definedSymbol symbol="__FLT_HAS_QUIET_NAN__=1"/>
<definedSymbol symbol="__DBL_MANT_DIG__=53"/>
<definedSymbol symbol="__DBL_DIG__=15"/>
<definedSymbol symbol="__DBL_MIN_EXP__=(-1021)"/>
<definedSymbol symbol="__DBL_MIN_10_EXP__=(-307)"/>
<definedSymbol symbol="__DBL_MAX_EXP__=1024"/>
<definedSymbol symbol="__DBL_MAX_10_EXP__=308"/>
<definedSymbol symbol="__DBL_MAX__=1.7976931348623157e+308"/>
<definedSymbol symbol="__DBL_MIN__=2.2250738585072014e-308"/>
<definedSymbol symbol="__DBL_EPSILON__=2.2204460492503131e-16"/>
<definedSymbol symbol="__DBL_DENORM_MIN__=4.9406564584124654e-324"/>
<definedSymbol symbol="__DBL_HAS_DENORM__=1"/>
<definedSymbol symbol="__DBL_HAS_INFINITY__=1"/>
<definedSymbol symbol="__DBL_HAS_QUIET_NAN__=1"/>
<definedSymbol symbol="__LDBL_MANT_DIG__=53"/>
<definedSymbol symbol="__LDBL_DIG__=15"/>
<definedSymbol symbol="__LDBL_MIN_EXP__=(-1021)"/>
<definedSymbol symbol="__LDBL_MIN_10_EXP__=(-307)"/>
<definedSymbol symbol="__LDBL_MAX_EXP__=1024"/>
<definedSymbol symbol="__LDBL_MAX_10_EXP__=308"/>
<definedSymbol symbol="__DECIMAL_DIG__=17"/>
<definedSymbol symbol="__LDBL_MAX__=1.7976931348623157e+308L"/>
<definedSymbol symbol="__LDBL_MIN__=2.2250738585072014e-308L"/>
<definedSymbol symbol="__LDBL_EPSILON__=2.2204460492503131e-16L"/>
<definedSymbol symbol="__LDBL_DENORM_MIN__=4.9406564584124654e-324L"/>
<definedSymbol symbol="__LDBL_HAS_DENORM__=1"/>
<definedSymbol symbol="__LDBL_HAS_INFINITY__=1"/>
<definedSymbol symbol="__LDBL_HAS_QUIET_NAN__=1"/>
<definedSymbol symbol="__DEC32_MANT_DIG__=7"/>
<definedSymbol symbol="__DEC32_MIN_EXP__=(-95)"/>
<definedSymbol symbol="__DEC32_MAX_EXP__=96"/>
<definedSymbol symbol="__DEC32_MIN__=1E-95DF"/>
<definedSymbol symbol="__DEC32_MAX__=9.999999E96DF"/>
<definedSymbol symbol="__DEC32_EPSILON__=1E-6DF"/>
<definedSymbol symbol="__DEC32_DEN__=0.000001E-95DF"/>
<definedSymbol symbol="__DEC64_MANT_DIG__=16"/>
<definedSymbol symbol="__DEC64_MIN_EXP__=(-383)"/>
<definedSymbol symbol="__DEC64_MAX_EXP__=384"/>
<definedSymbol symbol="__DEC64_MIN__=1E-383DD"/>
<definedSymbol symbol="__DEC64_MAX__=9.999999999999999E384DD"/>
<definedSymbol symbol="__DEC64_EPSILON__=1E-15DD"/>
<definedSymbol symbol="__DEC64_DEN__=0.000000000000001E-383DD"/>
<definedSymbol symbol="__DEC128_MANT_DIG__=34"/>
<definedSymbol symbol="__DEC128_MIN_EXP__=(-6143)"/>
<definedSymbol symbol="__DEC128_MAX_EXP__=6144"/>
<definedSymbol symbol="__DEC128_MIN__=1E-6143DL"/>
<definedSymbol symbol="__DEC128_MAX__=9.999999999999999999999999999999999E6144DL"/>
<definedSymbol symbol="__DEC128_EPSILON__=1E-33DL"/>
<definedSymbol symbol="__DEC128_DEN__=0.000000000000000000000000000000001E-6143DL"/>
<definedSymbol symbol="__REGISTER_PREFIX__"/>
<definedSymbol symbol="__USER_LABEL_PREFIX__"/>
<definedSymbol symbol="__VERSION__=&quot;4.2.0 20070413 (prerelease)&quot;"/>
<definedSymbol symbol="__VERSION__=&quot;4.1.1&quot;"/>
<definedSymbol removed="true" symbol="__VERSION__=&quot;4.2.1&quot;"/>
<definedSymbol symbol="__GNUC_GNU_INLINE__=1"/>
<definedSymbol symbol="__NO_INLINE__=1"/>
<definedSymbol symbol="__FINITE_MATH_ONLY__=0"/>
<definedSymbol symbol="__CHAR_UNSIGNED__=1"/>
<definedSymbol symbol="__arm__=1"/>
<definedSymbol symbol="__APCS_32__=1"/>
<definedSymbol symbol="__ARMEL__=1"/>
<definedSymbol symbol="__SOFTFP__=1"/>
<definedSymbol symbol="__VFP_FP__=1"/>
<definedSymbol symbol="__THUMB_INTERWORK__=1"/>
<definedSymbol symbol="__ARM_ARCH_4T__=1"/>
<definedSymbol symbol="__ARM_EABI__=1"/>
<definedSymbol symbol="__GXX_TYPEINFO_EQUALITY_INLINE=0"/>
<definedSymbol symbol="__ELF__=1"/>
<definedSymbol symbol="__USES_INITFINI__=1"/>
<definedSymbol symbol="GCC_ARMCM3_LM3S102"/>
<definedSymbol symbol="inline="/>
<definedSymbol symbol="PACK_STRUCT_END=__attribute\(\(packed\)\)"/>
<definedSymbol symbol="ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\)"/>
<definedSymbol symbol="sprintf=usprintf"/>
<definedSymbol removed="true" symbol="sprintf=xprintf"/>
<definedSymbol removed="true" symbol="sprintf=xxprintf"/>
<definedSymbol symbol="snprintf=usnprintf"/>
<definedSymbol symbol="printf=uipprintf"/>
<definedSymbol removed="true" symbol="printf=xprintf"/>
<definedSymbol removed="true" symbol="printf=xxprintf"/>
<definedSymbol symbol="__USING_SJLJ_EXCEPTIONS__=1"/>
<definedSymbol symbol="__thumb__=1"/>
<definedSymbol symbol="__THUMBEL__=1"/>
<definedSymbol symbol="ROWLEY_LPC23xx"/>
<definedSymbol symbol="THUMB_INTERWORK"/>
<definedSymbol symbol="__OPTIMIZE__=1"/>
<definedSymbol symbol="__OPTIMIZE_SIZE__=1"/>
<definedSymbol symbol="SAM7_GCC"/>
</collector>
</instance>
</scannerInfo>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="org.eclipse.cdt.internal.ui.MakeView">
</section>
</section>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<cHelpSettings>
<project name="RTOSDemo"/>
</cHelpSettings>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<item value="1" key="org.eclipse.cdt.uiformatter_page.line_wrapping_tab_page.last_category_index"/>
<item value="549" key="org.eclipse.cdt.uiformatter_pagemodify_dialog.preferred_height"/>
<item value="138" key="org.eclipse.cdt.uiformatter_pagemodify_dialog.preferred_x"/>
<item value="0" key="org.eclipse.cdt.uiformatter_pagemodify_dialog.preferred_y"/>
<item value="645" key="org.eclipse.cdt.uiformatter_pagemodify_dialog.preferred_width"/>
<section name="completion_proposal_size">
</section>
<section name="PDOMSearchPage">
</section>
</section>

View File

@@ -0,0 +1,3 @@
#Sun Aug 19 15:20:24 BST 2007
eclipse.preferences.version=1
indexer/preferenceScope=0

View File

@@ -0,0 +1,3 @@
#Sun Aug 19 15:19:23 BST 2007
org.eclipse.cdt.debug.core.cDebug.common_source_containers=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<sourceLookupDirector>\r\n<sourceContainers duplicates\="false"/>\r\n</sourceLookupDirector>\r\n
eclipse.preferences.version=1

View File

@@ -0,0 +1,5 @@
#Tue Oct 23 21:13:09 BST 2007
pref_state_memento.org.eclipse.cdt.debug.ui.ModulesView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<ModulesViewMemento org.eclipse.cdt.debug.ui.SASH_DETAILS_PART\="570" org.eclipse.cdt.debug.ui.SASH_VIEW_PART\="429"/>
eclipse.preferences.version=1
org.eclipse.debug.ui.DebugView.org.eclipse.cdt.debug.ui.cDebug.show_full_paths=true
org.eclipse.debug.ui.BreakpointView.org.eclipse.cdt.debug.ui.cDebug.show_full_paths=true

View File

@@ -0,0 +1,3 @@
#Wed Nov 21 16:20:43 GMT 2007
eclipse.preferences.version=1
properties/RTOSDemo.null.976634949/0.1109417601=\#\r\n\#Wed Nov 21 16\:20\:43 GMT 2007\r\n0.1109417601\=\\\#\\r\\n\\\#Wed Nov 21 16\\\:20\\\:43 GMT 2007\\r\\nrcState\\\=0\\r\\nrebuildState\\\=false\\r\\n\r\norg.eclipse.cdt.build.core.settings.holder.1502006385\=\\\#\\r\\n\\\#Wed Nov 21 16\\\:20\\\:43 GMT 2007\\r\\nrebuildState\\\=false\\r\\n\r\norg.eclipse.cdt.build.core.settings.holder.1021181093\=\\\#\\r\\n\\\#Wed Nov 21 16\\\:20\\\:43 GMT 2007\\r\\nrebuildState\\\=false\\r\\n\r\norg.eclipse.cdt.build.core.settings.holder.164584712\=\\\#\\r\\n\\\#Wed Nov 21 16\\\:20\\\:43 GMT 2007\\r\\nrebuildState\\\=false\\r\\n\r\norg.eclipse.cdt.build.core.settings.holder.libs.260784574\=\\\#\\r\\n\\\#Wed Nov 21 16\\\:20\\\:43 GMT 2007\\r\\nrebuildState\\\=false\\r\\n\r\norg.eclipse.cdt.build.core.prefbase.toolchain.1816209921\=\\\#\\r\\n\\\#Wed Nov 21 16\\\:20\\\:43 GMT 2007\\r\\nrebuildState\\\=false\\r\\n\r\n

View File

@@ -0,0 +1,12 @@
#Thu Aug 23 20:22:58 BST 2007
useQuickDiffPrefPage=true
closeBrackets=false
ensureNewlineAtEOF=true
useAnnotationsPrefPage=true
closeAngularBrackets=false
eclipse.preferences.version=1
org.eclipse.cdt.ui.text.templates.custom=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
hoverModifierMasks=org.eclipse.cdt.ui.BestMatchHover;0;org.eclipse.cdt.ui.CSourceHover;131072;org.eclipse.cdt.debug.internal.ui.editors.DebugTextHover;0;org.eclipse.cdt.ui.CDocHover;0;org.eclipse.cdt.ui.AnnotationHover;0;
hoverModifiers=org.eclipse.cdt.ui.BestMatchHover;0;org.eclipse.cdt.ui.CSourceHover;Shift;org.eclipse.cdt.debug.internal.ui.editors.DebugTextHover;\!0;org.eclipse.cdt.ui.CDocHover;\!0;org.eclipse.cdt.ui.AnnotationHover;\!0;
closeBraces=false
closeStrings=false

View File

@@ -0,0 +1,5 @@
#Fri Aug 31 14:25:00 BST 2007
version=1
eclipse.preferences.version=1
pathvariable.FreeRTOS_ROOT=C\:/E/Dev/FreeRTOS
description.autobuilding=false

View File

@@ -0,0 +1,3 @@
#Sat Nov 17 13:34:58 GMT 2007
prefWatchExpressions=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<watchExpressions/>\r\n
eclipse.preferences.version=1

View File

@@ -0,0 +1,14 @@
#Wed Nov 07 18:56:22 GMT 2007
org.eclipse.debug.ui.PREF_FILTER_WORKING_SETS=false
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n
org.eclipse.debug.ui.BreakpointView+org.eclipse.debug.ui.ShowSupportedBreakpointsAction=true
pref_state_memento.org.eclipse.debug.ui.VariableView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<VariablesViewMemento org.eclipse.debug.ui.SASH_DETAILS_PART\="315" org.eclipse.debug.ui.SASH_VIEW_PART\="684"/>
pref_state_memento.org.eclipse.debug.ui.RegisterView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<VariablesViewMemento org.eclipse.debug.ui.SASH_DETAILS_PART\="198" org.eclipse.debug.ui.SASH_VIEW_PART\="801"/>
org.eclipse.debug.ui.memory.columnSize\:org.eclipse.cdt.debug.core=4
pref_state_memento.org.eclipse.debug.ui.ExpressionView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<VariablesViewMemento org.eclipse.debug.ui.SASH_DETAILS_PART\="315" org.eclipse.debug.ui.SASH_VIEW_PART\="684"/>
org.eclipse.debug.ui.PREF_FILTER_LAUNCH_CLOSED=false
preferredDetailPanes=DefaultDetailPane\:DefaultDetailPane|
org.eclipse.debug.ui.PREF_FILTER_LAUNCH_DELETED=false
eclipse.preferences.version=1
org.eclipse.debug.ui.memory.rowSize\:org.eclipse.cdt.debug.core=16
org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<viewBindings>\r\n<view id\="org.eclipse.debug.ui.ExpressionView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="opened"/>\r\n</view>\r\n</viewBindings>\r\n

View File

@@ -0,0 +1,7 @@
#Sun Aug 26 17:32:13 BST 2007
browser.x=177
browser.w=1024
eclipse.preferences.version=1
browser.h=768
browser.maximized=false
browser.y=128

View File

@@ -0,0 +1,3 @@
#Sun Aug 19 19:39:29 BST 2007
org.eclipse.search.defaultPerspective=org.eclipse.search.defaultPerspective.none
eclipse.preferences.version=1

View File

@@ -0,0 +1,3 @@
#Fri Aug 31 18:19:04 BST 2007
eclipse.preferences.version=1
org.eclipse.team.ui.first_time=false

View File

@@ -0,0 +1,3 @@
#Sun Aug 19 20:45:57 BST 2007
eclipse.preferences.version=1
overviewRuler_migration=migrated_3.1

View File

@@ -0,0 +1,4 @@
#Tue Nov 06 22:57:01 GMT 2007
eclipse.preferences.version=1
tipsAndTricks=true
platformState=1187207632259

View File

@@ -0,0 +1,3 @@
#Sun Aug 19 20:45:58 BST 2007
eclipse.preferences.version=1
showIntro=false

View File

@@ -0,0 +1,3 @@
#Mon Aug 20 21:59:49 BST 2007
eclipse.preferences.version=1
org.eclipse.ui.commands=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<org.eclipse.ui.commands>\r\n<keyBinding contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="CTRL+B"/>\r\n<keyBinding commandId\="org.eclipse.ui.project.buildAll" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F7"/>\r\n<keyBinding contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F11"/>\r\n<keyBinding contextId\="org.eclipse.debug.ui.debugging" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F5"/>\r\n<keyBinding commandId\="org.eclipse.debug.ui.commands.StepInto" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F11"/>\r\n<keyBinding contextId\="org.eclipse.debug.ui.debugging" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F6"/>\r\n<keyBinding commandId\="org.eclipse.debug.ui.commands.StepOver" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F10"/>\r\n<keyBinding commandId\="org.eclipse.debug.ui.commands.DebugLast" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="CTRL+D"/>\r\n<keyBinding contextId\="org.eclipse.ui.textEditorScope" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="CTRL+D"/>\r\n<keyBinding contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="CTRL+F11"/>\r\n<keyBinding commandId\="org.eclipse.debug.ui.commands.RunLast" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F5"/>\r\n<keyBinding contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F5"/>\r\n<keyBinding contextId\="org.eclipse.ui.textEditorScope" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="CTRL+K"/>\r\n<keyBinding commandId\="org.eclipse.ui.edit.findNext" contextId\="org.eclipse.ui.contexts.window" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F3"/>\r\n<keyBinding contextId\="org.eclipse.cdt.make.ui.makefileEditorScope" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F3"/>\r\n<keyBinding contextId\="org.eclipse.cdt.ui.cEditorScope" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F3"/>\r\n<keyBinding contextId\="org.eclipse.cdt.ui.cViewScope" keyConfigurationId\="org.eclipse.ui.defaultAcceleratorConfiguration" keySequence\="F3"/>\r\n</org.eclipse.ui.commands>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc}/../Common/drivers/OpenOCD/openocd-pp.exe"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="--file SAM7_flash.cfg"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc}"/>
</launchConfiguration>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc}/../Common/drivers/OpenOCD/openocd-pp.exe"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="--file SAM7_pp.cfg"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc}"/>
</launchConfiguration>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.cdt.launch.localCLaunch">
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.AUTO_SOLIB" value="true"/>
<listAttribute key="org.eclipse.cdt.debug.mi.core.AUTO_SOLIB_LIST"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="gdb"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEV" value="/dev/ttyS0"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEV_SPEED" value="115200"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.GDB_INIT" value=".gdbinit"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.HOST" value="localhost"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.PORT" value="10000"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.REMOTE_TCP" value="false"/>
<listAttribute key="org.eclipse.cdt.debug.mi.core.SOLIB_PATH"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.STOP_ON_SOLIB_EVENTS" value="false"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="org.eclipse.cdt.debug.mi.core.standardCommandFactory"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="org.eclipse.cdt.debug.mi.core.GDBServerCDebugger"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_REGISTER_BOOKKEEPING" value="false"/>
<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_VARIABLE_BOOKKEEPING" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="RTOSDemo.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RTOSDemo"/>
<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/RTOSDemo"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
<stringAttribute key="org.eclipse.cdt.debug.gdbremote.core.imageFileName" value="C:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S8962_Eclipse\RTOSDemo\RTOSDemo.elf"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbremote.core.initCommands" value="target remote:3333&#13;&#10;monitor sleep 500&#13;&#10;monitor arm7_9 force_hw_bkpts enable&#13;&#10;monitor sleep 500&#13;&#10;monitor soft_reset_halt&#13;&#10;delete&#13;&#10;monitor sleep 500&#13;&#10;b main&#13;&#10;monitor sleep 500&#13;&#10;c&#13;&#10;monitor sleep 500&#13;&#10;delete&#13;&#10;&#13;&#10;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbremote.core.ipAddress" value="localhost"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbremote.core.loadImage" value="false"/>
<intAttribute key="org.eclipse.cdt.debug.gdbremote.core.portNumber" value="3333"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbremote.core.runCommands" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbremote.core.useRemoteTarget" value="false"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-elf-gdb.exe"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.GDB_INIT" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList&gt;&#13;&#10;&lt;memoryBlockExpressionItem&gt;&#13;&#10;&lt;expression text=&quot;2107200&quot;/&gt;&#13;&#10;&lt;/memoryBlockExpressionItem&gt;&#13;&#10;&lt;/memoryBlockExpressionList&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="RTOSDemo.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RTOSDemo"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/RTOSDemo"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
</launchConfiguration>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="org.eclipse.debug.ui.STRING_VARIABLE_SELECTION_DIALOG_SECTION">
<item value="326" key="DIALOG_WIDTH"/>
<item value="-33" key="DIALOG_Y_ORIGIN"/>
<item value="309" key="DIALOG_X_ORIGIN"/>
<item value="530" key="DIALOG_HEIGHT"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION">
<item value="966" key="DIALOG_WIDTH"/>
<item value="154" key="DIALOG_Y_ORIGIN"/>
<item value=", org.eclipse.ui.externaltools.ProgramLaunchConfigurationType, org.eclipse.cdt.debug.gdbjtag.launchConfigurationType, " key="org.eclipse.debug.ui.EXPANDED_NODES"/>
<item value="274" key="DIALOG_X_ORIGIN"/>
<item value="640" key="DIALOG_HEIGHT"/>
<item value="237" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_1"/>
<item value="762" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_2"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="org.eclipse.debug.ui.SELECT_LAUNCH_SHORTCUT_DIALOG">
<item value="450" key="DIALOG_WIDTH"/>
<item value="215" key="DIALOG_Y_ORIGIN"/>
<item value="479" key="DIALOG_X_ORIGIN"/>
<item value="450" key="DIALOG_HEIGHT"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="org.eclipse.debug.ui.SELECT_CONFIGURATION_TYPE_DIALOG">
<item value="300" key="DIALOG_WIDTH"/>
<item value="46" key="DIALOG_Y_ORIGIN"/>
<item value="301" key="DIALOG_X_ORIGIN"/>
<item value="350" key="DIALOG_HEIGHT"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="FAVORITES_DIALOG_SECTION">
<item value="227" key="DIALOG_WIDTH"/>
<item value="360" key="DIALOG_Y_ORIGIN"/>
<item value="731" key="DIALOG_X_ORIGIN"/>
<item value="233" key="DIALOG_HEIGHT"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
</section>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchHistory>
<launchGroup id="org.eclipse.ui.externaltools.launchGroup">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;OpenOCD Server.launch&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;OpenOCD Programmer.launch&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;RTOSDemo.launch&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;RTOSDemo.elf.launch&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;RTOSDemo.elf.launch&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
</launchHistory>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
</section>

View File

@@ -0,0 +1,2 @@
#Sun Aug 26 17:54:18 BST 2007
__DEFAULT__=true

View File

@@ -0,0 +1,4 @@
#Sun Aug 26 17:36:29 BST 2007
__DEFAULT__=false
org.eclipse.help.ui.localSearch.master=true
expression=relative path

View File

@@ -0,0 +1,4 @@
#Sun Aug 26 17:29:25 BST 2007
__DEFAULT__=false
org.eclipse.help.ui.localSearch.master=true
expression=working set

View File

@@ -0,0 +1,4 @@
#Sun Aug 26 17:54:21 BST 2007
__DEFAULT__=false
org.eclipse.help.ui.localSearch.master=true
expression=working sets

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="RefactoringPropertyPage">
<item value="true" key="org.eclipse.ltk.ui.refactoring.sortRefactorings"/>
</section>
</section>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="">
<item value="1000" key="org.eclipse.search.resultpage.limit"/>
</section>
<section name="DialogBounds_SearchDialog">
<item value="519" key="DIALOG_WIDTH"/>
<item value="259" key="DIALOG_Y_ORIGIN"/>
<item value="385" key="DIALOG_HEIGHT"/>
<item value="445" key="DIALOG_X_ORIGIN"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="Search">
<list key="Search.processedPageIds">
<item value="org.eclipse.search.internal.ui.text.TextSearchPage"/>
<item value="org.eclipse.cdt.ui.pdomSearchPage"/>
</list>
<list key="Search.enabledPageIds">
<item value="org.eclipse.search.internal.ui.text.TextSearchPage"/>
<item value="org.eclipse.cdt.ui.pdomSearchPage"/>
</list>
</section>
<section name="org.eclipse.search.text.FileSearchResultPage">
<item value="1000" key="org.eclipse.search.resultpage.limit"/>
</section>
<section name="TextSearchPage">
<item value="false" key="CASE_SENSITIVE"/>
<item value="false" key="REG_EX_SEARCH"/>
<item value="false" key="SEARCH_DERIVED"/>
<item value="1" key="HISTORY_SIZE"/>
<section name="HISTORY0">
<item value="false" key="isRegExSearch"/>
<item value="struct timer" key="textPattern"/>
<item value="0" key="scope"/>
<item value="true" key="ignoreCase"/>
<list key="fileNamePatterns">
<item value="*.c *.h"/>
</list>
<list key="workingSets">
</list>
</section>
</section>
<section name="SearchDialog.ScopePart">
<item value="0" key="scope"/>
</section>
</section>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="CheatSheetCategoryBasedSelectionDialog">
<item value="326" key="DIALOG_WIDTH"/>
<item value="154" key="DIALOG_Y_ORIGIN"/>
<item value="542" key="DIALOG_HEIGHT"/>
<item value="541" key="DIALOG_X_ORIGIN"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
</section>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="ResourceNavigator">
<item value="FreeRTOS_LM3S8962_Demo" key="ResourceWorkingSetFilter.STORE_WORKING_SET"/>
<item value="1" key="ResourceViewer.STORE_SORT_TYPE"/>
</section>
<section name="org.eclipse.ui.views.task">
</section>
<section name="org.eclipse.ui.views.problem">
</section>
<section name="SaveAsDialogSettings">
<item value="438" key="DIALOG_WIDTH"/>
<item value="147" key="DIALOG_Y_ORIGIN"/>
<item value="625" key="DIALOG_X_ORIGIN"/>
<item value="553" key="DIALOG_HEIGHT"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="CleanDialogSettings">
<item value="443" key="DIALOG_WIDTH"/>
<item value="true" key="BUILD_NOW"/>
<item value="251" key="DIALOG_Y_ORIGIN"/>
<item value="391" key="DIALOG_HEIGHT"/>
<item value="479" key="DIALOG_X_ORIGIN"/>
<item value="false" key="TOGGLE_SELECTED"/>
</section>
</section>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<item value="1024" key="introLaunchBar.location"/>
</section>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="org.eclipse.ui.texteditor.FindReplaceDialog_dialogBounds">
<item value="243" key="DIALOG_WIDTH"/>
<item value="209" key="DIALOG_Y_ORIGIN"/>
<item value="1044" key="DIALOG_X_ORIGIN"/>
<item value="356" key="DIALOG_HEIGHT"/>
<item value="1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma" key="DIALOG_FONT_NAME"/>
</section>
<section name="org.eclipse.ui.texteditor.FindReplaceDialog">
<item value="false" key="wrap"/>
<item value="false" key="casesensitive"/>
<item value="false" key="isRegEx"/>
<item value="false" key="incremental"/>
<item value="false" key="wholeword"/>
<item value="xTaskCreate" key="selection"/>
<list key="findhistory">
<item value="xTaskCreate"/>
<item value="stallsent"/>
<item value="COUNT_MASK"/>
<item value="QUEUE_LENGTH"/>
<item value="uxQueueMessage"/>
<item value="bktALLOWABLE_MARGIN"/>
<item value="xAreBlockTimeTestTasksStillRunning"/>
<item value="vProcessInput"/>
</list>
<list key="replacehistory">
<item value="lEMACSend"/>
<item value="partstNUM_LEDS"/>
<item value="DESCRIPTORNUM"/>
<item value="MAC_TXPRODUCEINDEX"/>
<item value="MAC_TXDESCRIPTORNUMBER"/>
<item value="MAC_TXSTATUS"/>
<item value="MAC_TXDESCRIPTOR"/>
<item value="MAC_RXDESCRIPTORNUMBER"/>
</list>
</section>
</section>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="WorkbenchPreferenceDialogSettings">
<item value="146" key="DIALOG_Y_ORIGIN"/>
<item value="269" key="DIALOG_X_ORIGIN"/>
</section>
<section name="org.eclipse.ui.preferences.keysPreferencePage">
<item value="true" key="uncategorizedFilter"/>
<item value="false" key="showAllField"/>
<item value="true" key="internalFilter"/>
<item value="true" key="actionSetFilter"/>
</section>
<section name="ImportExportAction">
<item value="org.eclipse.ui.wizards.import.FileSystem" key="ImportExportPage.STORE_SELECTED_IMPORT_WIZARD_ID"/>
<list key="ImportExportPage.STORE_EXPANDED_IMPORT_CATEGORIES">
<item value="org.eclipse.ui.Basic"/>
</list>
</section>
</section>

View File

@@ -0,0 +1,358 @@
<?xml version="1.0" encoding="UTF-8"?>
<workbench progressCount="21" version="2.0">
<workbenchAdvisor/>
<window height="768" maximized="true" width="1024" x="66" y="69">
<fastViewData fastViewLocation="1024"/>
<perspectiveBar>
<itemSize x="160"/>
</perspectiveBar>
<coolbarLayout locked="0">
<coolItem id="group.file" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="130" y="22"/>
<coolItem id="additions" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.cdt.ui.CElementCreationActionSet" itemType="typeToolBarContribution" x="161" y="22"/>
<coolItem id="org.eclipse.cdt.ui.buildConfigActionSet" itemType="typeToolBarContribution" x="85" y="22"/>
<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="124" y="22"/>
<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="61" y="22"/>
<coolItem id="org.eclipse.ui.edit.text.actionSet.presentation" itemType="typeToolBarContribution" x="61" y="22"/>
<coolItem id="group.nav" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="185" y="22"/>
<coolItem id="group.editor" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.cdt.ui.editor.asm.AsmEditor" itemType="typeToolBarContribution" x="-1" y="-1"/>
<coolItem id="org.eclipse.ui.DefaultTextEditor" itemType="typePlaceholder" x="-1" y="-1"/>
<coolItem id="org.eclipse.cdt.ui.editor.CEditor" itemType="typePlaceholder" x="-1" y="-1"/>
<coolItem id="org.eclipse.cdt.make.editor" itemType="typeToolBarContribution" x="-1" y="-1"/>
<coolItem id="group.help" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
</coolbarLayout>
<page aggregateWorkingSetId="Aggregate for window 1188147282312" focus="true" label="Workspace - C/C++">
<editors>
<editorArea activeWorkbook="DefaultEditorWorkbook">
<info part="DefaultEditorWorkbook">
<folder appearance="1" expanded="2">
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33"/>
</folder>
</info>
</editorArea>
</editors>
<views>
<view id="org.eclipse.debug.ui.ExpressionView" partName="Expressions">
<viewState/>
</view>
<view id="org.eclipse.ui.navigator.ProjectExplorer" partName="Project Explorer">
<viewState CommonNavigator.LINKING_ENABLED="0" CommonNavigator.LINKING_ENABLED.delayed="0" org.eclipse.cdt.ui.cview.groupincludes="false" org.eclipse.cdt.ui.editor.CUChildren="true" org.eclipse.ui.navigator.resources.workingSets.showTopLevelWorkingSets="0"/>
</view>
<view id="org.eclipse.ui.views.PropertySheet" partName="Properties">
<viewState/>
</view>
<view id="org.eclipse.search.ui.views.SearchView" partName="Search">
<viewState isPinned="false">
<view IMemento.internal.id="" org.eclipse.search.lastActivation="0"/>
</viewState>
</view>
<view id="org.eclipse.ui.views.ResourceNavigator" partName="Navigator">
<viewState LINK_NAVIGATOR_TO_EDITOR="0" sorter="1">
<filters>
<filter element=".*" isEnabled="false"/>
<filter element="*.class" isEnabled="false"/>
</filters>
<expanded>
<element path="/RTOSDemo"/>
</expanded>
<selection>
<element path="/RTOSDemo/main.c"/>
</selection>
</viewState>
</view>
<view id="org.eclipse.debug.ui.DebugView" partName="Debug">
<viewState/>
</view>
<view id="org.eclipse.ui.views.ProblemView" partName="Problems">
<viewState columnWidth0="781" columnWidth1="78" columnWidth2="153" columnWidth3="63" columnWidth4="0" horizontalPosition="0" verticalPosition="0">
<columnOrder columnOrderIndex="0"/>
<columnOrder columnOrderIndex="1"/>
<columnOrder columnOrderIndex="2"/>
<columnOrder columnOrderIndex="3"/>
<columnOrder columnOrderIndex="4"/>
</viewState>
</view>
<view id="org.eclipse.ui.console.ConsoleView" partName="Console">
<viewState/>
</view>
<view id="org.eclipse.debug.ui.BreakpointView" partName="Breakpoints">
<viewState>
<isTrackingSelection value="false"/>
</viewState>
</view>
<view id="org.eclipse.debug.ui.VariableView" partName="Variables">
<viewState/>
</view>
<view id="org.eclipse.ui.views.TaskList" partName="Tasks">
<viewState columnWidth0="43" columnWidth1="19" columnWidth2="253" columnWidth3="78" columnWidth4="283" columnWidth5="63" columnWidth6="0" horizontalPosition="0" verticalPosition="0">
<columnOrder columnOrderIndex="0"/>
<columnOrder columnOrderIndex="1"/>
<columnOrder columnOrderIndex="2"/>
<columnOrder columnOrderIndex="3"/>
<columnOrder columnOrderIndex="4"/>
<columnOrder columnOrderIndex="5"/>
<columnOrder columnOrderIndex="6"/>
</viewState>
</view>
</views>
<perspectives activePart="org.eclipse.ui.views.ResourceNavigator" activePerspective="org.eclipse.cdt.ui.CPerspective">
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
<descriptor class="org.eclipse.cdt.internal.ui.CPerspectiveFactory" id="org.eclipse.cdt.ui.CPerspective" label="C/C++"/>
<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
<alwaysOnActionSet id="org.eclipse.ui.WorkingSetActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
<alwaysOnActionSet id="org.eclipse.update.ui.softwareUpdates"/>
<alwaysOnActionSet id="org.eclipse.cdt.ui.SearchActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.ui.CElementCreationActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.make.ui.makeTargetActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.ui.CodingActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.ui.buildConfigActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.ui.NavigationActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.ui.OpenActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.presentation"/>
<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
<show_view_action id="org.eclipse.search.ui.views.SearchView"/>
<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
<show_view_action id="org.eclipse.ui.views.ProblemView"/>
<show_view_action id="org.eclipse.cdt.ui.CView"/>
<show_view_action id="org.eclipse.ui.views.ResourceNavigator"/>
<show_view_action id="org.eclipse.ui.views.PropertySheet"/>
<show_view_action id="org.eclipse.ui.views.TaskList"/>
<show_view_action id="org.eclipse.cdt.make.ui.views.MakeView"/>
<show_view_action id="org.eclipse.ui.navigator.ProjectExplorer"/>
<show_view_action id="org.eclipse.cdt.ui.includeBrowser"/>
<show_in_time id="org.eclipse.ui.views.ResourceNavigator" time="1187629972828"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.ConvertToMakeWizard"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewCWizard2"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewCWizard1"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewSourceFolderCreationWizard"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewFolderCreationWizard"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewSourceFileCreationWizard"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewHeaderFileCreationWizard"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewFileCreationWizard"/>
<new_wizard_action id="org.eclipse.cdt.ui.wizards.NewClassCreationWizard"/>
<perspective_action id="org.eclipse.debug.ui.DebugPerspective"/>
<perspective_action id="org.eclipse.team.ui.TeamSynchronizingPerspective"/>
<view id="org.eclipse.ui.navigator.ProjectExplorer"/>
<view id="org.eclipse.ui.views.ResourceNavigator"/>
<view id="org.eclipse.ui.views.ProblemView"/>
<view id="org.eclipse.ui.views.TaskList"/>
<view id="org.eclipse.ui.console.ConsoleView"/>
<view id="org.eclipse.ui.views.PropertySheet"/>
<view id="org.eclipse.search.ui.views.SearchView"/>
<fastViewBars/>
<layout>
<mainWindow>
<info folder="true" part="topLeft">
<folder activePageID="org.eclipse.ui.views.ResourceNavigator" appearance="2" expanded="2">
<page content="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer"/>
<page content="org.eclipse.ui.views.ResourceNavigator" label="Navigator"/>
<page content="org.eclipse.cdt.ui.CView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33">
<part id="0"/>
<part id="1"/>
</presentation>
</folder>
</info>
<info folder="true" part="org.eclipse.ui.internal.ViewStack@b4d39c" ratio="0.75" ratioLeft="756" ratioRight="252" relationship="2" relative="topLeft">
<folder appearance="2" expanded="2">
<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33"/>
</folder>
</info>
<info part="org.eclipse.ui.editorss" ratio="0.19510439" ratioLeft="271" ratioRight="1118" relationship="2" relative="topLeft"/>
<info folder="true" part="bottom" ratio="0.5195652" ratioLeft="478" ratioRight="442" relationship="4" relative="org.eclipse.ui.editorss">
<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
<page content="org.eclipse.ui.views.TaskList" label="Tasks"/>
<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
<page content="org.eclipse.ui.views.PropertySheet" label="Properties"/>
<page content="org.eclipse.search.ui.views.SearchView" label="Search"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33">
<part id="0"/>
<part id="1"/>
<part id="2"/>
<part id="3"/>
<part id="4"/>
</presentation>
</folder>
</info>
<info folder="true" part="topRight" ratio="0.75" ratioLeft="567" ratioRight="189" relationship="2" relative="org.eclipse.ui.editorss">
<folder appearance="2" expanded="2">
<page content="org.eclipse.ui.views.ContentOutline" label="LabelNotFound"/>
<page content="org.eclipse.cdt.make.ui.views.MakeView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33"/>
</folder>
</info>
</mainWindow>
</layout>
</perspective>
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
<descriptor class="org.eclipse.debug.internal.ui.DebugPerspectiveFactory" id="org.eclipse.debug.ui.DebugPerspective" label="Debug"/>
<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
<alwaysOnActionSet id="org.eclipse.ui.WorkingSetActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
<alwaysOnActionSet id="org.eclipse.update.ui.softwareUpdates"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
<alwaysOnActionSet id="org.eclipse.cdt.debug.ui.debugActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
<alwaysOnActionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.debugActionSet"/>
<show_view_action id="org.eclipse.debug.ui.DebugView"/>
<show_view_action id="org.eclipse.debug.ui.VariableView"/>
<show_view_action id="org.eclipse.debug.ui.BreakpointView"/>
<show_view_action id="org.eclipse.debug.ui.ExpressionView"/>
<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
<show_view_action id="org.eclipse.ui.views.TaskList"/>
<show_view_action id="org.eclipse.cdt.debug.ui.SignalsView"/>
<show_view_action id="org.eclipse.debug.ui.RegisterView"/>
<show_view_action id="org.eclipse.debug.ui.MemoryView"/>
<show_view_action id="org.eclipse.cdt.debug.ui.DisassemblyView"/>
<show_view_action id="org.eclipse.cdt.debug.ui.ModulesView"/>
<show_view_action id="org.eclipse.ui.views.ProblemView"/>
<perspective_action id="org.eclipse.cdt.ui.CPerspective"/>
<view id="org.eclipse.ui.console.ConsoleView"/>
<view id="org.eclipse.ui.views.TaskList"/>
<view id="org.eclipse.ui.views.ProblemView"/>
<view id="org.eclipse.debug.ui.DebugView"/>
<view id="org.eclipse.debug.ui.VariableView"/>
<view id="org.eclipse.debug.ui.BreakpointView"/>
<view id="org.eclipse.debug.ui.ExpressionView"/>
<fastViewBars/>
<layout>&#x0A;<mainWindow>&#x0A;<info folder="true" part="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder activePageID="org.eclipse.debug.ui.DebugView" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.debug.ui.DebugView" label="Debug"/>
<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33">&#x0A;<part id="0"/>
</presentation>
</folder>
</info>
<info folder="true" part="stickyFolderRight" ratio="0.75" ratioLeft="1044" ratioRight="348" relationship="2" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder appearance="2" expanded="2">&#x0A;<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
</folder>
</info>
<info folder="true" part="org.eclipse.debug.internal.ui.ConsoleFolderView" ratio="0.773913" ratioLeft="712" ratioRight="208" relationship="4" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
<page content="org.eclipse.ui.views.TaskList" label="Tasks"/>
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
<page content="org.eclipse.debug.ui.MemoryView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.PropertySheet" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33">&#x0A;<part id="0"/>
<part id="1"/>
<part id="2"/>
</presentation>
</folder>
</info>
<info part="org.eclipse.ui.editorss" ratio="0.370945" ratioLeft="263" ratioRight="446" relationship="4" relative="org.eclipse.debug.internal.ui.NavigatorFolderView"/>
<info folder="true" part="org.eclipse.debug.internal.ui.OutlineFolderView" ratio="0.475162" ratioLeft="660" ratioRight="729" relationship="2" relative="org.eclipse.ui.editorss">&#x0A;<folder appearance="2" expanded="2">&#x0A;<page content="org.eclipse.cdt.debug.ui.DisassemblyView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.ContentOutline" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33"/>
</folder>
</info>
<info folder="true" part="org.eclipse.debug.internal.ui.ToolsFolderView" ratio="0.49964002" ratioLeft="694" ratioRight="695" relationship="2" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder activePageID="org.eclipse.debug.ui.BreakpointView" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.debug.ui.VariableView" label="Variables"/>
<page content="org.eclipse.debug.ui.BreakpointView" label="Breakpoints"/>
<page content="org.eclipse.debug.ui.ExpressionView" label="Expressions"/>
<page content="org.eclipse.debug.ui.RegisterView" label="LabelNotFound"/>
<page content="org.eclipse.cdt.debug.ui.ModulesView" label="LabelNotFound"/>
<page content="org.eclipse.cdt.debug.ui.SignalsView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.internal.presentations.r33.WorkbenchPresentationFactory_33">&#x0A;<part id="0"/>
<part id="1"/>
<part id="2"/>
</presentation>
</folder>
</info>
</mainWindow>
</layout>
</perspective>
</perspectives>
<workingSets>
<workingSet IMemento.internal.id="FreeRTOS_LM3S8962_Demo"/>
</workingSets>
<navigationHistory/>
<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
</page>
<workbenchWindowAdvisor/>
<actionBarAdvisor/>
<trimLayout>
<trimArea IMemento.internal.id="128">
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
</trimArea>
<trimArea IMemento.internal.id="1024">
<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
</trimArea>
</trimLayout>
</window>
<mruList>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="tasks.c" tooltip="RTOSDemo/FreeRTOS.org Source/tasks.c">
<persistable path="/RTOSDemo/FreeRTOS.org Source/tasks.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="main.c" tooltip="RTOSDemo/main.c">
<persistable path="/RTOSDemo/main.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="USB_ISR.c" tooltip="RTOSDemo/USB/USB_ISR.c">
<persistable path="/RTOSDemo/USB/USB_ISR.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="USBSample.c" tooltip="RTOSDemo/USB/USBSample.c">
<persistable path="/RTOSDemo/USB/USBSample.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="queue.c" tooltip="RTOSDemo/FreeRTOS.org Source/queue.c">
<persistable path="/RTOSDemo/FreeRTOS.org Source/queue.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.make.editor" name="Makefile" tooltip="RTOSDemo/Makefile">
<persistable path="/RTOSDemo/Makefile"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="blocktim.c" tooltip="RTOSDemo/Common Demo Files/Minimal/blocktim.c">
<persistable path="/RTOSDemo/Common Demo Files/Minimal/blocktim.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="QPeek.c" tooltip="RTOSDemo/Common Demo Files/Minimal/QPeek.c">
<persistable path="/RTOSDemo/Common Demo Files/Minimal/QPeek.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="GenQTest.c" tooltip="RTOSDemo/Common Demo Files/Minimal/GenQTest.c">
<persistable path="/RTOSDemo/Common Demo Files/Minimal/GenQTest.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="dynamic.c" tooltip="RTOSDemo/Common Demo Files/Minimal/dynamic.c">
<persistable path="/RTOSDemo/Common Demo Files/Minimal/dynamic.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="BlockQ.c" tooltip="RTOSDemo/Common Demo Files/Minimal/BlockQ.c">
<persistable path="/RTOSDemo/Common Demo Files/Minimal/BlockQ.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="ParTest.c" tooltip="RTOSDemo/ParTest/ParTest.c">
<persistable path="/RTOSDemo/ParTest/ParTest.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="FreeRTOSConfig.h" tooltip="RTOSDemo/FreeRTOSConfig.h">
<persistable path="/RTOSDemo/FreeRTOSConfig.h"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="httpd.c" tooltip="RTOSDemo/webserver/httpd.c">
<persistable path="/RTOSDemo/webserver/httpd.c"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.cdt.ui.editor.CEditor" name="portmacro.h" tooltip="RTOSDemo/FreeRTOS.org Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h">
<persistable path="/RTOSDemo/FreeRTOS.org Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h"/>
</file>
</mruList>
</workbench>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<workingSetManager>
<workingSet editPageId="org.eclipse.cdt.ui.CElementWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" label="FreeRTOS_LM3S8962_Demo" name="FreeRTOS_LM3S8962_Demo">
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/httpd-fs.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/timer.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip_arp.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uiplib.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/queue.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uipopt.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip-split.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/Minimal/dynamic.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/psock.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip-fw.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/httpd-fsdata.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip-neighbor.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/include" type="2"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/httpd-fs" type="2"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/timer.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/ParTest/ParTest.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/Minimal/QPeek.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/portable/MemMang/heap_2.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/main.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/Minimal/flash.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/portable/GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/EMAC_ISR.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/list.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/clock.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/lc.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/USB/USB_ISR.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/httpd-cgi.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/uIP_Task.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/portable/GCC/ARM7_AT91SAM7S/portISR.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/SAM7_EMAC.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/Minimal/BlockQ.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/portable/GCC/ARM7_AT91SAM7S/port.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/psock.h" type="1"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/RTOSDemo/Makefile" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip-neighbor.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOSConfig.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/lc-switch.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/Minimal/GenQTest.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/FreeRTOS.org Source/tasks.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip-fw.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uiplib.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/lc-addrlabels.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip-split.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/httpd.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/USB/USBSample.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/boot.s" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/Minimal/blocktim.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/webserver/http-strings.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip_arch.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/uip_arp.c" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/ethernet/uIP/uip-1.0/uip/pt.h" type="1"/>
<item factoryID="org.eclipse.cdt.ui.PersistableCElementFactory" path="/RTOSDemo/Common Demo Files/include" type="2"/>
</workingSet>
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" label="Window Working Set" name="Aggregate for window 1188147282312">
<workingSet IMemento.internal.id="FreeRTOS_LM3S8962_Demo"/>
</workingSet>
<mruList name="FreeRTOS_LM3S8962_Demo"/>
</workingSetManager>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="FileSystemImportWizard">
<item value="false" key="WizardFileSystemResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID"/>
<item value="false" key="WizardFileSystemResourceImportPage1.STORE_CREATE_CONTAINER_STRUCTURE_ID"/>
<list key="WizardFileSystemResourceImportPage1.STORE_SOURCE_NAMES_ID">
<item value="C:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S8962_Eclipse"/>
</list>
</section>
</section>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="ModeSelectionPage">
</section>
</section>

View File

@@ -0,0 +1 @@
org.eclipse.core.runtime=1

View File

@@ -0,0 +1,230 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?>
<cproject>
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="0.1109417601">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1109417601" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="" artifactName="RTOSDemo" buildProperties="" description="" id="0.1109417601" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
<folderInfo id="0.1109417601." name="/" resourcePath="">
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1816209921" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.eclipse.cdt.build.core.prefbase.toolchain.1816209921.1299943801" name=""/>
<builder autoBuildTarget="all" buildPath="${workspace_loc:/RTOSDemo}" cleanBuildTarget="clean" command="make" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.116472864" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
</outputEntries>
</builder>
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.260784574" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
<tool id="org.eclipse.cdt.build.core.settings.holder.1502006385" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.undef.incpaths.578007234" name="Undefined Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.undef.incpaths"/>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.685511860" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.1021181093" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.undef.incpaths.1567637665" name="Undefined Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.undef.incpaths"/>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1828415025" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
<tool id="org.eclipse.cdt.build.core.settings.holder.164584712" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
<option id="org.eclipse.cdt.build.core.settings.holder.undef.incpaths.1309366258" name="Undefined Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.undef.incpaths"/>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1667472855" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="Common Demo Files|FreeRTOS.org Source|Source|Minimal" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="FreeRTOS.org Source"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Common Demo Files"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<scannerConfigBuildInfo instanceId="0.1109417601">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-elf-gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="false"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
<project-mappings/>
</storageModule>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="RTOSDemo.null.976634949" name="RTOSDemo"/>
</storageModule>
</cproject>

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RTOSDemo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
<dictionary>
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
<value>clean</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>?name?</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.append_environment</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.stopOnError</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
<value>make</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.contents</key>
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<value>${workspace_loc:/RTOSDemo}</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildArguments</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
<value>all</value>
</dictionary>
<dictionary>
<key>?children?</key>
<value>?name?=outputEntries\|?children?=?name?=entry\\\\\\\\\\\\\\\|\\\\\\\|\||</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
<value>all</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
</natures>
<linkedResources>
<link>
<name>Common Demo Files</name>
<type>2</type>
<locationURI>FreeRTOS_ROOT/Demo/Common</locationURI>
</link>
<link>
<name>FreeRTOS.org Source</name>
<type>2</type>
<locationURI>FreeRTOS_ROOT/Source</locationURI>
</link>
</linkedResources>
</projectDescription>

View File

@@ -0,0 +1,3 @@
#Sun Aug 19 20:36:58 BST 2007
eclipse.preferences.version=1
org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false

View File

@@ -0,0 +1,119 @@
/*
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
1 tab == 4 spaces!
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
#include <stdio.h>
#include "AT91SAM7X256.h"
/*-----------------------------------------------------------
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 1
#define configCPU_CLOCK_HZ ( ( unsigned long ) 47923200 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 130 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) )
#define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 1
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
#define configUSE_MUTEXES 1
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0
#define configMAX_CO_ROUTINE_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 1
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 1
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1
#define INCLUDE_xTaskGetCurrentTaskHandle 1
/* MAC address configuration. */
#define uipMAC_ADDR0 0x00
#define uipMAC_ADDR1 0x12
#define uipMAC_ADDR2 0x13
#define uipMAC_ADDR3 0x10
#define uipMAC_ADDR4 0x15
#define uipMAC_ADDR5 0x11
/* IP address configuration. */
#define uipIP_ADDR0 172
#define uipIP_ADDR1 25
#define uipIP_ADDR2 218
#define uipIP_ADDR3 10
#endif /* FREERTOS_CONFIG_H */

View File

@@ -0,0 +1,158 @@
#/*
# FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
#
# ***************************************************************************
# * *
# * If you are: *
# * *
# * + New to FreeRTOS, *
# * + Wanting to learn FreeRTOS or multitasking in general quickly *
# * + Looking for basic training, *
# * + Wanting to improve your FreeRTOS skills and productivity *
# * *
# * then take a look at the FreeRTOS books - available as PDF or paperback *
# * *
# * "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
# * http://www.FreeRTOS.org/Documentation *
# * *
# * A pdf reference manual is also available. Both are usually delivered *
# * to your inbox within 20 minutes to two hours when purchased between 8am *
# * and 8pm GMT (although please allow up to 24 hours in case of *
# * exceptional circumstances). Thank you for your support! *
# * *
# ***************************************************************************
#
# This file is part of the FreeRTOS distribution.
#
# FreeRTOS is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License (version 2) as published by the
# Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
# ***NOTE*** The exception to the GPL is included to allow you to distribute
# a combined work that includes FreeRTOS without being obliged to provide the
# source code for proprietary components outside of the FreeRTOS kernel.
# FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details. You should have received a copy of the GNU General Public
# License and the FreeRTOS license exception along with FreeRTOS; if not it
# can be viewed here: http://www.freertos.org/a00114.html and also obtained
# by writing to Richard Barry, contact details for whom are available on the
# FreeRTOS WEB site.
#
# 1 tab == 4 spaces!
#
# http://www.FreeRTOS.org - Documentation, latest information, license and
# contact details.
#
# http://www.SafeRTOS.com - A version that is certified for use in safety
# critical systems.
#
# http://www.OpenRTOS.com - Commercial support, development, porting,
# licensing and training services.
#*/
RTOS_SOURCE_DIR=../../../Source
DEMO_COMMON_DIR=../../Common/Minimal
DEMO_INCLUDE_DIR=../../Common/include
UIP_COMMON_DIR=../../Common/ethernet/uIP/uip-1.0/uip
CC=arm-elf-gcc
OBJCOPY=arm-elf-objcopy
LDSCRIPT=atmel-rom.ld
LINKER_FLAGS=-mthumb -nostartfiles -Xlinker -oRTOSDemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map
DEBUG=-g
OPTIM=-O3
CFLAGS= $(DEBUG) \
$(OPTIM) \
-T$(LDSCRIPT) \
-I . \
-I $(RTOS_SOURCE_DIR)/include \
-I $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_AT91SAM7S \
-I $(DEMO_INCLUDE_DIR) \
-I ./webserver \
-I $(UIP_COMMON_DIR) \
-I ./SrcAtmel \
-I ./USB \
-D SAM7_GCC \
-D THUMB_INTERWORK \
-mcpu=arm7tdmi \
-D PACK_STRUCT_END=__attribute\(\(packed\)\) \
-D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) \
-fomit-frame-pointer \
-mthumb-interwork \
-fno-strict-aliasing \
-fno-dwarf2-cfi-asm
THUMB_SOURCE= \
main.c \
./ParTest/ParTest.c \
$(DEMO_COMMON_DIR)/BlockQ.c \
$(DEMO_COMMON_DIR)/blocktim.c \
$(DEMO_COMMON_DIR)/flash.c \
$(DEMO_COMMON_DIR)/integer.c \
$(DEMO_COMMON_DIR)/GenQTest.c \
$(DEMO_COMMON_DIR)/QPeek.c \
$(DEMO_COMMON_DIR)/dynamic.c \
./webserver/uIP_Task.c \
./webserver/httpd.c \
./webserver/httpd-cgi.c \
./webserver/httpd-fs.c \
./webserver/http-strings.c \
./webserver/SAM7_EMAC.c \
$(UIP_COMMON_DIR)/uip_arp.c \
$(UIP_COMMON_DIR)/psock.c \
$(UIP_COMMON_DIR)/timer.c \
$(UIP_COMMON_DIR)/uip.c \
$(RTOS_SOURCE_DIR)/list.c \
$(RTOS_SOURCE_DIR)/queue.c \
$(RTOS_SOURCE_DIR)/tasks.c \
$(RTOS_SOURCE_DIR)/portable/GCC/ARM7_AT91SAM7S/port.c \
$(RTOS_SOURCE_DIR)/portable/MemMang/heap_2.c \
./USB/USBSample.c \
syscalls.c
ARM_SOURCE= \
$(RTOS_SOURCE_DIR)/portable/GCC/ARM7_AT91SAM7S/portISR.c \
./webserver/emac_isr.c \
./SrcAtmel/Cstartup_SAM7.c \
./USB/USB_ISR.c
THUMB_OBJS = $(THUMB_SOURCE:.c=.o)
ARM_OBJS = $(ARM_SOURCE:.c=.o)
all: RTOSDemo.bin
RTOSDemo.bin : RTOSDemo.hex
$(OBJCOPY) RTOSDemo.elf -O binary RTOSDemo.bin
RTOSDemo.hex : RTOSDemo.elf
$(OBJCOPY) RTOSDemo.elf -O ihex RTOSDemo.hex
RTOSDemo.elf : $(THUMB_OBJS) $(ARM_OBJS) boot.s Makefile
$(CC) $(CFLAGS) $(ARM_OBJS) $(THUMB_OBJS) $(LIBS) boot.s $(LINKER_FLAGS)
$(THUMB_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
$(CC) -c $(CFLAGS) -mthumb $< -o $@
$(ARM_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
$(CC) -c $(CFLAGS) $< -o $@
clean :
rm $(THUMB_OBJS)
rm $(ARM_OBJS)
touch Makefile
rm RTOSDemo.elf
rm RTOSDemo.hex

View File

@@ -0,0 +1,118 @@
/*
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
1 tab == 4 spaces!
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/* Scheduler includes. */
#include "FreeRTOS.h"
/* Demo application includes. */
#include "partest.h"
/*-----------------------------------------------------------
* Simple parallel port IO routines for the LED's. LED's can be set, cleared
* or toggled.
*-----------------------------------------------------------*/
#define partstNUM_LEDS ( 4 )
#define partstALL_LEDS ( ulLED_Mask[ 0 ] | ulLED_Mask[ 1 ] | ulLED_Mask[ 2 ] | ulLED_Mask[ 3 ] )
const unsigned long ulLED_Mask[ partstNUM_LEDS ]= { (1<<19), (1<<20), (1<<21), (1<<22) };
void vParTestInitialise( void )
{
/* Configure the PIO Lines corresponding to LED1 to LED4 to be outputs. */
AT91C_BASE_PIOB->PIO_PER = partstALL_LEDS;
AT91C_BASE_PIOB->PIO_OER = partstALL_LEDS;
/* Start with all LED's off. */
AT91C_BASE_PIOB->PIO_SODR = partstALL_LEDS;
}
/*-----------------------------------------------------------*/
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{
if( uxLED < ( portBASE_TYPE ) partstNUM_LEDS )
{
if( xValue )
{
AT91C_BASE_PIOB->PIO_SODR = ulLED_Mask[ uxLED ];
}
else
{
AT91C_BASE_PIOB->PIO_CODR = ulLED_Mask[ uxLED ];
}
}
}
/*-----------------------------------------------------------*/
void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{
if( uxLED < ( portBASE_TYPE ) partstNUM_LEDS )
{
if( AT91C_BASE_PIOB->PIO_PDSR & ulLED_Mask[ uxLED ] )
{
AT91C_BASE_PIOB->PIO_CODR = ulLED_Mask[ uxLED ];
}
else
{
AT91C_BASE_PIOB->PIO_SODR = ulLED_Mask[ uxLED ];
}
}
}
/*-----------------------------------------------------------*/
unsigned portBASE_TYPE uxParTestGetLED( void )
{
/* Return the value of LED DS4 for use by the WEB server. */
return !( AT91C_BASE_PIOB->PIO_PDSR & ulLED_Mask[ partstNUM_LEDS - 1 ] );
}

View File

@@ -0,0 +1,68 @@
/*----------------------------------------------------------------------------
* ATMEL Microcontroller Software Support - ROUSSET -
*----------------------------------------------------------------------------
* The software is delivered "AS IS" without warranty or condition of any
* kind, either express, implied or statutory. This includes without
* limitation any warranty or condition with respect to merchantability or
* fitness for any particular purpose, or against the infringements of
* intellectual property rights of others.
*----------------------------------------------------------------------------
* File Name : Board.h
* Object : AT91SAM7X Evaluation Board Features Definition File.
*
* Creation : JG 20/Jun/2005
*----------------------------------------------------------------------------
*/
#ifndef Board_h
#define Board_h
#include "AT91SAM7X256.h"
#include "ioat91sam7x256.h"
#define true -1
#define false 0
/*-------------------------------*/
/* SAM7Board Memories Definition */
/*-------------------------------*/
// The AT91SAM7X128 embeds a 32-Kbyte SRAM bank, and 128K-Byte Flash
#define FLASH_PAGE_NB 256
#define FLASH_PAGE_SIZE 128
/*-----------------*/
/* Leds Definition */
/*-----------------*/
#define LED1 (1<<19) // PB19
#define LED2 (1<<20) // PB20
#define LED3 (1<<21) // PB21
#define LED4 (1<<22) // PB22
#define NB_LED 4
#define LED_MASK (LED1|LED2|LED3|LED4)
/*-------------------------*/
/* Push Buttons Definition */
/*-------------------------*/
#define SW1_MASK (1<<21) // PA21
#define SW2_MASK (1<<22) // PA22
#define SW3_MASK (1<<23) // PA23
#define SW4_MASK (1<<24) // PA24
#define SW_MASK (SW1_MASK|SW2_MASK|SW3_MASK|SW4_MASK)
#define SW1 (1<<21) // PA21
#define SW2 (1<<22) // PA22
#define SW3 (1<<23) // PA23
#define SW4 (1<<24) // PA24
#define SWPUSH (1<<25) // PA25
/*--------------*/
/* Master Clock */
/*--------------*/
#define EXT_OC 18432000 // Exetrnal ocilator MAINCK
#define MCK 47923200 // MCK (PLLRC div by 2)
#define MCKKHz (MCK/1000) //
#endif /* Board_h */

View File

@@ -0,0 +1,69 @@
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name : Cstartup_SAM7.c
//* Object : Low level initializations written in C for IAR
//* tools
//* 1.0 08/Sep/04 JPP : Creation
//* 1.10 10/Sep/04 JPP : Update AT91C_CKGR_PLLCOUNT filed
//*----------------------------------------------------------------------------
// Include the board file description
#include "Board.h"
//*----------------------------------------------------------------------------
//* \fn AT91F_LowLevelInit
//* \brief This function performs very low level HW initialization
//* this function can be use a Stack, depending the compilation
//* optimization mode
//*----------------------------------------------------------------------------
void AT91F_LowLevelInit( void);
void AT91F_LowLevelInit( void )
{
AT91PS_PMC pPMC = AT91C_BASE_PMC;
//* Set Flash Waite sate
// Single Cycle Access at Up to 30 MHz, or 40
// if MCK = 47923200 I have 50 Cycle for 1 useconde ( flied MC_FMR->FMCN
AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(75 <<16)) | AT91C_MC_FWS_1FWS ;
//* Watchdog Disable
AT91C_BASE_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS;
//* Set MCK at 47 923 200
// 1 Enabling the Main Oscillator:
// SCK = 1/32768 = 30.51 uSeconde
// Start up time = 8 * 6 / SCK = 56 * 30.51 = 1,46484375 ms
pPMC->PMC_MOR = ((( AT91C_CKGR_OSCOUNT & (0x06 <<8)) | AT91C_CKGR_MOSCEN ));
// Wait the startup time
while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
// 2 Checking the Main Oscillator Frequency (Optional)
// 3 Setting PLL and divider:
// - div by 5 Fin = 3,6864 =(18,432 / 5)
// - Mul 25+1: Fout = 95,8464 =(3,6864 *26)
// for 96 MHz the erroe is 0.16%
//eld out NOT USED = 0 Fi
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 5) |
(AT91C_CKGR_PLLCOUNT & (28<<8)) |
(AT91C_CKGR_MUL & (25<<16)));
// Wait the startup time
while(!(pPMC->PMC_SR & AT91C_PMC_LOCK));
// 4. Selection of Master Clock and Processor Clock
// select the PLL clock divided by 2
pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2 ;
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
pPMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK ;
while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
}

View File

@@ -0,0 +1,195 @@
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name : Emac.h
//* Object : Emac header file
//* Creation : Hi 11/18/2002
//*
//*----------------------------------------------------------------------------
#ifndef AT91C_EMAC_H
#define AT91C_EMAC_H
//* Allows to display all IP header in the main.c
//* If not defined, only ICMP packets are displayed
#define AT91C_DISPLAY_ALL_IPHEADER 0
#define NB_RX_BUFFERS 25 //* Number of receive buffers
#define ETH_RX_BUFFER_SIZE 128 //*
#define NB_TX_BUFFERS 2 //* Number of Transmit buffers
#define ETH_TX_BUFFER_SIZE UIP_BUFSIZE //*
#define AT91C_NO_IPPACKET 0
#define AT91C_IPPACKET 1
#define ARP_REQUEST 0x0001
#define ARP_REPLY 0x0002
#define PROT_ARP 0x0806
#define PROT_IP 0x0800
#define PROT_ICMP 0x01
#define ICMP_ECHO_REQUEST 0x08
#define ICMP_ECHO_REPLY 0x00
#define AT91C_EMAC_CLKEN 0x2
#define SWAP16(x) (((x & 0xff) << 8) | (x >> 8))
#if 0
//* Transfer descriptor structure
typedef struct _AT91S_TdDescriptor {
unsigned int addr;
unsigned int status;
}AT91S_TdDescriptor, *AT91PS_TdDescriptor;
#endif
//* Receive Transfer descriptor structure
typedef struct _AT91S_RxTdDescriptor {
unsigned int addr;
union
{
unsigned int status;
struct {
unsigned int Length:11;
unsigned int Res0:1;
unsigned int Rxbuf_off:2;
unsigned int StartOfFrame:1;
unsigned int EndOfFrame:1;
unsigned int Cfi:1;
unsigned int VlanPriority:3;
unsigned int PriorityTag:1;
unsigned int VlanTag:1;
unsigned int TypeID:1;
unsigned int Sa4Match:1;
unsigned int Sa3Match:1;
unsigned int Sa2Match:1;
unsigned int Sa1Match:1;
unsigned int Res1:1;
unsigned int ExternalAdd:1;
unsigned int UniCast:1;
unsigned int MultiCast:1;
unsigned int BroadCast:1;
}S_Status;
}U_Status;
}AT91S_RxTdDescriptor, *AT91PS_RxTdDescriptor;
//* Transmit Transfer descriptor structure
typedef struct _AT91S_TxTdDescriptor {
unsigned int addr;
union
{
unsigned int status;
struct {
unsigned int Length:11;
unsigned int Res0:4;
unsigned int LastBuff:1;
unsigned int NoCrc:1;
unsigned int Res1:10;
unsigned int BufExhausted:1;
unsigned int TransmitUnderrun:1;
unsigned int TransmitError:1;
unsigned int Wrap:1;
unsigned int BuffUsed:1;
}S_Status;
}U_Status;
}AT91S_TxTdDescriptor, *AT91PS_TxTdDescriptor;
#define AT91C_OWNERSHIP_BIT 0x00000001
/* Receive status defintion */
#define AT91C_BROADCAST_ADDR ((unsigned int) (1 << 31)) //* Broadcat address detected
#define AT91C_MULTICAST_HASH ((unsigned int) (1 << 30)) //* MultiCast hash match
#define AT91C_UNICAST_HASH ((unsigned int) (1 << 29)) //* UniCast hash match
#define AT91C_EXTERNAL_ADDR ((unsigned int) (1 << 28)) //* External Address match
#define AT91C_SA1_ADDR ((unsigned int) (1 << 26)) //* Specific address 1 match
#define AT91C_SA2_ADDR ((unsigned int) (1 << 25)) //* Specific address 2 match
#define AT91C_SA3_ADDR ((unsigned int) (1 << 24)) //* Specific address 3 match
#define AT91C_SA4_ADDR ((unsigned int) (1 << 23)) //* Specific address 4 match
#define AT91C_TYPE_ID ((unsigned int) (1 << 22)) //* Type ID match
#define AT91C_VLAN_TAG ((unsigned int) (1 << 21)) //* VLAN tag detected
#define AT91C_PRIORITY_TAG ((unsigned int) (1 << 20)) //* PRIORITY tag detected
#define AT91C_VLAN_PRIORITY ((unsigned int) (7 << 17)) //* PRIORITY Mask
#define AT91C_CFI_IND ((unsigned int) (1 << 16)) //* CFI indicator
#define AT91C_EOF ((unsigned int) (1 << 15)) //* EOF
#define AT91C_SOF ((unsigned int) (1 << 14)) //* SOF
#define AT91C_RBF_OFFSET ((unsigned int) (3 << 12)) //* Receive Buffer Offset Mask
#define AT91C_LENGTH_FRAME ((unsigned int) 0x07FF) //* Length of frame
/* Transmit Status definition */
#define AT91C_TRANSMIT_OK ((unsigned int) (1 << 31)) //*
#define AT91C_TRANSMIT_WRAP ((unsigned int) (1 << 30)) //* Wrap bit: mark the last descriptor
#define AT91C_TRANSMIT_ERR ((unsigned int) (1 << 29)) //* RLE:transmit error
#define AT91C_TRANSMIT_UND ((unsigned int) (1 << 28)) //* Transmit Underrun
#define AT91C_BUF_EX ((unsigned int) (1 << 27)) //* Buffers exhausted in mid frame
#define AT91C_TRANSMIT_NO_CRC ((unsigned int) (1 << 16)) //* No CRC will be appended to the current frame
#define AT91C_LAST_BUFFER ((unsigned int) (1 << 15)) //*
#define ARP_ETHER 1 /* Ethernet hardware address */
#define ARPOP_REQUEST 1 /* Request to resolve address */
#define ARPOP_REPLY 2 /* Response to previous request */
#define RARPOP_REQUEST 3 /* Request to resolve address */
#define RARPOP_REPLY 4 /* Response to previous request */
typedef struct _AT91S_EthHdr
{
unsigned char et_dest[6]; /* Destination node */
unsigned char et_src[6]; /* Source node */
unsigned short et_protlen; /* Protocol or length */
} AT91S_EthHdr, *AT91PS_EthHdr;
typedef struct _AT91S_ArpHdr
{
unsigned short ar_hrd; /* Format of hardware address */
unsigned short ar_pro; /* Format of protocol address */
unsigned char ar_hln; /* Length of hardware address */
unsigned char ar_pln; /* Length of protocol address */
unsigned short ar_op; /* Operation */
unsigned char ar_sha[6]; /* Sender hardware address */
unsigned char ar_spa[4]; /* Sender protocol address */
unsigned char ar_tha[6]; /* Target hardware address */
unsigned char ar_tpa[4]; /* Target protocol address */
} AT91S_ArpHdr, *AT91PS_ArpHdr;
//* IP Header structure
typedef struct _AT91S_IPheader {
unsigned char ip_hl_v; /* header length and version */
unsigned char ip_tos; /* type of service */
unsigned short ip_len; /* total length */
unsigned short ip_id; /* identification */
unsigned short ip_off; /* fragment offset field */
unsigned char ip_ttl; /* time to live */
unsigned char ip_p; /* protocol */
unsigned short ip_sum; /* checksum */
unsigned char ip_src[4]; /* Source IP address */
unsigned char ip_dst[4]; /* Destination IP address */
unsigned short udp_src; /* UDP source port */
unsigned short udp_dst; /* UDP destination port */
unsigned short udp_len; /* Length of UDP packet */
unsigned short udp_xsum; /* Checksum */
} AT91S_IPheader, *AT91PS_IPheader;
//* ICMP echo header structure
typedef struct _AT91S_IcmpEchoHdr {
unsigned char type; /* type of message */
unsigned char code; /* type subcode */
unsigned short cksum; /* ones complement cksum of struct */
unsigned short id; /* identifier */
unsigned short seq; /* sequence number */
}AT91S_IcmpEchoHdr, *AT91PS_IcmpEchoHdr;
typedef struct _AT91S_EthPack
{
AT91S_EthHdr EthHdr;
AT91S_ArpHdr ArpHdr;
} AT91S_EthPack, *AT91PS_EthPack;
#endif //* AT91C_EMAC_H

View File

@@ -0,0 +1,105 @@
/* Generic MII registers. */
#define MII_BMCR 0x00 /* Basic mode control register */
#define MII_BMSR 0x01 /* Basic mode status register */
#define MII_PHYSID1 0x02 /* PHYS ID 1 */
#define MII_PHYSID2 0x03 /* PHYS ID 2 */
#define MII_ADVERTISE 0x04 /* Advertisement control reg */
#define MII_LPA 0x05 /* Link partner ability reg */
#define MII_EXPANSION 0x06 /* Expansion register */
#define MII_DCOUNTER 0x12 /* Disconnect counter */
#define MII_FCSCOUNTER 0x13 /* False carrier counter */
#define MII_NWAYTEST 0x14 /* N-way auto-neg test reg */
#define MII_RERRCOUNTER 0x15 /* Receive error counter */
#define MII_SREVISION 0x16 /* Silicon revision */
#define MII_RESV1 0x17 /* Reserved... */
#define MII_LBRERROR 0x18 /* Lpback, rx, bypass error */
#define MII_PHYADDR 0x19 /* PHY address */
#define MII_RESV2 0x1a /* Reserved... */
#define MII_TPISTATUS 0x1b /* TPI status for 10mbps */
#define MII_NCONFIG 0x1c /* Network interface config */
/* Basic mode control register. */
#define BMCR_RESV 0x007f /* Unused... */
#define BMCR_CTST 0x0080 /* Collision test */
#define BMCR_FULLDPLX 0x0100 /* Full duplex */
#define BMCR_ANRESTART 0x0200 /* Auto negotiation restart */
#define BMCR_ISOLATE 0x0400 /* Disconnect DP83840 from MII */
#define BMCR_PDOWN 0x0800 /* Powerdown the DP83840 */
#define BMCR_ANENABLE 0x1000 /* Enable auto negotiation */
#define BMCR_SPEED100 0x2000 /* Select 100Mbps */
#define BMCR_LOOPBACK 0x4000 /* TXD loopback bits */
#define BMCR_RESET 0x8000 /* Reset the DP83840 */
/* Basic mode status register. */
#define BMSR_ERCAP 0x0001 /* Ext-reg capability */
#define BMSR_JCD 0x0002 /* Jabber detected */
#define BMSR_LSTATUS 0x0004 /* Link status */
#define BMSR_ANEGCAPABLE 0x0008 /* Able to do auto-negotiation */
#define BMSR_RFAULT 0x0010 /* Remote fault detected */
#define BMSR_ANEGCOMPLETE 0x0020 /* Auto-negotiation complete */
#define BMSR_RESV 0x07c0 /* Unused... */
#define BMSR_10HALF 0x0800 /* Can do 10mbps, half-duplex */
#define BMSR_10FULL 0x1000 /* Can do 10mbps, full-duplex */
#define BMSR_100HALF 0x2000 /* Can do 100mbps, half-duplex */
#define BMSR_100FULL 0x4000 /* Can do 100mbps, full-duplex */
#define BMSR_100BASE4 0x8000 /* Can do 100mbps, 4k packets */
/* Advertisement control register. */
#define ADVERTISE_SLCT 0x001f /* Selector bits */
#define ADVERTISE_CSMA 0x0001 /* Only selector supported */
#define ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */
#define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */
#define ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */
#define ADVERTISE_100FULL 0x0100 /* Try for 100mbps full-duplex */
#define ADVERTISE_100BASE4 0x0200 /* Try for 100mbps 4k packets */
#define ADVERTISE_RESV 0x1c00 /* Unused... */
#define ADVERTISE_RFAULT 0x2000 /* Say we can detect faults */
#define ADVERTISE_LPACK 0x4000 /* Ack link partners response */
#define ADVERTISE_NPAGE 0x8000 /* Next page bit */
#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL | \
ADVERTISE_CSMA)
#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \
ADVERTISE_100HALF | ADVERTISE_100FULL)
/* Link partner ability register. */
#define LPA_SLCT 0x001f /* Same as advertise selector */
#define LPA_10HALF 0x0020 /* Can do 10mbps half-duplex */
#define LPA_10FULL 0x0040 /* Can do 10mbps full-duplex */
#define LPA_100HALF 0x0080 /* Can do 100mbps half-duplex */
#define LPA_100FULL 0x0100 /* Can do 100mbps full-duplex */
#define LPA_100BASE4 0x0200 /* Can do 100mbps 4k packets */
#define LPA_RESV 0x1c00 /* Unused... */
#define LPA_RFAULT 0x2000 /* Link partner faulted */
#define LPA_LPACK 0x4000 /* Link partner acked us */
#define LPA_NPAGE 0x8000 /* Next page bit */
#define LPA_DUPLEX (LPA_10FULL | LPA_100FULL)
#define LPA_100 (LPA_100FULL | LPA_100HALF | LPA_100BASE4)
/* Expansion register for auto-negotiation. */
#define EXPANSION_NWAY 0x0001 /* Can do N-way auto-nego */
#define EXPANSION_LCWP 0x0002 /* Got new RX page code word */
#define EXPANSION_ENABLENPAGE 0x0004 /* This enables npage words */
#define EXPANSION_NPCAPABLE 0x0008 /* Link partner supports npage */
#define EXPANSION_MFAULTS 0x0010 /* Multiple faults detected */
#define EXPANSION_RESV 0xffe0 /* Unused... */
/* N-way test register. */
#define NWAYTEST_RESV1 0x00ff /* Unused... */
#define NWAYTEST_LOOPBACK 0x0100 /* Enable loopback for N-way */
#define NWAYTEST_RESV2 0xfe00 /* Unused... */
#define SPEED_10 10
#define SPEED_100 100
/* Duplex, half or full. */
#define DUPLEX_HALF 0x00
#define DUPLEX_FULL 0x01
/* PHY ID */
#define MII_DM9161_ID 0x0181b8a0
#define MII_AM79C875_ID 0x00225540 /* 0x00225541 */
#define AT91C_PHY_ADDR 31

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,101 @@
/*
FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.
***************************************************************************
* *
* If you are: *
* *
* + New to FreeRTOS, *
* + Wanting to learn FreeRTOS or multitasking in general quickly *
* + Looking for basic training, *
* + Wanting to improve your FreeRTOS skills and productivity *
* *
* then take a look at the FreeRTOS books - available as PDF or paperback *
* *
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
* http://www.FreeRTOS.org/Documentation *
* *
* A pdf reference manual is also available. Both are usually delivered *
* to your inbox within 20 minutes to two hours when purchased between 8am *
* and 8pm GMT (although please allow up to 24 hours in case of *
* exceptional circumstances). Thank you for your support! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
***NOTE*** The exception to the GPL is included to allow you to distribute
a combined work that includes FreeRTOS without being obliged to provide the
source code for proprietary components outside of the FreeRTOS kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
1 tab == 4 spaces!
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef USB_DEMO_H
#define USB_DEMO_H
/*-----------------------------------------------------------*/
#define usbQUEUE_LENGTH ( 0x3 ) /* Must have all bits set! */
#define usbEND_POINT_0 ( 0 )
#define usbEND_POINT_1 ( 1 )
#define usbRX_COUNT_MASK ( ( unsigned long ) 0x7ff )
#define AT91C_UDP_STALLSENT AT91C_UDP_ISOERROR
/* Structure used to take a snapshot of the USB status from within the ISR. */
typedef struct X_ISR_STATUS
{
unsigned long ulISR;
unsigned long ulCSR0;
unsigned char ucFifoData[ 8 ];
} xISRStatus;
/* Macros to manipulate the control and status registers. These registers
cannot be accessed using a direct read modify write operation outside of the
ISR as some bits are left unchanged by writing with a 0, and some are left
unchanged by writing with a 1. */
#define usbCSR_SET_BIT( pulValueNow, ulBit ) \
{ \
/* Set TXCOMP, RX_DATA_BK0, RXSETUP, */ \
/* STALLSENT and RX_DATA_BK1 to 1 so the */ \
/* write has no effect. */ \
( * ( ( unsigned long * ) pulValueNow ) ) |= ( unsigned long ) 0x4f; \
\
/* Clear the FORCE_STALL and TXPKTRDY bits */ \
/* so the write has no effect. */ \
( * ( ( unsigned long * ) pulValueNow ) ) &= ( unsigned long ) 0xffffffcf; \
\
/* Set whichever bit we want set. */ \
( * ( ( unsigned long * ) pulValueNow ) ) |= ( ulBit ); \
}
/*
* Creates the queue used to communicate between the USB task and the USB ISR, then
* createst the task that manages the USB peripheral.
*/
void vStartUSBTask( unsigned portBASE_TYPE uxPriority );
#endif

Some files were not shown because too many files have changed in this diff Show More