皮皮网

【用户画像标签源码】【抢东西软件源码】【源码资本 雷鑫】源码如何打包arm

时间:2024-11-26 13:35:07 分类:焦点 来源:tinycc 源码分析

1.我现在在刷STM32的源码ARM例程,不知道IAR和ARM是何打什么区别
2.如何制作arm-linux-gcc编译工具
3.Nginx源码交叉编译-保姆级移植ARM
4.图文鲲鹏916-ARM64架构源码gcc编译完整记录

源码如何打包arm

我现在在刷STM32的ARM例程,不知道IAR和ARM是源码什么区别

       ARM,STM,何打IAR三者的源码关系:

       IAR是开发工具软件,你开发STM需要用到这个软件进行源代码编写,何打用户画像标签源码和调试,源码而ARM是何打内核ST(意法半导体)公司购买了ARM内核的使用设计全,STM内部就有一个ARM的源码内核,这个内核你可以想象为电脑的何打CPU,而这台“电脑”的源码硬盘,显卡,何打声卡之类的源码就是ARM内核以外的外设,共同组成了STM这台电脑。何打

如何制作arm-linux-gcc编译工具

       ä¸€ã€ä¸‹è½½æºæ–‡ä»¶

       æºä»£ç æ–‡ä»¶åŠå…¶ç‰ˆæœ¬ï¼š

       binutils-2..tar.bz2,源码 gcc-core-4.4.4.tar.bz2 gcc-g++-4.4.4.tar.bz2 Glibc-2.7.tar.bz2 Glibc-ports-2.7.tar.bz2 Gmp-4.2.tar.bz2 mpfr-2.4.0.tar.bz2mpc-1.0.1.tar.gz Linux-2.6..tar.bz2 (由于我在编译出错的过程中,根据出错的信息修改了相关的C代码,故而没有下载相应的补丁)

       ä¸€èˆ¬ä¸€ä¸ªå®Œæ•´çš„交叉编译器涉及到多个软件,主要包括bilinguals、cc、glibc等。其中,binutils主要生成一些辅助工具;gcc是用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具,而glibc主要提供用户程序所需要的一些基本函数库。

       äºŒã€å»ºç«‹å·¥ä½œç›®å½•

       ç¼–译所用主机型号 fc.i,虚拟机选的是VM7.0,Linux发行版选的是Fedora9,

       ç¬¬ä¸€æ¬¡ç¼–译时用的是root用户(第二次用一般用户yyz), 所有的工作目录都在/home/yyz/cross下面建立完成,首先在/home/yyz目录下建立cross目录,然后进入工作目录,查看当前目录。命令如下:

       åˆ›å»ºå·¥å…·é“¾æ–‡ä»¶å¤¹ï¼š

       [root@localhost cross]# mkdir embedded-toolchains

       ä¸‹é¢åœ¨æ­¤æ–‡ä»¶å¤¹ä¸‹å»ºç«‹å¦‚下几个目录:

       setup-dir:存放下载的压缩包;

       src-dir:存放binutils、gcc、glibc解压之后的源文件;

       Kernel:存放内核文件,对内核的配置和编译工作也在此完成;

       build-dir :编译src-dir下面的源文件,这是GNU推荐的源文件目录与编译目录分离的做法;

       tool-chain:交叉编译工具链的安装位;

       program:存放编写程序;

       doc:说明文档和脚本文件;

       ä¸‹é¢å»ºç«‹ç›®å½•ï¼Œå¹¶æ‹·è´æºæ–‡ä»¶ã€‚

       [root@localhost cross] #cd embedded- toolchains

       [root@localhost embedded- toolchains] #mkdir setup-dir src-dir kernel build-dir tool-chain program doc

       [root@localhost embedded- toolchains] #ls

       build-dir doc kernel program setup-dir src-dir tool-chain

       [root@localhost embedded- toolchains] #cd setup-dir

       æ‹·è´æºæ–‡ä»¶ï¼š

       è¿™é‡Œæˆ‘们采用直接拷贝源文件的方法,首先应该修改setup-dir的权限

       [root@localhost embedded- toolchains] #chmod setup-dir

       ç„¶åŽç›´æŽ¥æ‹·è´/home/yyz目录下的源文件到setup-dir目录中,如下图:

       å»ºç«‹ç¼–译目录:

       [root@localhost setup-dir] #cd ../build-dir

       [root@localhost build -dir] #mkdir build-binutils build-gcc build-glibc

       ä¸‰ã€è¾“出环境变量

       è¾“出如下的环境变量方便我们编译。

       ä¸ºç®€åŒ–操作过程。下面就建立shell命令脚本environment-variables:

       [root@localhost build -dir] #cd ../doc

       [root@localhost doc] #mkdir scripts

       [root@localhost doc] #cd scripts

       ç”¨ç¼–辑器vi编辑环境变量脚本envionment-variables:[root@localhost scripts]

       #vi envionment-variables

       export PRJROOT=/home/yyz/cross/embedded-toolchains

       export TARGET=arm-linux

       export PREFIX=$PRJROOT/tool-chain

       export TARGET_PREFIX=$PREFIX/$TARGET

       export PATH=$PREFIX/bin:$PATH

       æˆªå›¾å¦‚下:

       æ‰§è¡Œå¦‚下语句使环境变量生效:

       [root@localhost scripts]# source ./environment-variables

       å››ã€å»ºç«‹äºŒè¿›åˆ¶å·¥å…·ï¼ˆbinutils)

       ä¸‹é¢å°†åˆ†æ­¥ä»‹ç»å®‰è£…binutils-2..1的过程。

       [root@localhost script] # cd $PRJROOT/src-dir

       [root@localhost src-dir] # tar jxvf ../setup-dir/binutils-2..1.tar.bz2

       [root@localhost src-dir] # cd $PRJROOT/build-dir/build-binutils

       åˆ›å»ºMakefile:

       [root@localhost build-binutils] #../../src-dir/binutils-2..1/configure --target=$TARGET --prefix=$PREFIX

       åœ¨build-binutils目录下面生成Makefile文件,然后执行make,make install,此过程比较缓慢,大约需要一个分钟左右。完成后可以在$PREFIX/bin下面看到我们的新的binutil。

       è¾“入如下命令

       [root@localhost build-binutils]#ls $PREFIX/bin

