当前位置: 首页 > news >正文

网站的建设和设计方案在线网络培训平台

网站的建设和设计方案,在线网络培训平台,新乡网站建设哪家好,自助网站建设平台一、什么是交叉编译、为什么要交叉编译 1、什么是交叉编译? 交叉编译:是在一个平台上生成另一个平台上的可执行代码。比如我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的…

一、什么是交叉编译、为什么要交叉编译

1、什么是交叉编译?

交叉编译:是在一个平台上生成另一个平台上的可执行代码。比如我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。

我们在Windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行

编译:是在一个平台上生成在该平台上的可执行代码,

2、为什么要交叉编译?

2.1、交叉编译的目标系统一般都是内存较小、显示设备简陋甚至没有,没有能力在其上进行本地编译,无法运行我们所需要编译器,比如C51,C51 交叉编译的发生在keil(集成环境上面)

2.2、有能力进行源代码编译的平台CPU架构或操作系统与目标平台不同;

平台运行需要两样至少东西:bootloader(启动引导代码)以及操作系统核心

交叉编译器用到的工具:交叉编译器

 要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。

如:在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。

二、交叉编译工具链的安装

  •  树莓派交叉编译工具链安装

下载地址:

https://github.com/raspberrypi/

  • OrangePi_Zero2交叉编译工具链安装

参考OrangePi_Zero2用户手册Orange Pi Zero2-Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘

从共享文件夹拷贝到工作目录

cp /mnt/hgfs/sharefromwindows/tools-master.zip .

解压

unzip tools-master.zip

进入文件夹bin目录

cd /home/zyf/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

获取路径    pwd

配置环境变量

1、环境变量临时有效

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/zyf/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

2、环境变量永久有效

修改工作目录下的.bashrc 隐藏文件,配置命令终端的

vi /home/zyf/.bashrc 

在文件最后一行加入

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/zyf/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

加载配置文件,马上生效配置

source /home/zyf/.bashrc

三、交叉编译

检查下交叉编译工具对不对:

arm-linux-gnueabihf-gcc -v

4.8.3

编译:

arm-linux-gnueabihf-gcc  xxx.c -o xxx

eg:

服务端:gcc ftpserver.c -I ./ -o serverInX86         

客户端:arm-linux-gnueabihf-gcc ftpclient1.c -I ./ -o clientInpi

把编译生成的可执行文件下载到开发板:

scp clientInPi pi@192.168.101.33:/home/pi

指令 文件名 开发板用户名@开发板地址:开发板的绝对路径

注意服务端和客户端需要在同一网段

若出现public key问题,用以下

scp -o StrictHostKeyChecking=no ftpclientARM pi@192.168.101.33:/home/pi

四、带wiringPi库的交叉编译如何进行

1、正常我们先要交叉编译wiringpi库,编译出的库适合树莓派,这时候交叉编译可执行程序的试试,链接库的格式也是正确的。

2、通过-I –L来指定

因为链接的库的格式不对,是宿主机的平台,会出现错误

解决:把树莓派上的wiringpi库拿上来用

3、软链接的引入?

软链接:

1、软连接文件有类似于Windows的快捷方式

2、在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

3、只在你选定的位置上生成一个文件的镜像,不占用磁盘空间

4、如何生成软链接?

ln -s libwiringPi.so.2.52 libwiringPi.so

指令 参数   要被链接的文件       软链接名

5、硬链接

硬链接:

ln  libwiringPi.so.2.52 libwiringPi.so

它会在你选定的位置上生成一个和源文件大小相同的文件

  6、编译生成

解压wiringpi库的tar.gz文件

命令:tar -zxvf xxx.tar.gz -C /xxx/

查看命令:man tar

编译生成

arm-linux-gnueabihf-gcc relay1.c -I /home/zyf/share/WiringPi/wiringPi -L. –lwiringPi

(这里编译不成功,提示需要用到glibc库,

解决方案:1、把树莓派和ubantu对应的glibc,升级到一致2、直接在树莓派编译,简单高效)

http://www.mmbaike.com/news/102243.html

相关文章:

  • 个人网站icp备案号郑州百度推广公司地址
  • wordpress网站域名地址网站模板免费
  • seo网站建设优化什么意思推广普通话标语
  • 珠海做网站找哪家好头条今日头条新闻头条
  • 网站后台管理系统的重要技术指标邢台网站网页设计
  • 期末成绩怎么做网站友情链接推广
  • 如何快速的制作h5页面企业网站seo方案案例
  • 酒店电子商务网站建设推广文章的注意事项
  • 通辽市建设委员会网站深圳英文站seo
  • html新闻列表优化营商环境应当坚持什么原则
  • php免费网站建设新公司怎么做网络推广
  • 美团网站制作的特色seo广告投放是什么意思
  • 什么源码做有趣的网站枫树seo网
  • 做网站怎么提取视频无广告网站建设合同模板
  • 安徽网站建设SEO优化制作设计公司平台如何做推广
  • 做网站还需要服务器吗长沙关键词优化公司电话
  • wordpress分享视频网站有什么推广的平台
  • 在百度上做网站有用吗可以入侵的网站
  • 电子商务网站建设与管理实训总结360搜图片识图
  • 做外文H网站seo主要做哪些工作
  • 专业网站建设品牌策划seo广告平台
  • 国外做家装的网站有哪些app推广方案
  • 网站做支付按流量付费快速建站平台
  • 常州网站设计公司最新最好的磁力搜索
  • 建立企业网站的缺点2023年8月新闻热点事件
  • 郑州直播网站建设专业做app软件开发公司
  • 龙华网站建设的软件百度收录网址
  • 福州做网站设计公司在线培训考试系统
  • 站群系统有哪些seo助理
  • 网站改版提案东莞疫情最新数据