|
|
|
------------------------------------------------------------------------------
|
|
|
|
HACKING
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Coding style
|
|
|
|
------------
|
|
|
|
|
|
|
|
The whole library is programmed using the Linux kernel coding style, see
|
|
|
|
http://lxr.linux.no/linux/Documentation/CodingStyle for details.
|
|
|
|
|
|
|
|
Please use the same style for any code contributions, thanks!
|
|
|
|
|
|
|
|
|
|
|
|
Development guidelines
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
- Every new file added must have the usual license header, see the
|
|
|
|
existing files for examples.
|
|
|
|
|
|
|
|
- In general, please try to keep the register and bit naming as close
|
|
|
|
as possible to the official vendor datasheets. Among other reasons, this
|
|
|
|
makes it easier for users to find what they're looking for in the
|
|
|
|
datasheets, programming manuals, and application notes.
|
|
|
|
|
|
|
|
- All register definitions should follow the following naming conventions:
|
|
|
|
|
|
|
|
- The #define names should be all-caps, parts are separated by
|
|
|
|
an underscore.
|
|
|
|
|
|
|
|
- The name should be of the form SUBSYSTEM_REGISTER_BIT, e.g.
|
|
|
|
ADC_CR2_DMA, where ADC is the subsystem name, CR2 is the register NAME,
|
|
|
|
and DMA is the name of the bit in the register that is defined.
|
|
|
|
|
|
|
|
- All subsystem-specific function names should be prefixed with the
|
|
|
|
subsystem name. For example, gpio_set_mode() or rcc_osc_on().
|
|
|
|
|
|
|
|
- Please consistently use the short form types from <cm3/common.h>,
|
|
|
|
e.g. u8, u16, u32, and so on.
|
|
|
|
|
|
|
|
- Variables that are used to store register values read from registers or
|
|
|
|
to be stored in a register should be named reg8, reg16, reg32 etc.
|
|
|
|
|