meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programming:c:ceedling [2021/04/22 12:02] – niziak | programming:c:ceedling [2021/04/22 16:55] (current) – niziak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Ceedling ====== | ====== Ceedling ====== | ||
| * **support files ** - additional C files needed for tests but not for project (not added to project src). | * **support files ** - additional C files needed for tests but not for project (not added to project src). | ||
| - | | + | |
| + | ====== Hints ====== | ||
| + | | ||
| + | * Make separate '' | ||
| + | * Try to create separate '' | ||
| + | * Always wrap HAL or other lower parts using some thin wrappers | ||
| ===== add .c file ===== | ===== add .c file ===== | ||
| Line 26: | Line 32: | ||
| </ | </ | ||
| + | ===== common includes ===== | ||
| + | <code yaml> | ||
| + | :cmock: | ||
| + | :includes: | ||
| + | - < | ||
| + | - < | ||
| + | </ | ||
| + | ===== extern keyword ===== | ||
| + | < | ||
| + | WARNING: No function prototypes found! | ||
| + | </ | ||
| + | By default '' | ||
| + | <code yaml> | ||
| + | :cmock: | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== volatile function parameters ===== | ||
| + | <code c> | ||
| + | void myfn(custom_t *m, volatile uint32_t *var); | ||
| + | |||
| + | error: conflicting types for ... | ||
| + | </ | ||
| + | [[https:// | ||
| + | The C99 standard recommends against using volatile as function call parameters and as return values, | ||
| + | stating that it is undefined behavior (because it is implementation- | ||
| + | not be depended upon. | ||
| + | * **Workaround1: | ||
| + | * **Workaround2: | ||