Just for info, now STM32F7 can use USB FS,USB HS and USB HS with ULPI PHY for USB debug&deploy.
As a plus, today thanks to a friend of mine, I get a Discovery STM32F769NI as a gift. It’s just runnig fine basic TinyCLR 0.9.0 using USB HS ULPI for dbg&deploy …
I’ve pushed on GitHub a working version of DSI Display working on a Disco-F769 using external SDRAM in 32Bit mode.
The DSI display is very high density (800x480) and TinyCLR fonts are really too tiny!
The heap memory needed for Graphics is 768KB !! So no way to use internal SRAM.
On the Disco-F746 and Disco-F769, except I2C & CAN bus, all other peripheral are working.
Next to come is Wolfson chip driver …
I will test tomorrow …
Anyway f769 is faster than f746 on internal sram… with last fw the benchmark of 20 pi decimals reach 0.85 sec on f769 and 1.2 on f746 ( without sdram )
Thanks Justin … anyway it is a great chip the stm cortex m7 and tinyclr can really run very fast.
Dsi display is interesting … using an external dedicated phy chip can go out to hdmi directly!
@Justin the sdram it’s very slow also on 32bit bus. it sports a 2.72 sec vs 0.85 sec on internal sram , weird 3 times slower…
I don’t really know if there is any tricks to optimize access. I didn’t yet experiment with Cortex M7 Memory Protection Unit feature, because by default 0xC000000 sdram area is not cached.
Fixed a problem in STM32F7_Deployment.cpp api that was not deploying correctly program to the F7 boards due to D-Cache enabled.
Fixed SDRAM performance issue. Now it works at same performance as the internal sram, remapping to addr 0x60000000, instead of 0xC0000000, where by default MPU enables cache. Note: the same trick can be done on F429 discovery as well.
Some minor fixes to DSI code.
Added .ldf files to devices … fixed .gtignore file (I’m too dumb user of github…).
Updated built fw for F746 and F769 discovery boards
Lesson learned about cache in the F7 mcu… PI bench run now 0.90 sec for 20 decimals, half time than an F429.
@Dat_Tran have you tested USART native driver on STM32F7 ?? It seems stuck with TXEIE int bit cleared, so it doesn’t trasmit anything through the serial port. I can’t enable it writing USART CR1 register. I’m sure it worked fine with 0.8.0 code …
Sure 0.9.0 UART managed libs are wotking fine ? Does it pass buffers to native code?
Thank you @Dat_Tran for the info. I will check better.
I’m using disco stm32f746 and port 0 usart1.
What is the correct string Id for the call serial device.fromid() ?