开放嵌入式:构建嵌入式Linux发行版的又一途径
数据包,并确保带来正确运行时间的相关项。Arago可定义其预先构建的IPK源程序(见列表7),但可能不具有最为广泛的数据包。在需要更多数据包时,可启用Angstrom源程序,但是在混合使用不同源程序时需要更加小心谨慎。
列表7:发行版配置文件摘要
ANGSTROM_PKG_FORMAT ?= ipk
require conf/distro/include/
angstrom-package${ANGSTROM_PKG_FORMAT}.inc
#Use this variable to select which recipe you want to use to
#get feed configs (/etc/ipkg/, #/etc/apt/sources.list). Useful
#for derivative distros and local testing
ANGSTROM_FEED_CONFIGS = arago-feed-configs
# Feed configuration
ARAGO_URI = http://feeds.arago-project.org
ARAGO_FEED_BASEPATH = feeds/live/${ANGSTROM_PKG_FORMAT}
DISTRO_FEED_URI = ${ARAGO_URI}/${ARAGO_FEED_BASEPATH}
在发行版配置文件中可以设置其它通用构建参数。例如,开发人员可将具有更多调试信息或配置文件信息的已完成构建流程指定为标准流程。这些代码行可通过“生产代码”镜像方法注释掉或覆盖,从而可提高最终生产版本的性能。
列表8:发行版配置文件摘要
# Comment these two out if you want BitBake to build
# production images.
DEBUG_BUILD = 1
INHIBIT_PACKAGE_STRIP = 1
# Build a package such that you can use gprof to profile it.
PROFILE_OPTIMIZATION = -pg
SELECTED_OPTIMIZATION = ${PROFILE_OPTIMIZATION}
LDFLAGS =+ -pg
设备配置文件可定义在电路板上引导Linux所需的基本要素。例如,ARM926或ARM Cortex-A8等目标CPU的定义,提供了Linux内核的优先方法提供方以及相应引导加载程序,如列表9所示,显示了TI ARM9视频器件的DM365设备配置文件。
列表9:设备配置文件
#@TYPE: Machine
#@NAME: DM365 CPUs on a Davinci DM365 EVM board
#@DESCRIPTION: Machine configuration for the TI Davinci
DM365 EVM board
require conf/machine/include/dm365.inc
require conf/machine/include/tune-arm926ejs.inc
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = r45
TARGET_ARCH = arm
KERNEL_IMAGETYPE = uImage
PREFERRED_PROVIDER_virtual/kernel = linux-davinci-staging
PREFERRED_PROVIDER_virtual/bootloader = u-boot
UBOOT_MACHINE = davinci_dm365_evm_config
UBOOT_ENTRYPOINT = 0x80008000
UBOOT_LOADADDRESS = 0x80008000
EXTRA_IMAGEDEPENDS += u-boot
SERIAL_CONSOLE ?= 115200 ttyS0
EXTRA_IMAGECMD_jffs2 = --pad --little-endian
--eraseblock=0x20000 -n
#ROOT_FLASH_SIZE = 29
MACHINE_FEATURES = kernel26 serial ethernet usbhost
usbgadget mmc alsa
每款电路板都需要设备配置文件。实际上,由于使用相同或类似器件的不同电路板的配置步骤通常相同,通用步骤可以合并到包含文件中。这样通过便于维护的无错误方法来简化新设备配置文件的创建。在以上示例中,我们了解了部分包含文件,并更深入地了解了整个设备配置文件的面貌。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)