当前位置:首页 » 编程软件 » 编译arm版本的向日葵

编译arm版本的向日葵

发布时间: 2022-03-06 10:08:32

❶ 求助 怎么把makefile文件中的编译方法换成arm-linux-的编译方法 把该换的地方都换了 还是老提示错误

找那个CROSS_COMPILE ,这个是交叉编译工具,修改为你编译器存放的路径就行了!你试试!例如:CROSS_COMPILE = arm-linux- ,且记的是"arm-linux-",在最后的“-”的后面是不能有空格的!因为编译器在编译的时候会自动加上gcc,g++之类的东西,这个就不用你操心了!如果你要是后面有空格,那就成”arm-linux- gcc“了,而就不是“arm-linux-gcc”了,希望楼主明白!

❷ keil4那个版本是可以编译arm和51的

KEIL MDK是编译ARM的,KEIL C51是编译51单片机的。你需要编译哪种程序,就装那种编译器。这两种编译器是可以装一起的,MDK貌似到4.60版了,51貌似到9.00了,你在网上分别下载就可以了。

❸ keil编译51和arm的问题,本人菜鸟。同个keil能编译51程序又能编译arm程序吗如果能用哪个版本,多谢啦

可以。

例如Keil4下同时安装PK51和MDK。新建项目选择芯片型号时,选择ARM类则自动切换为MDK编译,选择51类则自动切换为C51编译。

❹ 编译不同版本的linux内核对交叉编译器arm-linux-gcc的版本有要求,但是编译裸机程序对交叉编译器有要求吗

内核与gcc是在同步发展,有些新特性就要用新的编译器,两个相差不是太久就行了

❺ android ndk编译arm-linux平台可执行程序

既然是移植就不能再用原来的Android ndk进行编译了吧,不能图省事啊,要移植当然要换编译环境重新编译,Android ndk编译不出arm-linux程序的,要重新写Makefile也没办法呀,还是交叉编译吧。

❻ linux各个内核版本与交叉编译器版本的对应问题。这个是怎么对应的。我怎么知道我的内核需要那个编译器。

一般来说越新的内核用越新的交叉编译器,你不用知道怎么选择,网上都有大量的现成例子,你这个3.4.1和4.4.3 都跳了一个重大改版了,也许你这个3.4.1只能编译通过2.4.xxx的内核,交叉编译器在编译的时候涉及到对一些代码的优化,2.4内核 和2.6内核差了很多,这个你也知道!

❼ 用arm-elf-tools来搭建交叉式编译的uclinux环境,arm-elf-tools只能够支持2.4版本的内核,

arm-elf-tools只能够支持2.4版本的内核是指你目标板要运行的系统的内核版本,与你PC机或虚拟机的系统内核版本无关,你最终是用搭建的编译器来交叉编译内核版本,能否搭建成功主要看PC系统的gcc版本以及相关的lib是否都满足。

❽ 一个版本的arm-liunx-gcc 可以通用吗

是通用的,对于不同的ARM体系,是通过设置不同的编译选项来设置的。arm11比arm增加了一些指令集。
比如ARM9可以设置 --march=armv4t --mcpu=arm920t
ARM11可以设置 --march=armv6 --mcpu=arm1176jz-s

❾ arm-linux-gcc交叉编译器的制作,以及版本选择问题。

,需要必须有足够动经验来支持。
另外,用 RH9 的都是高手,我想你的知识不需要来提问了吧?

1、在 PC 上编译 arm 的程序当然需要较差编译器,这个需要自己安装,或者着现成的交叉编译器环境,一般是一个特殊参数编译出来的 gcc + binutils + glibc + linux-header。这个每个人动环境不同,一般都需要自己编译一个,当然没有特殊需求,也可以找现成的。不过很难找,因为这套环境还要和你动系统搭配,不然环境不匹配,连这个环境都不能运行,那就更谈不上编译东西了。
有关自己编译搭建交叉编译环境,可以看看一个特殊的 Linux 发行版 LFS 的分支: CLFS 。

