`
lht
  • 浏览: 197649 次
  • 来自: 深圳
社区版块
存档分类
最新评论

为freescale MX28添加新包

阅读更多

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 nandflashloader

    在嵌入式系统领域,Freescale MX27是一款基于ARM926EJ-S内核的微处理器,常用于各种工业和消费电子设备。它提供了强大的处理能力以及丰富的外设接口,包括对NAND Flash的支持。NAND Flash是一种非易失性存储器,广泛...

    Freescale MX53 Realtek8188CE-VAU porting

    ### Freescale MX53 Realtek8188CE-VAU Porting #### 一、Android介绍 Android操作系统自2008年以来迅速发展,成为全球最受欢迎的移动操作系统之一。以下是Android各版本的发展历程: 1. **Android 1.1** (2008年...

    Freescale_Yocto_Project_Users_Guide.pdf

    它提到了Freescale提供的一个额外的BSP(Board Support Package,板级支持包)层,名为meta-fsl-bsp-release,该层的目的是将Freescale的新发布版本与Freescale Yocto项目社区BSP集成。 Yocto项目的特性中提到了它...

    i.MX 28 evk training

    i.MX 28是一款由Freescale Semiconductor生产的高性能嵌入式处理器,广泛应用于消费电子、工业控制、汽车电子等领域。这款开发板集成了多种接口和外设,使得开发者能够快速构建出适用于不同场景的应用系统。 #### ...

    i.MX fsl-yocto-L4.9.11_1.0.0

    总之,"i.MX fsl-yocto-L4.9.11_1.0.0"为Freescale i.MX处理器的开发者提供了一个全面的框架,用于构建基于Yocto Project的Linux系统。通过深入学习和实践,开发者可以充分利用Yocto的灵活性,打造出满足特定应用...

    Nucleus BSP freescale_imx25pdk_v202

    【Nucleus BSP freescale_imx25pdk_v202】是针对飞思卡尔i.MX25 PDK(Processor Development Kit)平台的Nucleus操作系统板级支持包(Board Support Package)的版本202。Nucleus是一款实时操作系统(RTOS),广泛...

    QNX freescale imx6 bsp

    QNX Freescale iMX6 BSP,全称为“QNX Board Support Package for Freescale i.MX6”,是QNX操作系统针对Freescale(现为NXP)i.MX6系列处理器的一套完整硬件支持包。这个BSP是软件开发的基础,它提供了在i.MX6平台...

    imx8m meta-freescale/conf/layer.conf not found

    `meta-freescale`是针对NXP Freescale系列处理器的元数据层,包含了为这些硬件平台定制的各种食谱和配置。 **错误原因分析**: 当你运行`bitbake -k core-image-minimal`命令时,BitBake试图查找并加载所有相关的元...

    Yocto Project构建环境为 i.MX 板构建映像

    ### Yocto Project 构建环境为 i.MX 板构建映像 #### 概述 本文档将详细介绍如何利用 Yocto Project 构建环境为 i.MX 系列板卡构建定制化的 Linux 映像。在此过程中,我们将重点讨论 i.MX 发布层及其在 Yocto ...

    i.MX 6Dual/6Quad BSP Porting Guide

    本指南包含10个章节,详细介绍了从i.MX6参考板移植到i.MX6自定义板的整个过程,重点覆盖了U-Boot的移植、IOMUX控制器的配置、新的UART驱动注册、SDHC支持的添加、SPINOR驱动的配置以及如何将LVDS面板连接到i.MX6参考...

    MX31的nandboot

    MX31处理器由Freescale(现为NXP半导体)制造,它集成了多种功能,包括CPU、GPU、多媒体加速器等,适用于各种嵌入式应用,如智能手机、PDA、数字媒体播放器等。NAND闪存是一种非易失性存储技术,因其低成本、高容量...

    mx27 lcd源代码

    MX27 LCD源代码是针对基于MX27处理器的显示控制器进行开发的软件代码,主要用于驱动LCD...通过分析和学习这些源代码,你可以掌握如何自定义显示效果,优化性能,甚至实现新的功能,例如动态调整显示参数或添加特效。

    基于i.MX21的嵌入式Linux研究与移植.pdf

    i.MX21是一款由Freescale Semiconductor公司设计的高性能微处理器,适用于VoIP设备、无线IP电话以及多媒体应用。它拥有强大的多媒体处理能力,包括H.263、MPEG4视频编码和JPEG图像处理等功能,能够高效处理视频和...

    i.MX6 Ubuntu12.04上编译LTIB

    例如,文档中提到的“#sudocp/etc/apt/sources.list/etc/apt/sources.list.bak(backuporiginalfile)”和“#sudogedit/etc/apt/sources.listDeletealliteminthisfile”,实际上...,然后清空文件内容并添加新的源地址...

    fsl-arm-yocto-bsp-imx-4.1-krogoth.zip

    4. **扩展和定制**:学习如何添加新的软件包,或者对现有配置进行修改以适应特定的应用需求。 5. **调试技巧**:学习如何使用GDB、日志分析等工具进行问题排查。 通过深入研究这个BSP,初学者不仅可以掌握Yocto项目...

    飞思卡尔Imx6开发板Linux系统官方指南(Yocto 版本 )

    通过修改或创建新的配方,可以添加自定义应用或者更新现有软件的版本。 4. **构建系统**:运行BitBake命令启动构建过程。这个过程可能需要一段时间,因为Yocto会下载源代码、编译软件包,并生成完整的Linux系统镜像...

    IMX使用说明

    IMX使用说明主要针对使用飞思卡尔处理器进行开发的同学,阐述了如何使用Yocto项目构建环境来为i.MX Freescale开发板构建镜像,并介绍了板子的架构以及图形处理方面的知识。Yocto项目是一个开源协作项目,专注于...

    迅为imx6q 开发板 iTOP-iMX6-android6.0.1-20200731 中提取的 kernel-imx

    对于开发者来说,理解内核源码和配置文件对于调试硬件问题、添加新驱动、提升系统性能至关重要。此外,Android系统依赖于Linux内核来实现硬件抽象层(HAL),因此内核的修改也会影响到Android系统的运行。 在开发...

    u-boot-imx6-boundary-v2017.03.zip

    通常,每个版本都会修复一些已知问题,添加新特性,或者改进对特定硬件的支持。对于开发者来说,选择合适版本的U-Boot至关重要,因为它直接影响系统的稳定性和性能。 5. **源码分析**:解压"u-boot-imx6-boundary-v...

Global site tag (gtag.js) - Google Analytics