Smart placement is to enable profiling-based application optimization.
Usually used when application foot print is more than internal memory size (3.5MB for case of AM263Px). More on this can be read at Smart Placement
The basic assumption is that application needs to be profiled to gather runtime information. This information is then used to optimize the application by moving functions from external slower, but larger, flash to internal memory which is faster but small in size.
Smart placement provides tools and method to make the process easy via specific implementations of smart placement
Use this when
More on this can be read at Manual Smart Placement
This method gives an automated way of finding critical functions. A more frequent function is more critical function. Use this when:
More on this can be read at Software Instrument Smart Placement