Nginx源码交叉编译-保姆级移植ARM

       在本文中,作者详细介绍了如何在ARM嵌入式平台恩智浦imx6ul上进行Nginx的交叉编译和优化过程。首先,作者在Ubuntu ..7 位系统上搭建了交叉编译环境,使用的抢东西软件源码工具包括arm-linux-gnueabihf-gcc和arm上Linux内核4.1.。

       在准备阶段,作者下载了Nginx(1..0)、pcre(8.)、zlib(1.3.1)和openssl(1.1.1)的源代码。在Nginx源码目录下,作者对部分源码进行了修改,如移除退出函数和调整大小,同时增加了PCRE配置。对于不使用SSL的源码资本 雷鑫情况,作者去除了配置文件中的SSL相关部分。完成配置后,生成的Makefile未进行编译,Nginx部分的操作暂时告一段落。

       接着,作者对pcre和openssl源码进行编译,确保没有报错。对于openssl,由于版本问题,英雄联盟代码源码1.1.1版本编译通过。在openssl编译过程中,作者对Makefile进行了相应修改。编译完成后,作者对Nginx进行了进一步的优化,去除了Debug信息,使可执行文件减小到2.8M。

       最后,将编译好的51星变源码Nginx文件复制到ARM设备,通过调整配置文件解决了启动时的报错,并成功运行起来。通过浏览器访问测试页面,证明移植工作已经完成。

图文鲲鹏-ARM架构源码gcc编译完整记录

       以下是关于ARM架构源码gcc编译的详细步骤记录:

       首先,确保已经准备就绪,如果cmake未安装,需要进行安装。检查cmake版本以确认其是否满足需求。

       安装必要的依赖包,如isl、gmp、mpc、mpfr等,检查它们是否已成功安装。

       针对gcc版本过低的问题,需下载并更新到7.3版本。下载并解压gcc7.3的安装包。

       在gcc-7.3.0目录下,确认已下载和安装了所有依赖包。

       利用多核CPU的优势,通过“-j”参数加速编译过程。原先是按照官方文档使用make -j,但速度缓慢,后来调整为make -j以提升效率。

       依次执行编译目录创建、gcc编译、安装以及确认“libstdc++.so”软连接在正确的目录(/usr/lib)。

       编译完成后,通过查看gcc版本来确认安装是否成功。

       以上就是完整的gcc编译安装流程。如果您觉得这些信息对您有所帮助,欢迎分享和关注我们的更新。更多技术内容敬请期待,感谢您的支持!

copyright © 2016 powered by 皮皮网   sitemap