update /README.md

This commit is contained in:
hathach 2013-05-07 13:52:39 +07:00
parent 374a1639a0
commit 9a61e49531
1 changed files with 11 additions and 9 deletions

View File

@ -10,7 +10,7 @@ More detail on TDD can be found at [James W. Grenning's book "Test Driven Develo
### RTOS ###
tinyusb is designed to be OS-ware and can run across RTOS vendor thanks to its OS Abstraction Layer (OSAL). However, it also run without OS by choosing the right value for macro **TUSB_CFG_OS**. Currently the following RTOS can be run with tinyusb (out of the box).
tinyusb is designed to be OS-ware and run across OS vendors, thanks to its OS Abstraction Layer (OSAL). However, it can also run without an OS (OSAL will be expanded to be a state machine in this case). Currently the following OS can be run with tinyusb (out of the box).
- **None OS**
- **FreeRTOS**
@ -19,6 +19,8 @@ tinyusb is designed to be OS-ware and can run across RTOS vendor thanks to its O
- HID Mouse
- HID Keyboard
- MSC coming soon...
- Hub coming soon...
### Device ###
@ -26,7 +28,7 @@ coming soon ...
## Coding Standards ##
tinyusb make use of goodie features of C99, which saves a tons of code lines (also means save a tons of bugs). However, those feature can be misused and pave the way for bugs sneaking into. Therefore, to minimize bugs, the author try to comply with published Coding Standards like:
tinyusb make use of goodie features of C99, which saves a tons of code lines (also means save a tons of bugs). However, those features can be misused (plus C is a dangerous language by itself) and pave the way for bugs sneaking into. Therefore, to minimize bugs, the author try to comply with published Coding Standards like:
- [MISRA-C](http://www.misra-c.com/Activities/MISRAC/tabid/160/Default.aspx)
- [Power of 10](http://spinroot.com/p10/)
@ -36,19 +38,19 @@ tinyusb make use of goodie features of C99, which saves a tons of code lines (al
MISRA-C is well respected & a bar for industrial coding standard. Where is possible, MISRA-C is followed but it is almost impossible to follow the standard without the following exceptions:
- **Rule 2.2: use only /*** It has long passed the day that C99 comment style // will cause any issues especially to build tinyusb you need to enable your compiler's C99 mode. I think they will eventually drop this rule in upcoming MISRA-C 2012.
- **Rule 2.2: use only /*** It has long passed the day that C99 comment style // will cause any issues, especially compiler's C99 mode is required to build tinyusb. I think they will eventually drop this rule in upcoming MISRA-C 2012.
- **Rule 8.5: No definitions of objects or function in a header file** function definitions in header files are used to allow 'inlining'
- **Rule 14.7: A function shall have a single point of exit at the end of the function** Unfortunately, following this rule will have a lot of nesting if else, I prefer to exit as soon as possible with assert style and flatten if else.
- **Rule 14.7: A function shall have a single point of exit at the end of the function** Unfortunately, following this rule will have a lot of nesting if-else, I prefer to exit as soon as possible with assert style and flatten if-else.
- **Rule 18.4: Unions shall not be used** sorry MISRA, union is required to effectively mapped to MCU's registers
- expect to have more & more
- expect to have more & more exceptions
### Power of 10 Exception ###
### Power of 10 Exceptions ###
- coming soon
## Is It Ready ##
It is still under developing, but most of the code can run out of the box with supported boards
Although tinyusb is still under developing, but most of the code can run out of the box with supported boards
## Getting Started ##
@ -60,7 +62,7 @@ coming soon ...
## Supported Toolchains ##
currently only lpcxpresso/redsuite is supported. However Keil & IAR are always on top of the list in the near future
currently only lpcxpresso/redsuite is supported. However Keil & IAR are always on top of the list.
## Supported Boards ##
@ -73,7 +75,7 @@ this codebase can run out of the box with the following boards
## How Can I Help ##
If you find my little USB stack is useful, please take some time off to file any issues that you encountered. It is not necessary to be a software bug, it can be a question, request, suggestion etc. We can consider each github's issue as a forum's topic.
If you find my little USB stack is useful, please take some time to file any issues that you encountered. It is not necessary to be a software bug, it can be a question, request, suggestion etc. We can consider each github's issue as a forum's topic. Alternately you can buy me a cup of coffee if you happens to be in Hochiminh city.
## License ##