-
Notifications
You must be signed in to change notification settings - Fork 224
Problems regarding to .Net Micro Framework 4.4 running on STM32F7 #535
Comments
Just Got it fixed, everything seems working perfect at the moment, except the .Net Micro Framework Deployment Tool could not exceed 4MB.. |
Hi , I have been looking at M7 ports as well. Initially I updated the mf4.3 port, but I do get strange effects on the LWIP networking. For instance on a ping response from a PC ping. The first reply usually takes more than 400mSecs, but second reply can come in straight away, this gets repeated for pings 3 and 4 - but because of the slow response windows effectively reports a 50% loss - due to the time outs. However DHCp seems ok. On a TCP/ip 'echo' test, you can echo 100's of messages from a pc test app without loss - but the response time of the echo's is terrible - about 100mSecs. Any chance we can look at your source project? Compare notes? Regards Sytech Designs [email protected] |
Hi Sytech, You ported the M7 to the MF4.3? What ethernet chip you're using for the networking? My suggestion for your problem is do the debugging for you firmware, place the break points to the ethernet driver and trace the code step by step, then you may know what's casuing a lot of time for the response. I think your problem is not that difficult to get it fixed. All the best!!!! |
Just got the 4MB flash problem fixed, but it must be smaller than 16MB(Even equal to 16MB the error would still occures). |
With the MF4.4, no matter what, this issue always happens, does anyone know what's wrong with it? Even with the stm32f407 & stm32f429 discovery... Looking for a device on transport 'USB' |
Years ago when we changed the flash from 4mg to 8mg on the Meridian, we ran into this problem. Lorenzo T. Explained it at the time - but I can't remember the details. However I am on route to NZ and will be seeing Martin Welford. I'm sure he will remember. But I won't be there for about a week - so won't get an answer until then ( going a scenic route!)- so if you get no answer before then, maybe I can help then |
Hi Sytech, Have you ever thought to improve the performance of the .Net MF? I can only get the .Net MF running 2 - 3 times faster than the orinal source...... Want to make the .Net MF more usable............ |
Just got the .Net MF 4.4 running 6 - 7 times faster on STM32F7 comparing to the original .Net MF 4.4 source code running on STM32F4. (Same frequency..) Maybe in the future with STM32H7, we could get it running 10 - 15 times faster at 384 Mhz, that would be fast enough for many projects. Of course, the STM32F7 & STM32H7 is much more expensive... |
How did you achieve this ? Care to fill us in on the details ? |
@piwi1263 |
Some questions on the original problem...
Lastly, a comment on the M7 cache settings. We also found significant speed improvement by turning on the L1 instruction cache, but if you turn on the ram cache it will cause problems with the dma buffers for USB ( and any other dma use). The ram cache needs more work on the MMU, you need to allocate sections for the dma buffers and set the cache function of for these regions - we have not got round to this yet. Regards Sytech |
The L1 instrution & data cache seems like working fine on my end so far, can get the L1 & DMA working at the same time. I'm still doing the stability tests on it to make sure there's no problem at all with both DMA & L1 enabled. |
Running this code only takes around 800ms on the STM32F746 discovery. Hope on the STM32H7 can get this done in about 200 - 300ms.... |
@weixiongmei What exactly was the problem and what did you do to the deploy engine code to fix it? Is it a physical check on flash size, or is it anything to do with the USB protocol timing out, due to the time it is taking to erase the entire deployment allocated blocks? Any chance you could publish your M7 and M0 ports - even if they are works in progress? Regards |
As an aside comment regarding the time it takes to erase flash, I have found it is necessary to implement a check in the firmware if a flash block is not erased in code before issuing erase commands to the flash device. It is significantly faster to do a programmatic blank check and skip the erase if already blank, than have the flash hardware erase an already blank section. At-least that is my experience with Intel style Boot Block Flash with large blocks. |
I'm porting the .Net Micro Framework 4.4 to the STM32F7, and got most of the drivers done, such as USB, external SDRAM, executing application on external QSPI flash(It seems like it is much faster than executing on the internal flash, it takes less than a second to deploy a 450KB C# application), LCD, Touch Screen. But there're couple strange problems.
If anybody experieced for porting the STM32F7, please give me a hand, very appriciate!!!!!
The code would be shared to the community once got it running stable.....
Please reply in this thread or contact me at [email protected]
The text was updated successfully, but these errors were encountered: