Hi,
On 31.05.2018 08:41, Steve wrote: > It just dawned on me, that the stm32 normally executes its programs > out of flash. > Yes, this is often the case. See below. > I was thinking the flash stored the software, and the first thing it > did, was move the code to ram for execution. I was thinking the flash > access time was too slow. > It is slower, indeed but due to the fairly low amount of internal RAM, for the STM32F4 the code is in general executed straight out of flash. Of course it is possible to move some or all code to RAM if you have enough spare. However, I can tell you from experience, that FreeDV as a whole cannot be moved into RAM since the math (RAM requirements + Code size > available RAM) is against you. Moving the most time critical portion of the code to RAM is a lot more tricky than to move all code to RAM but doable. That involves in case of GCC usage link script writing and also some additional runtime/OS support for the code move. Don't know how to achieve this in Nuttx. > I've been playing with the NUTTX OS and it has some options about > where to run the program and my clue light just came on. > See above. > By the way, with Nuttx I was able to talk to the development board > using a usb cable and minicom, and play with the "nut" shell. I tried > the ram disk application and it worked as advertised. > BTW, newer STM32 processor such as the STM32F7 and STM32H7 families have real caches for data and instructions, which to a certain degree reduce the flash speed problem. They at least execute the same code much faster if caches are turned on. No such thing on the STM32F4, though. > Steve Danilo ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2