STLinux开发详解:从基础到 flashed 分区

需积分: 9 4 下载量 195 浏览量 更新于2024-08-19 收藏 144KB PPT 举报
"这篇资料主要介绍了ST Linux在嵌入式系统中的应用,特别是关于flash分区的分配以及ST Linux的基础知识,包括开发环境、版本、开发与调试方法,以及软件结构和移植过程。" ST Linux是意法半导体(ST)专门为他们的微处理器(如STM40和STM200系列)设计的一种嵌入式Linux发行版,它提供了完整的开发工具链,包括编译器、调试器、下载工具和系统监控器,以支持应用程序和驱动程序的开发。STLinux Distribution and Development Environment (LDDE) 是ST提供的一个集成开发环境,支持可配置内核,并集成了uboot引导加载器,同时提供了Multicom支持,便于多通信接口的开发。 在ST Linux的版本历史中,从STLinux Distribution 1.0到2.3,每个版本都在不断更新和优化,以适应最新的硬件平台和技术需求。例如,STLinux Distribution 2.3是在2007年11月新增的,而2.0 EAR则是在2005年的7月发布。 在开发和调试阶段,ST Linux支持多种方法。NFS(Network File System)常用于调试应用和驱动,因为它允许设备通过网络访问主机上的文件系统。TFTP(Trivial File Transfer Protocol)则通常用于调试bootloader和内核,因为它能快速地通过网络传输小文件。此外,还有其他调试手段,如常用的编译和构建命令,如`make`、`sh4-linux-gcc`、`sh4-linux-g++`、`sh4-linux-ld`、`sh4-linux-nm`和`sh4-linux-objdump`等。 在ST Linux的软件结构中,应用程序与系统接口通过内核进行交互,而内核下层则包括ST特定的驱动程序和SMIT(System Management Interface for ST)。当移植内核时,开发者需要选择合适的内核版本,根据目标硬件选择参考板,然后通过`makemenuconfig`进行裁剪,接着编译生成`vmlinux`,最后用`mkimage`工具将其压缩为适合目标硬件的格式。 对于根文件系统,资料提到了JFFS2(Journaling Flash File System 2),这是一个适用于闪存设备的可读写文件系统,具有高系统性能、断电保护和碎片整理功能,其数据压缩效率也较高。开发者可以使用`mkfs.jffs2`工具创建JFFS2文件系统压缩包,该包通常会包含像busybox这样的基础工具,以及各种动态链接库(如`.so.*`)。 ST Linux为开发者提供了一套全面的工具和框架,以便在ST微处理器上构建和调试嵌入式Linux系统,从底层驱动到上层应用,涵盖了整个开发流程。开发者需要熟悉这些工具和步骤,以实现高效和可靠的系统开发。