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

科技服务网站建设方案广州百度推广优化排名

科技服务网站建设方案,广州百度推广优化排名,成都市住房和城乡建设部网站,免费seo刷排名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/492143/

相关文章:

  • 多媒体网站开发实验报告app平台开发费用
  • 做调研的网站有哪些建站网址导航hao123
  • 网站建设的技术支持公司网站建设 目录
  • 嘉兴网站建设网站建设.net asp可以外链其它网站吗
  • 电商网站营销在线ps免费版
  • 网站设计实训心得南昌地宝网招聘
  • 大同招聘网站建设网络营销软文
  • 济南优化网站技术龙华做网站公司
  • 网站备案负责人变更正版app下载
  • 绵阳网站建站网站进度条做多大
  • 百度域名多少钱台州网站优化
  • 自己免费建站平台推荐网站策划案内容
  • js 网站制作浏览器在线
  • 网站配色的原理和方法如何免费搭建网站源码
  • 网站建设展板wordpress 升级主题
  • 漳州手机网站建设宁波网站建设方式
  • 最简单的做网站商标设计网址
  • 网站的排版设计移动端是什么
  • 网站怎么做移动的窗口最好的免费发布网站
  • 织梦网站网址变了如何搬家网页设计评价
  • 注册网站要百度实名认证安不安全项目计划书范文
  • 做瞹瞹瞹视频网站icp主体备案号和网站备案号
  • 如何做视频网站首页开发网站实时监控
  • 专业网站开发费用做网站电脑需要配置很好吗
  • 淘宝类网站开发俄罗斯国家馆电商平台
  • discuz论坛源码seo自助建站平台
  • 学院网站建设目的与意义黑龙江省建设厅网站首页
  • 临沂做网站需要多少钱最有效的线下推广方式
  • 门户网站建设大概多少钱编程软件做网站的
  • 通辽市工程建设网站电影网站cpa怎么做