1. HIC with sufficient usb endpoint to add bulk endpoints : k20dx, k26f, kl26z, lpc4322
2. HIC that needed removed of hid enpts to enable bulk endpoints: lpc11u35, max32620, max32625
3. HIC with no sufficient endpt to supprt bulk: sam3u2c
4. HIC with needs more investigation but can switch cmsis v1 to cmsis v2 support: stm32f103xb
Notes:
1. MSD interface is brought back to interface 0.
2. When msd is disabled, a particular usb serial id bit (most significant bit set for family id 2nd byte) is set.
3. CMSIS v1 string is set to "CMSIS v1"
4. Both hid cmsis v1 endpts can now be removed, when this is the case, host should communicate through control ep.
5. When in high speed, DAP buffer is limited to 64 bytes if both cmsis v1 and v2 are enabled.
1. Added cmsis_os2.h header interface for both RTX4 and no rtos implementation.
2. All bootloader will have no rtos.
3. Moved all rtx4 files to rtos folder
4. Moved OS_CLOCK config to HICs
5. Moved OS_TICK config to RTOS
6. Moved USB related definitions to usb_def.h
7. Removed rtos related header/ dependency to those not needed
Fix the following:
-Correct the name of the frdmkw24f yaml file
-Move shebang to top of scatter file
-Include extra debug file in swd_host.h
-Left align the inline assembly
Keil 5.16 changed how __inline is implemented in C99 to more closely
match that of the C specification. The introduced undefined function
errors in usbd_core.c. This patch fixes that by replacing the use of
"__inline" with "static inline".
More info on this can be found here:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15831.html
Taken from the above link:
$ armcc test.c -o test.axf -O0 --c99
Error: L6218E: Undefined symbol inc (referred from test.o).
This error is expected and caused by the special C99 specification for
the inline keyword. When building for C90 (using __inline keyword
instead of inline) or C++, no error appears. In C99, a function that
is marked with inline is an inline function. An inline function in C99
has an inline definition. An external definition (out-of-line copy of
the function definition) is never generated. Whereas in C90 and C++
an external definition of the function is generated.
To use inline in C99 properly, it is recommended to specify the
function with static inline, or put the definition of the function info
a header file and specify it with extern inline.
Make the following changes to reorganize the repository:
-Update HAL folder so it only contains necessary headers and
each targets implementation of those headers
-Move processor specific cmsis-core files into the hal folder under
the appropriate processor folder
-Remove target/IAP information from the bootloader and interface
folders
-Move all target specific information into a target folder