安装飞思卡尔freescale的LTIB(linux目标镜像编译工具)过程

最近开始转向freescale imx6平台进行嵌入式开发,这款SoC在工控领域运用很广。


第一篇:安装飞思卡尔freescale的LTIB(linux目标镜像编译工具)过程

 刚接触imx6就了解到这个恶心的ltib,既然是官方出品的,咱也得试用一下看看。

Linux Target ImageBuilder (LTIB) is a tool created byFreescale that is used to build Linux targetimages, composed of a set of packages。

LTIB说白了就tool-chain,包括各种dependencylib,也包括了对CPU,board,u-boot,kernel,busybox的配置。

 

i.MX 6 series 采用ARM Cortex A9 CPU。分为支持单核Solo,双核Dual,四核Quad。list: i.MX6Qi.MX6D i.MX6DL i.MX6Si.MX6SX i.MX6SL六款型号。

 

我的目标是基于iMX6S开发arm-linux系统,不是android。

 

首先是去飞思卡尔网站上面下载相关的开发工具,BSP,SDK及硬件配置工具。

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX6_SW

最新可用的source code版本是L3.0.101_4.1.1_141016_source.tar.gz,但里面没有ltib(Linux Target Image Builder)。找啊找,终于在L3.0.35_4.0.0_130424_source.tar.gz包中找到,看来,freescale的习惯就是升级啊,以前发布过的,这次我就不一并发布了,并且发布也是以patch形式。

 

@ubuntu:/home/tools/L3.0.35_4.0.0_130424_source$ls

EULA     ltib.tar.gz           pkgs                tftp.zip

install  package_manifest.txt  redboot_201003.zip

tanyc@ubuntu:/home/tools/L3.0.35_4.0.0_130424_source$./install

 

You are about toinstall the LTIB (GNU/Linux Target Image Builder)

 

Before installingLTIB, you must read and accept the EULA

(End User LicenseAgreement) which will be presented next.

 

Do you want tocontinue ? Y|n

这个安装可真费劲,首先必须看完EULA授权协议。然后还必须得以非root用户来执行安装。

安装依赖库,死活说zlib没有安装。最后解决方式是建立一个链接文件了事。

@ubuntu:/lib# ln-s x86_64-linux-gnu/libz.so.1 libz.so

 

一时半会ltib安装不上,就改为prebuilts,就是一些预编译好的工具链,开发板的公司一般都会提供。

 

ltib只支持linux 3.0.35-imx,不支持linux 3.0.101-imx。这让我有一些concern,或许可以问一下freescale,我估计应该是不必升级LTIB吧。

 

L3.0.101_4.1.1_141016_source下面有两个ltib_config_platform_imx.patch,但不知道如何打这个patch,因为没有打patch的指令文件。上freescalecommunity发了个帖子,结果发现早有人提了此问题。

Please refer tothe next :

https://www.freescale.com/webapp/Download?colCode=IMX6LXPATCHRN&appType=license&location=null&Parent_nodeId=&Parent_page…

下载来看了就是:i.MX 6 Linux 3.0.101_4.1.1 Patch Release Notes

 

ltib生成的配置文件放在如下目录:

tanyc@ubuntu:~/ltib/config/platform/imx$ls

busybox.config     imx51_3stack.cf        kernel-3.5.7.spec.in

defconfig.dev      imx51.cf               main.lkc

dev.profile        imx51_updater.cf       max.profile

fsl_mm.lkc         imx6q.cf               merge

imx233.cf          imx6q_updater.cf       min.profile

imx233_updater.cf  imx6s.cf               packages.lkc

imx25_3stack.cf    imx6s_defconfig.dev    pkg_map

imx25_updater.cf   imx6s_updater.cf       preconfigs.lkc

imx27ads.cf        imx_v4_v5.cf           release_gnome.profile

imx28.cf           imx_v6_v7.cf           release.profile

imx28_updater.cf   kernel-2.6.28.spec.in  u-boot.spec.in

imx31_3stack.cf    kernel-2.6.31.spec.in  u-boot-v2009.08.spec.in

imx31ads.cf        kernel-2.6.35.spec.in  u-boot-v2012.10.spec.in

imx35_3stack.cf    kernel-2.6.38.spec.in  updater.profile

imx35_updater.cf   kernel-3.0.15.spec.in

imx37_3stack.cf    kernel-3.0.35.spec.in

编译u-boot,kernel,busybox都有出错,但我判断LTIB安装是正确了的。理由是:/opt/freescale/目录已经完整创建。并且 ,我用

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin下面的工具链arm-linux-gcc来编译u-boot是通过的。

顺便说一下,arm-linux-gcc及arm-none-linux-gnueabi-gcc其实都指向arm-fsl-linux-gnueabi-gcc。

遗留问题:

ltib相关的两个patch,依照i.MX 6 Linux 3.0.101_4.1.1 PatchRelease Notes.pdf文档的说明,打patch不成功。

