This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

File system and USB conflict with MDK-Middleware 7.0.0

Up till recently I was using:
MDK-Middleware 7.0.0-beta and
STM32F4xx_DFP 2.6.0

In our project we are using USB-CDC, USB-MSC and NAND flash together with File System. These are most important to understand, although we re using also whole bunch of other things.

Now we switched to
MDK-Middleware 7.0.0 and
STM32F4xx_DFP 2.7.0
and the reason for this simply, because Keil solved some problems on File system etc (added mutexes) etc...

Now our complete project stopped working. I've managed to decrease complete code to only few things:
1. Only one main task
2. HAL_Init
3. SystemClock_Config
4. osKernelInitialize
5. GPIO init for NAND
6. NAND Init (readed id and register from nand flash are correct)
7. finit (return ok)
8. fmount (return ok)
9. USBD_Initialize(0) (we have only USB-CDC without USB-MSC)
10. USBD_Connect(0)
11. while (delay)

The problem is next. Code fails and completely stops at USBD_Initialize (looks like it stops on svc exit; assembly line BEAB BKPT 0xAB) which is basically something very wrong.
The solution is that i simply remove finit and fmount. fmount was added here simply because it is more correct. fmount doesn't take any role here. If we call finit, then usb connect fails.
Most importantly. if finit is not called, then USB works. Can connect to USB with PC UART.

if i step into usb connect and follow steps that are performed dissasembly, then i see that lots of steps are performed. task are successfully started, inits performed, but then somewhere os makes exit.

Notice: Complete project works constantly for several weeks and is much larger. I mention this, since i want to explicitly declare, that we probably don't have some basic problem, since all things already worked with all packages. Example that i show is very simple, but is crucial for next steps.

Please help, since development stopped.

NOTICE2:
Processor STM32F427VGTx
Stack size 8K
Heap size 8K
USBD_Config_0.c taken directly from examples. Changed only string settings. OS resources 2K thread stack size
USB_Config_CDC_0.h same as in examples - Thread stack sizes 0,5k
FS_Config.c Numner of open files 1
RTX_Conf_CM OS_MUTEXCNT 64 OS_FIFOSZ 96 stack size 4096

So, as you see reserved resources for OS and similar are very high.