4bd2c0443b
Some checks are pending
Build Documentation / build-html (push) Waiting to run
Adding source files to the fdcan branch based on identical register set. These files should mostly just work. Removed references to FDCAN3. H5 only has 2 FDCAN interfaces. Add basic FDCAN Kconfig FDCAN Kconfig options Added various options for FDCAN mode, FDCAN bitrate, clock selection and division, and timing. Added bit timing config options (nominal and data). Added stm32h56xxx pin mappings. Fixed Data Bit Timing. Pulled in STM32H5_FDCAN_PDIV_VALUE. Added stm32_fdcan.c to Make.defs. Added DBITRATE to Kconfig Clock source changes to FDCAN Moved the setting of the clock source to the stm32h5xx_rcc.c file. Added notes to stm32_fdcan.c that STM32_FDCAN_FREQUENCY and STM32_FDCAN_PDIV should be set in board.h Change STM32H5_FDCAN_PDIV to STM32_FDCAN_PDIV Updated Kconfig to match G4 implementation. Removed stm32_fdcan_sock for now. Removed FDCAN3 from stm32_fdcan.h incomplete changes for bit timning Set NBRP and DBRP registers based on STM32H7 FDCAN socket algorithm. Added board file for initializing 1 can device. Will update later to initialize second device. Fixed ifdefs. Changed STM32 to STM32H5. Add some can testing changes. Added option to configure bit timing, with automatic bit timing set as default. Style fixes Fixed FDCAN2 and memory access issues FDCAN2 msgram offset was wrong by 1 word (4 bytes). I removed the + 4 at the end of the definition. This fixed the issues with fdcan2. Also changed ifdefs when setting ESI, FDF, and BRS bits. When CAN FD was used, this resulted in the first command after the endif (the setting of dest at line 2325) being skipped because it was included in the else block when it shouldn't have. This resulted in exceptions. Adjust ifdefs fixes this problem. Other minor fixes. Restoring board files to upstream versions. These files will be pulled in later in a separate pull request. stm32h5_fdcan_test branch created for this. Fixed Queue Mode Transmit The can driver checks the TFFL bits in the TXFQS register. In Queue mode, this always returns 0. As a result, fdcan_txempty was always returning false, which resulted in no transmissions. This code fixes that. Add stm32h5 fdcan chardriver to Make.defs |
||
---|---|---|
.github | ||
arch | ||
audio | ||
binfmt | ||
boards | ||
cmake | ||
crypto | ||
Documentation | ||
drivers | ||
dummy | ||
fs | ||
graphics | ||
include | ||
libs | ||
mm | ||
net | ||
openamp | ||
pass1 | ||
sched | ||
syscall | ||
tools | ||
video | ||
wireless | ||
.asf.yaml | ||
.gitignore | ||
.pre-commit-config.yaml | ||
.yamllint | ||
AUTHORS | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
INVIOLABLES.md | ||
Kconfig | ||
LICENSE | ||
Makefile | ||
NOTICE | ||
README.md | ||
ReleaseNotes |
Apache NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOSs (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).
For brevity, many parts of the documentation will refer to Apache NuttX as simply NuttX.
Getting Started
First time on NuttX? Read the Getting Started guide! If you don't have a board available, NuttX has its own simulator that you can run on terminal.
Documentation
You can find the current NuttX documentation on the Documentation Page.
Alternatively, you can build the documentation yourself by following the Documentation Build Instructions.
The old NuttX documentation is still available in the Apache wiki.
Supported Boards
NuttX supports a wide variety of platforms. See the full list on the Supported Platforms page.
Contributing
If you wish to contribute to the NuttX project, read the Contributing guidelines for information on Git usage, coding standard, workflow and the NuttX principles.
License
The code in this repository is under either the Apache 2 license, or a license compatible with the Apache 2 license. See the License Page for more information.