1.创建项目
$ mkdir hello-1.0
$ cd hello-1.0
$ vi hello.c
#include <stdio.h>
int main()
{
int i;
printf("hello world\n");
for ( i = 0; i < 10 ; i++ ) {
printf("loop count = %d\n", i);
}
printf("hello this is the end\n");
return 0;
}
$ vi Makefile
EXEC = hello
OBJS = hello.o
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS$(LDLIBS_$@))
romfs:
$(ROMFSINST) /bin/$(EXEC)
clean:
rm -f $(EXEC) *.elf *.gdb *.o
$ make clean
$ cd ..
$ tar czvf hello-1.0.tar.gz hello-1.0
$ mv hello-1.0.tar.gz /opt/freescale/pkgs/
$ cd ~/ltib/
$ mkdir dist/lfs-5.1/hello
$ cp dist/lfs-5.1/template/template.spec dist/lfs-5.1/hello/hello.spec
$ vi dist/lfs-5.1/hello/hello.spec
%define pfx /opt/freescale/rootfs/%{_target_cpu}
Summary : hello print demo
Name : hello
Version : 1.0
Release : 1
License : BSD
Vendor : lht
Packager : xxxx
Group : Applications/Communications
URL : http://www.test.com
Source : %{name}-%{version}.tar.gz
BuildRoot : %{_tmppath}/%{name}
Prefix : %{pfx}
%Description
%{summary}
%Prep
%setup
%Build
make
%Install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{pfx}/usr/bin
cp hello $RPM_BUILD_ROOT/%{pfx}/usr/bin/
%Clean
rm -rf $RPM_BUILD_ROOT
%Files
%defattr(-,root,root)
%{pfx}/*
2 制作测试包
$ ./ltib -m prep -p hello.spec
$ ./ltib -m scbuild -p hello.spec
$ ./ltib -m scinstall -p hello.spec
$ ./ltib -m scdeploy -p hello.spec
如果一切正常,则hello可执行程序就在rootfs/usr/bin目录了。
3 将hello包添加到ltib配置环境
$ vi ~/ltib/config/userspace/packages.lkc #添加下面内容
config PKG_HELLO
bool "hello"
$ vi ~/ltib/config/userspace/pkg_map #添加下面的内容
PKG_HELLO = hello
4 配置并使用
$ ./ltib -c
根据提示进入package list选项,选择[X] hello (NEW)
然后重新编译即可
注意!如果提示rpm/BUILD/hello-1.0目录已经存在,就手动删除该目录重新执行./ltib就可以编译了。
分享到:
相关推荐
在嵌入式系统领域,Freescale MX27是一款基于ARM926EJ-S内核的微处理器,常用于各种工业和消费电子设备。它提供了强大的处理能力以及丰富的外设接口,包括对NAND Flash的支持。NAND Flash是一种非易失性存储器,广泛...
### Freescale MX53 Realtek8188CE-VAU Porting #### 一、Android介绍 Android操作系统自2008年以来迅速发展,成为全球最受欢迎的移动操作系统之一。以下是Android各版本的发展历程: 1. **Android 1.1** (2008年...
它提到了Freescale提供的一个额外的BSP(Board Support Package,板级支持包)层,名为meta-fsl-bsp-release,该层的目的是将Freescale的新发布版本与Freescale Yocto项目社区BSP集成。 Yocto项目的特性中提到了它...
i.MX 28是一款由Freescale Semiconductor生产的高性能嵌入式处理器,广泛应用于消费电子、工业控制、汽车电子等领域。这款开发板集成了多种接口和外设,使得开发者能够快速构建出适用于不同场景的应用系统。 #### ...
总之,"i.MX fsl-yocto-L4.9.11_1.0.0"为Freescale i.MX处理器的开发者提供了一个全面的框架,用于构建基于Yocto Project的Linux系统。通过深入学习和实践,开发者可以充分利用Yocto的灵活性,打造出满足特定应用...
【Nucleus BSP freescale_imx25pdk_v202】是针对飞思卡尔i.MX25 PDK(Processor Development Kit)平台的Nucleus操作系统板级支持包(Board Support Package)的版本202。Nucleus是一款实时操作系统(RTOS),广泛...
QNX Freescale iMX6 BSP,全称为“QNX Board Support Package for Freescale i.MX6”,是QNX操作系统针对Freescale(现为NXP)i.MX6系列处理器的一套完整硬件支持包。这个BSP是软件开发的基础,它提供了在i.MX6平台...
- **meta-freescale**:为基本层和i.MX ARM参考板提供支持。 - **meta-freescale-3rdparty**:支持第三方和合作伙伴的板卡。 - **meta-freescale-distro**:提供用于开发和测试板卡能力的附加项。 - **fsl-community...
`meta-freescale`是针对NXP Freescale系列处理器的元数据层,包含了为这些硬件平台定制的各种食谱和配置。 **错误原因分析**: 当你运行`bitbake -k core-image-minimal`命令时,BitBake试图查找并加载所有相关的元...
9. 修改历史:手册的修订历史部分提供了一个记录,列出了自2011年11月以来芯片设计的变更,比如更换了音频CODEC芯片、添加了隔离PFET开关、调整了电压输出等,这些都是产品开发过程中常见的迭代更新。 10. 扫描错误...
### Yocto Project 构建环境为 i.MX 板构建映像 #### 概述 本文档将详细介绍如何利用 Yocto Project 构建环境为 i.MX 系列板卡构建定制化的 Linux 映像。在此过程中,我们将重点讨论 i.MX 发布层及其在 Yocto ...
本指南包含10个章节,详细介绍了从i.MX6参考板移植到i.MX6自定义板的整个过程,重点覆盖了U-Boot的移植、IOMUX控制器的配置、新的UART驱动注册、SDHC支持的添加、SPINOR驱动的配置以及如何将LVDS面板连接到i.MX6参考...
MX31处理器由Freescale(现为NXP半导体)制造,它集成了多种功能,包括CPU、GPU、多媒体加速器等,适用于各种嵌入式应用,如智能手机、PDA、数字媒体播放器等。NAND闪存是一种非易失性存储技术,因其低成本、高容量...
MX27 LCD源代码是针对基于MX27处理器的显示控制器进行开发的软件代码,主要用于驱动LCD...通过分析和学习这些源代码,你可以掌握如何自定义显示效果,优化性能,甚至实现新的功能,例如动态调整显示参数或添加特效。
i.MX21是一款由Freescale Semiconductor公司设计的高性能微处理器,适用于VoIP设备、无线IP电话以及多媒体应用。它拥有强大的多媒体处理能力,包括H.263、MPEG4视频编码和JPEG图像处理等功能,能够高效处理视频和...
例如,文档中提到的“#sudocp/etc/apt/sources.list/etc/apt/sources.list.bak(backuporiginalfile)”和“#sudogedit/etc/apt/sources.listDeletealliteminthisfile”,实际上...,然后清空文件内容并添加新的源地址...
通过修改或创建新的配方,可以添加自定义应用或者更新现有软件的版本。 4. **构建系统**:运行BitBake命令启动构建过程。这个过程可能需要一段时间,因为Yocto会下载源代码、编译软件包,并生成完整的Linux系统镜像...
4. **扩展和定制**:学习如何添加新的软件包,或者对现有配置进行修改以适应特定的应用需求。 5. **调试技巧**:学习如何使用GDB、日志分析等工具进行问题排查。 通过深入研究这个BSP,初学者不仅可以掌握Yocto项目...
IMX使用说明主要针对使用飞思卡尔处理器进行开发的同学,阐述了如何使用Yocto项目构建环境来为i.MX Freescale开发板构建镜像,并介绍了板子的架构以及图形处理方面的知识。Yocto项目是一个开源协作项目,专注于...
对于开发者来说,理解内核源码和配置文件对于调试硬件问题、添加新驱动、提升系统性能至关重要。此外,Android系统依赖于Linux内核来实现硬件抽象层(HAL),因此内核的修改也会影响到Android系统的运行。 在开发...