-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Durandal: manual logger start fails #14740
Comments
same as #13483 |
This is still a problem. |
We use our own boards with stm32h7 in it.And we referred to the Durandal code, also had the problem.I found the bug and solved it. The STM32H7 series contains two SDMMC controllers: SDMMC1 and SDMMC2, we use SDMMC1 as the default. In function stm32_dmapreflight(..) does not judge the memory region. IDMA used invalid address(from userspace ) to generate TXUNDERR error. static int stm32_dmapreflight(FAR struct sdio_dev_s *dev,
} If the FAT file system finds a write failure and it will try write again with the STM32_AXISRAM_BASE region memory address.then everything is ok. |
I temporarily closed CONFIG_STM32H7_SDMMC_IDMA in deconfig |
In PX4 The DMA Alocator is is used board_dma_alloc(). This memory is allocated statically from AIX SRAM to begin with with proper DMA / D-cache alignment and sizing. Both SDMMC1 & SDMMC2 support IAX SRAM in IDMA mode. ONLY SDMMC2 can access SRAM[123] so to upstream this change it would have to dependent on the SDMMC choice and its ranges. But this is un necessary in the PX4 use case. |
@zhaoxiaowei1013 & @merrock please test with PX4/NuttX#106
My above statement is incorrect for writes from user space. I see what you were facing. It was fixed in upstream and I have back ported it. |
Yes, it works well. In fact, I ported the stm32h7 driver to 1.9 from 1.11,I can't experiment on 1.11. Besides, I found several other problems sd card can not be formatted related to idma (1) apps/fsutils/mkfatfs/writefat.c (2) nuttx\drivers\bch\bchlib_setup.c (3) drivers/bch/bchlib_write.c In addition, when entering the 'logger on' command, if no GPS is connected at this time, the QGC will display error characters, the reason is These were added by me temporarily,it works well. This is for reference only. |
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions. |
fixed in PX4/NuttX#106 |
Starting logger on Durandal (master branch) manually from Mavlink console seems to fail:
The text was updated successfully, but these errors were encountered: