rtems 4.11 工具链

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

时间: 2025-01-18 04:33:02

rtems 4.11 工具链的相关文章

Linux下获取arm的交叉编译工具链

转载请注明文章:Linux下获取arm的交叉编译工具链 出处:多客博图 这里介绍,Linux下获取arm的交叉编译工具链,比如arm-linux-gnueabihf-gcc.arm-linux-gneabihf-gcc等. 前言 这里有一个专门的说法: “arm-linux-gnueabihf-gcc是由 Linaro 公司基于GCC推出的的ARM交叉编译工具.可用于交叉编译ARM系统中所有环节的代码,包括裸机程序.u-boot.Linux kernel.filesystem和App应用程序.使

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

Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要求,使得我们不得不考虑更换工具链.经过反复对比测试,在Mingw32, Cygwin,  MSYS2, Visual Studio 2010几个工具链中,综合性能.未来的可持续性.中文支持以及第三方库支持(比如qwt),认为MSYS2较为合适.在后续复杂的迁移过程中,基本是平顺的,但也遇到了一些问题

Linux简单程序实例(GNU工具链,进程,线程,无名管道pipe,基于fd的文件操作,信号,scoket)

一, GNU工具链简介: (1)编译代码步骤: 预处理 -> 编译 -> 汇编 -> 链接: 预处理:去掉注释,进行宏替换,头文件包含等工作: gcc -E test.c -o test.i 编译:   不同平台使用汇编语言不同,汇编将高级语言编译成汇编语言: gcc -S test.c -o test.s 汇编:   将汇编语言翻译成二进制代码: gcc -c test.c -o test.o 链接:   包含各函数库的入口,得到可执行文件: gcc -o test test.c (2

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

作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11) 开发环境 : -- 操作系统 : Vmware11 + RedHat6.3 企业版 + Win8.1; -- 硬件 : OK-6410-A 开发

ubuntu下stm32交叉工具链 构建过程1

说实话,这个过程将是十分折腾的过程,而且不一定成功,所以,我的很多朋友在听到我说要做这件事情的时候,都给我泼冷水. 但是,我还是想努力,因为这次我是下决心,非要反微软到底. 就算这个过程再难——我脑海里经常闪现起 勇敢的心 里 华伦士 最后受尽极性 仍然高喊 自由的情景. 我对自己说,也是激励自己:只有这样的人才有权利追求和获得自由. 这件事,难就难在我发现我光是为了获取一个可用的gcc编译器,在codesourcery codebench上下载下来都这么费劲. 我的网络速度相当快,但不知为什么

2.交叉工具链

2.交叉工具链 一.交叉工具链: 交叉工具链,其实他有两个含义,一个就是交叉工具,所谓的交叉工具就是运行的环境和编译的环境不是在一体的.就像我们现在,编译裸机程序是在pc机上面执行的.可我们运行程序是在开发板.链,就是很多的意思,就是一个工具的集合.在我们前面配置arm-linux-gcc的工具中.在/usr/local/arm/4.3.2/bin的目录下有很多编译工具.例如图1-1: 图1.-1 交叉工具链 下面我们来写一个简单的程序,用这些工具编译. Hello.c: #include <s

自己制作ARM-Linux交叉工具链

学习嵌入式嘛,就得自己多动手,多实践.入门的话,自己配置开发环境,移植内核这些.开发环境就不说了,移植内核首先就得编译内核.就得有编译器.由于ARM cpu的体系结构与x86不一样.通常的做法就是在 x86 开发平台使用ARM交叉编译器来编译内核,再移植到开发板上.制作交叉工具链是个仔细的活,既繁琐又有难度.网上推荐的做法是新手使用别人制作好的工具链,等以后经验多了,再来仔细研究这个.不知道为什么我就硬着头皮上了,结果花了一个星期还是倒腾出来了,算是有收获.所以这篇博文就简单记录一下,内容不涉及

gcc工具链简述

工具链软件包括BINUTILS.GCC.GLIBC.GDB等. BINUTILS是二进制程序处理工具,包括链接器.汇编器等目标程序处理的工具. GCC(GNU Compiler Collection)是编译器.对于C/C++语言的完整支持,需要支持glibc库. GLIBC是应用程序编程的函数库软件包,可以编译生成静态库和共享库.完整的GCC需要支持glibc. GDB是调试工具,可以读取可执行程序中的符号表,对程序进行源码调试. 默认情况下,GNU编译器生成的目标文件格式为elf格式. elf

1.2交叉工具链

什么事交叉工具链 交叉工具的集合 交叉工具 创建hello.c #include<stdio.h> Int main() { ????Printf("hello wworld\n"); ????return 0; } [[email protected] ~]# cd /home/S3-ARM/Part1/lesson2 [[email protected] lesson2]# ls hello hello.c [[email protected] lesson2]# gc