2、移植分很多意思,移植有可能就意味着这套源代码不能在目标系统上面编译,需要你根据相应的知识去修改源代码来让这套代码适应目标编译器的要求,比如源代码有 SSE4 的优化,这套程序在非 SSE4 CPU 上无法编译运行,但目标机器连 SSE1 都不支持。那么就需要移植。
或者移植仅仅是根据新的环境进行编译,不需要进行源代码修改,只需要进行一下编译就能运行的程序,也可以称为移植,就是从一个环境、架构 -》另一个环境、架构。都可以称为移植,但真正的移植意味着修改程序源代码来适应新环境。你说的这种移植是最简单的移植。

3、决定目标硬件环境 -》搭建目标编译器 -》制作目标环境(内核,基础软件库)-》进行应用移植(移植需要的软件、主应用程序)-》搭建系统文件系统 -》导入目标系统-》启动目标系统&应用。说起来很简单,因为这是完全没有问题的条件下。
至于超级终端。那是用来控制目标系统的。目标系统有可能不能插键盘鼠标显示器,这就需要一个远程网络链接来进行控制。以及通过远程链接来发送数据。这都需要终端的支持。

虚拟机下面进行开发,不能发挥你的计算机的性能。而且因为隔着 VMware 的软件模拟层,可能还不会很方便的让你链接目标设备。

至于用 socket ,我还没见到你的目标需要这个东西,因为所有的东西都是现成的源代码。不需要你从 0 开始写,当然你想自己写一个系统内核,或者服务器程序,或者全套的系统+应用,我绝对不拦你,但希望你写完这套东西,能把源代码发布出来。
ads 可以认为是一个支持环境,他本身不是一个系统的开发 SDK 。
-------------------------------------
ads 没用过,印象里他还有模拟器,调试器什么的程序。功能上要比 Linux 开发环境,WinCE 环境下面的东西更多更偏向于硬件方面,毕竟 ads 是 arm 出品的,不太可能偏向于软件部分设计。Linux 和 WinCE 都是系统而不是硬件工具。

你可以认为交叉编译器是一个应用程序,一个输出器。把源代码输出为 arm 的代码,这个应用程序的输出,是靠他自己的环境,而不是当前系统的环境的。
当前系统的各个软件的版本,不能影响交叉编译器输出的环境(理论上,现实有的时候总是从别的地方给你打击……),交叉编译器一般至少有 gcc 、binutils 、glibc 库、linux kernel 头文件。

在软件需求上。
头文件谁都不依赖,glibc 只需要内核头文件,其他程序全都依赖于 glibc 。也就是所有程序都不依赖内核,仅仅是依赖于内核头文件。

gcc 和 binutils 是把程序源代码根据上面各个环节的需提供的功能来输出为上面环节里面的二进制程序。依赖你当前环境的,只有 gcc 和 binutils 两个程序的执行、控制环节。只有他们两个依赖的,而不是你的交叉编译后的程序。

至于编译器版本的选择,新版本功能更好,旧版本兼容更好。
这个要看你的实际需要了。应用程序源代码也调编译器的,同时也依赖于软件库的功能。

arm 开发建议稳定、兼容优先。当然也可以尝试最新的编译环境,来获取更好的优化(前提是还有什么代码优化的话)。
另外,团IDC网上有许多产品团购,便宜有口碑

热点内容
拉链压缩袋 发布:2025-01-20 23:55:16 浏览:685
少儿编程多少钱一节课 发布:2025-01-20 23:53:46 浏览:939
政府网站登录密码是什么意思 发布:2025-01-20 23:53:09 浏览:188
pythonwin26 发布:2025-01-20 23:37:00 浏览:502
国外哪些同款同配置车比国内贵 发布:2025-01-20 23:32:55 浏览:994
汇编为什么少编译了一条语句 发布:2025-01-20 23:30:57 浏览:146
服务器内存不够电脑会怎么样 发布:2025-01-20 23:10:35 浏览:209
discuz图片上传失败 发布:2025-01-20 22:59:55 浏览:95
c语言函数分为 发布:2025-01-20 22:59:42 浏览:535
寂静岭密码箱按什么键确定 发布:2025-01-20 22:56:40 浏览:329