DM355 启动时间优化
2009-03-23 23:34
330 查看
Boot time optimization
Choose the optimal EMIF settings based on NOR used
Optimize the NOR to RAM copy
Optimize Crc32
Avoid printfs
Avoid I2C or any other slow peripheral access during U-boot
Optimize Kernel
Remove unused components from Kernel
Use loadable modules option to defer initialization of components to after-boot.
Example: network initialization.
Avoid Linux timer calibration loop
Avoid Kernel printks
Optimize Filesystem
Rebuild Rootfilesystem with minimal components
Use cramfs as rootfilesystem
U-boot copies Kernel to RAM
U-boot copies filesystem to RAM (copy can be avoided using flash filesystem /* link to relevant page here */ )
U-Boot sets parameters and starts Kernel
Kernel uncompresses itself
Kernel initialization
Driver Initialization
Init
Init scripts
Shell
目前把yaffs2改成的cramfs 启动速度在10s左右
Avoid Linux timer calibration loop 可以再试试
Boot Time
"Boot Time" referred in this page is the time elapsed from "chip coming out of reset" to "Linux Prompt" This page considers under 2 seconds boot time as fast bootIn short
Reuse the existing knowledge. Lot of knowledge is available inside and outside of TI /* provide relevant links here */. Measure and identify boot time spenders. Optimize them. U-boot probably is one of the key areas to target.Techniques
Optimize U-BootChoose the optimal EMIF settings based on NOR used
Optimize the NOR to RAM copy
Optimize Crc32
Avoid printfs
Avoid I2C or any other slow peripheral access during U-boot
Optimize Kernel
Remove unused components from Kernel
Use loadable modules option to defer initialization of components to after-boot.
Example: network initialization.
Avoid Linux timer calibration loop
Avoid Kernel printks
Optimize Filesystem
Rebuild Rootfilesystem with minimal components
Use cramfs as rootfilesystem
Linux Boot Sequence
ARM boots and starts executing U-boot code from NOR in-placeU-boot copies Kernel to RAM
U-boot copies filesystem to RAM (copy can be avoided using flash filesystem /* link to relevant page here */ )
U-Boot sets parameters and starts Kernel
Kernel uncompresses itself
Kernel initialization
Driver Initialization
Init
Init scripts
Shell
目前把yaffs2改成的cramfs 启动速度在10s左右
Avoid Linux timer calibration loop 可以再试试
相关文章推荐
- 优化 App 的启动时间
- 计算apk的启动时间并且进行优化
- 优化APP的启动时间
- android项目性能优化之启动时间
- [iOS]一次立竿见影的启动时间优化
- Linux加速启动,启动时间的极限优化
- Linux启动时间的极限优化
- JVM优化-缩短eclipse的启动时间
- 使用命令 strace 优化程序启动时间
- Linux启动时间的极限优化
- e4rat对启动时间的优化
- Kernel启动时间优化
- Android启动时间优化查看及冷启动时间优化优化
- 嵌入式 Linux 启动时间优化
- iOS 项目启动时间优化之pre-main 时间
- imx6q LINUX 启动时间优化
- 优化 App 的启动时间
- imx6q LINUX 启动时间优化
- Android 性能优化---(8)APP启动时间优化指南
- Linux启动时间的极限优化