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

广州网站制作教程重庆市网上房地产官网

广州网站制作教程,重庆市网上房地产官网,网站服务器vps,想象力网站建设公司1 现象 程序完全正确,但是由于程序链接的位置不对,导致程序没有正常运行。 2 寻找原因 对生成的bin文件进行反汇编: arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis查看生成的反汇编文件 发现在在链接的开始地址处&…

1 现象

  • 程序完全正确,但是由于程序链接的位置不对,导致程序没有正常运行。

2 寻找原因

  • 对生成的bin文件进行反汇编:
arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis
  • 查看生成的反汇编文件
    在这里插入图片描述
    发现在在链接的开始地址处(0x87800000),定义了一个名为"clk_enable"的函数或代码段的起始位置,而不是_start程序(_start 是一个特殊的符号或标识符,它在编译和链接过程中用于表示程序的起始点。)。

  • 在我们的start代码中,我们初始化了堆栈指针,这个程序必须放在链接的起始地址处(0x87800000)
    在这里插入图片描述

3 原因

  • 为什么编译后的bin文件没有正确的链接顺序呢?经过我的尝试,发现是和Makefile中程序的链接顺序有关,先写的文件会较早被链接(而先写的文件的依赖会更早被链接)
  • 在这里,如果代码顺序如下(main.ostart.o先写)
# 定义目标文件列表
objs := main.o start.o# 生成目标文件 ledc.bin
ledc.bin : $(objs)arm-linux-gnueabihf-ld -Ttext 0x87800000 -o ledc.elf $^arm-linux-gnueabihf-objcopy -O binary -S ledc.elf $@arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis

那么 main.o及其依赖会比start.o先被链接。

4 解决方法

确保每次书写 Makefile 时,start.o都写在最前面:

# 定义目标文件列表
objs := start.o main.o# 生成目标文件 ledc.bin
ledc.bin : $(objs)arm-linux-gnueabihf-ld -Ttext 0x87800000 -o ledc.elf $^arm-linux-gnueabihf-objcopy -O binary -S ledc.elf $@arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis
http://www.yayakq.cn/news/828053/

相关文章:

  • 做团队网站源码有哪些在线图片编辑网站源码
  • 河北邯郸网站建设公司网站的切图是谁来做
  • 怎么制作网站平台wordpress插件一般开源
  • 金汇网站建设毕业设计购物网站怎么做
  • 网站在哪里设置关键字前端线下培训
  • 精品课程网站源码安康做企业网站的
  • 苏州网站建设布局天津软件设计公司
  • 有名的网站建设公司wordpress 获取用户
  • 买域名的网站有哪些50强网站开发语言
  • 济宁住房与建设网站自己在线制作logo免费无水印
  • 江苏做网站的企业友情链接还有用吗
  • 免费做链接的网站吗粤语seo是什么意思
  • 小笨鸟跨境电商平台对网站做综合搜索引擎优化分析
  • 在柬埔寨做网络销售推网站大专生学广告设计后悔了
  • 网站跳出率一般多少自己做手机网站
  • 深圳网站建设与设计制作wordpress 侧边栏导航
  • 在线网站设计宜昌建网站
  • 电子商务网站建设与管理期末试卷网站建设优秀公司
  • 什么网站可以做设计泽库县公司网站建设
  • 购物网站建设价格一览表免费网页模板网站
  • PR做视频需要放网站上沈阳男科医院好吗
  • 网站页面格式python是什么
  • 网站静态页面生成珠海市建设工程质量监督检测站网站
  • 北京好的做网站的公司有哪些如何改wordpress文章模板
  • 可以做哪方面的网站页游在线玩
  • 做书评的网站有哪些7k7k传奇世界网页版
  • 哪有网站建设的优化设计五年级下册数学答案
  • 公司网站内容相近wordpress安装乱码
  • 视频网站怎么做外链百度号注册官网
  • 企业简介范文seo推广软