sudo rm /ltib/config/platform/imx/.config

./ltib config

可以重配ltib。但结果linux3.0.101仍然放不出来,这也说明patch不成功。

但我判断这个不影响uboot,kernel 的配置及编译。因为ltib本质上只是提供了一个编译的tool-chain而已。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 飞思卡尔 HCS12 系列单片机的 Bootloader 是一种程序,它允许用户通过特定的接口对单片机进行编程和调试,而不需要使用外部的编程器或者仿真器。Bootloader 可以通过串口、CAN、USB 等多种通信方式与单片机通信,通过读取或者写入特定的内存区域,实现对单片机程序的更新或者下载。 Bootloader 主要由以下几个部分组成: 1. 启动代码:负责初始化芯片、设置中断向量表、判断是否需要进入 Bootloader 模式等。 2. 通信协议:定义 Bootloader 与 PC 或者其他设备之间的通信协议,例如帧格式、数据传输方式等。 3. 数据处理程序:负责接收 PC 发送的数据,进行校验和解析,根据数据类型进行相应的处理。 4. 程序烧录程序:将接收到的数据写入指定的内存区域,实现程序的更新或者下载。 使用 Bootloader 有以下优点: 1. 省去外部编程器或者仿真器的成本和复杂性,提高开发效率。 2. 允许在线更新程序,方便远程维护。 3. 支持多种通信方式,具有较强的灵活性。 4. 可以通过修改 Bootloader 程序,实现自定义的功能,例如加密、签名等。 需要注意的是,由于 Bootloader 是一种开发人员自行编写的程序,因此需要谨慎设计和实现,避免出现安全漏洞或者其他问题。 ### 回答2: freescale飞思卡尔 hcs12 系列单片机是一种常用于嵌入式系统中的微处理器,其具有较高的性能和可信性。然而,在实际应用中,由于各种原因,可能需要在运行中更新单片机程序,这时候就需要用到bootloader。 bootloader是指系统启动的一段程序,其目的是负责加载操作系统或应用程序,同时还可以提供其他的系统维护和管理功能。在嵌入式系统中,bootloader可以用来升级设备的固件或软件版本。 freescale飞思卡尔 hcs12 系列单片机bootloader的主要作用是提供一种方便、安全的方式来更新单片机的程序,而不必拆下整个系统或者芯片。这样可以大大减少维护所需的时间和成本。 hcs12系列单片机bootloader的实现涉及到许多方面的知识,包括内存的分配、程序存储器的管理、通信协议等。在实现时,需要考虑到不同的应用场景,选择适合的通信方式和协议,同时还要保证系统的安全性,避免因误操作或人为破坏而带来的风险。 在使用hcs12系列单片机bootloader时,需要注意以下几个方面: 1.选择合适的bootloader协议。 常见的bootloader协议有IAP、CAN、UART等,每种协议都有自己的特点和适用范围。在选择时,需要根据具体情况进行评估和比较。 2.确保程序存储器的安全性。 程序存储器是单片机程序的核心所在,如果被恶意修改或破坏,可能会导致系统运行不正常。因此,需要采取一些措施来保护程序存储器的安全性,例如加密、校验等。 3.保证通信的稳定性和可靠性。 如果通信不稳定或者出现错误,可能会导致程序烧录失败或者出现其他问题。因此,需要进行充分的测试和验证,确保通信的稳定性和可靠性。 总之,hcs12系列单片机bootloader是嵌入式系统中非常重要的组成部分,其实现涉及到多个方面的知识和技能。只有在充分理解和掌握相应的技术和方法之后,才能有效地应用到实际的开发和维护中。 ### 回答3: Freescale飞思卡尔hcs12系列单片机bootloader是一种运行在芯片上的小程序,它可以加载和升级单片机的程序代码。它的作用相当于计算机的BIOS,它使得单片机可以通过外部接口更新程序代码,而无需通过编程器进行操作,这使得单片机的开发和维护变得更加方便。 Freescale飞思卡尔hcs12系列单片机bootloader由两个部分组成,一个是引导程序,另一个是应用程序。引导程序是在芯片制造商出厂时预先生产的程序,它负责从外部接口读取应用程序,并将其加载到单片机中。应用程序则是用户编写的程序,它可以通过外部接口更新或升级,这使得单片机的功能可以不断扩展和迭代。 Freescale飞思卡尔hcs12系列单片机bootloader支持多种通信接口,包括串口、CAN总线、以太网等。用户可以根据自己的需求选择合适的接口进行通信。通信时,用户需要发送特定的命令和数据,以达到读取或写入设备的目的。这些命令和数据需要符合Freescale飞思卡尔hcs12系列单片机bootloader的协议规定,否则将无法完成通信。 总之,Freescale飞思卡尔hcs12系列单片机bootloader是一种非常重要的工具,它使得单片机的开发和维护变得更加方便。了解和掌握这一工具的使用方法,对于单片机开发人员来说是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值