4年前,曾经把rtems4.10移植到atmel 9263上,要不是当时移植的git仓库还在的话,真是不相信自己居然还干过这事。所以这次再捡起的时候,要记录一下。还是从编译器开始。

首先打开 http://docs.rtems.org/rsb/ 这里说了很多为什么要从源代码编译的好处。大概就是说我们的产品要维护很多年,我们要把编译环境保留下来,但是我们不能总是老的操作系统开发啊,比如现在都出centos7,咱不能还用centos6吧,也不能在公司保存一堆老操作系统的机器,就为了保护编译环境吧,再说还得调试。

按照说明文档步骤来:

  1. git clone git://git.rtems.org/rtems-source-builder.git
  2. cd rtems-source-builder
  3. cd rtems (这一步非常重要,否则后面列表时,会少很多bset)
  4. ../source-builder/sb-check  (这会告诉你缺少,照着安装就行了)
  5. ../source-builder/sb-set-builder --list-bsets (会列出一大堆可用的编译配置,咱们这里只关心 4.11/rtems-arm.bset
  6. ../source-builder/sb-set-builder --log=build-arm.txt --prefix=$HOME/development/rtems/4.11 4.11/rtems-arm (其中prefix=的就是最后编译完工具链的位置)

可以去喝茶了,然后回来……(咱们和老外还是有差别的,人家回来就编译好了,我们回来很可能发现是下载错误……),所以第6步,咱得先--dry-run下:

  • ../source-builder/sb-set-builder --log=build-arm.txt --prefix=$HOME/development/rtems/4.11 4.11/rtems-arm --dry-run | egrep '(http|ftp|https)://' (这样我们就知道要下载哪些了,并且下载到的位置也知道,大部分都放到 source目录下,有几个patch放到 pathes目录下,OK用咱们的各种下载神器下载吧,然后再执行第6步,这下真的可以喝茶去了!)

好,没啥问题就编译完了,出错就别找我了,我没出错……(我这是 CentOS 7)

最后就是把编译完的加到path环境变量里去,PATH=$HOME/development/rtems/4.11:$PATH

rtems 4.11 工具链的更多相关文章

  1. X86上搭建交叉工具链,来给龙芯笔记本编译本地工具链(未完待续)

    故事的背景是,我买了一台龙芯2F的笔记本来装B. 为什么说是装B呢?因为不但操作系统是Linux,而且CPU还是龙芯的. 一般人有这么酷的装备吗?简直是装B大圣啊. 这里一定要申明一点,本人不是IT技 ...

  2. gcc工具链简述

    工具链软件包括BINUTILS.GCC.GLIBC.GDB等. BINUTILS是二进制程序处理工具,包括链接器.汇编器等目标程序处理的工具. GCC(GNU Compiler Collection) ...

  3. Crosstool-ng制作交叉编译工具链

    Crosstool-ng制作交叉编译工具链 交叉编译器可以用现成的,比如CodeSourcery制作的交叉编译器,也可以自己制作,一般是用kernel+gcc+glibc+binutils的源码包来编 ...

  4. 【原创】如何构建MIPS交叉编译工具链

    运行环境:Ubuntu12.04PC提前安装库:flex,bison,libncureses5-dev,texinfo,这些库提前apt-get install.需要重新安装:gawk(先apt-ge ...

  5. 迁移到MSYS2 与 Qt 工具链注意的几个事情(注意链接顺序,并且人造mingw工具链所没有的局部midl.exe命令)

    Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...

  6. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

  7. X86给龙芯笔记本编译本地工具链(未完待续)

    我买了一台龙芯2F的笔记本来当玩具. 买回来发现,这台笔记本上没法安装软件,因为既没有软件仓库,也没有GCC. 因此需要构建交叉工具链和构建本地工具链. 下面是我研究如何搞定着一切的笔记. 工具链组件 ...

  8. 【嵌入式】使用Cross Toolchain构建交叉工具链

    Preface 前面编译linux内核的时候,用各种cross版本都不行啊,真是纠结,于是就想着自己也要会编译交叉工具的方法,然后各种尝试,各种问题啊,最后还是没解决(还有其它事情),步骤我都走熟了, ...

  9. linux driver ------ 交叉工具链(cross toolchain)

    在 ARM Linux 的开发中,人们趋向于使用 Linaro(http://www.linaro.org/)工具链团队维护的 ARM 工具链,它以每月一次的形式发布新的版本,编译好的可执行文件可以网 ...

随机推荐

  1. 全景播放器-js+flash

    经过一个多月的辛苦,全景播放展示平台终于做出来了,主要用到的是js+flash技术.有什么不足的地方园子里的兄弟还请多多指教啊 <iframe  src="http://www.ipa ...

  2. kernel thread vs user thread

    The most important difference is they use different memory, the kernel mode thread can access any ke ...

  3. SQL查询重复记录方法大全 转

    原文发布时间为:2010-08-09 -- 来源于本人的百度文章 [由搬家工具导入] 查找所有重复标题的记录: SELECT *FROM t_info aWHERE ((SELECT COUNT(*) ...

  4. Nhibernate基本的增删改查实践

    1.链接配置 <?xml version="1.0" encoding="utf-8" ?> <hibernate-configuration ...

  5. 自定义JS类,并扩展其方法和属性

    function CT() { } CT.prototype.P = "TTT"; CT.Test = function () { alert(arguments[0]); }; ...

  6. 远程连接linux和linux的网络配置

    linux一般是作为服务器的,并不直接对其进行操作,并且由于地理位置的原因,我们需要对linux服务器进行远程连接. 首先我们要确定linux服务器是否安装了ssh服务,在linux服务器上安装ope ...

  7. [论文]CA-Tree: A Hierarchical Structure for Efficient and Scalable Coassociation-Based Cluster Ensembles

    作者:Tsaipei Wang, Member, IEEE 发表:IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNET ...

  8. 基于 Intraweb 和 JQuery 的开发套件

    基于 Intraweb 和 JQuery 的开发套件 http://www.cgdevtools.com/ 开发速度无敌,界面也非常美. 我的web短板终于解决了.....!!!!..!!! 做一个小 ...

  9. javascript 获取焦点和失去焦点事件

    利用传参的方式提高方法的复用性 这里涉及到JavaScript的字符串拼接操作 </tr> <<tr height="40px"> <td> ...

  10. angularjs 1 如何在ng-route的模板中使用script标签

    如果你在angularjs 的路由模板里使用<script>标签的话,你会发现标签不起作用.这是因为angular为了安全起见而禁止了模板执行script.如果一定要在路由模板里使用scr ...