File tree Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Expand file tree Collapse file tree 1 file changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -45,11 +45,19 @@ namespace mbed {
45
45
46
46
extern SingletonPtr<PlatformMutex> mbed_crc_mutex;
47
47
48
- /* * CRC object provides CRC generation through hardware/ software
48
+ /* * CRC object provides CRC generation through hardware or software
49
49
*
50
- * ROM polynomial tables for supported polynomials (::crc_polynomial) will be used for
51
- * software CRC computation, if ROM tables are not available then CRC is computed runtime
52
- * bit by bit for all data input.
50
+ * CRC sums can be generated using three different method: hardware, software ROM tables
51
+ * and bitwise computation. The mode used is selected automatically based on required
52
+ * polynomial and hardware capabilities. Any polynomial in standard form (`x^3 + x + 1`)
53
+ * can be used for computation, but custom ones can affect the performance.
54
+ *
55
+ * First choice is the hardware mode, the supported polynomial are hardware specific and
56
+ * you will need to consult your MCU manual to discover them. Next ROM polynomial tables
57
+ * are tried (you can find list of supported polynomials here ::crc_polynomial) if selected
58
+ * configuration is supported it will accelerate the software computations. If ROM tables
59
+ * are not available for selected polynomial then CRC is computed at runtime bit by bit
60
+ * for all data input.
53
61
* @note Synchronization level: Thread safe
54
62
*
55
63
* @tparam polynomial CRC polynomial value in hex
You can’t perform that action at this time.
0 commit comments