• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32使用keil,怎么可以让bin文件直接为运行态

fangsichao 2019-01-23 浏览量:1497
正常使用fromelf生成的bin文件,在加载运行后,都会先执行BIN文件中的前期加载工作,怎么样能够取消掉这部分,搬移bin文件后,直接就可以跳转运行?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不知道你在做什么,如果是串口IAP的话,就必须要写加载BIN文件的程序,不然程序不会运行。bin文件不带存放地址,你发送给单片机的时候就要自己规划存放地址了,HEX文件是带存放地址的,在系统编程的时候就直接发送即可。
    • 发布于 2019-01-23
    • 举报
    • 评论 3
    • 0
    • 0
2016大圣 回复了 我是假管贴心小助手:点赞 回复
fangsichao 回复了 我是假管贴心小助手:我的工程是有单独的引导程序的,bin文件搬移到ram中运行的,但是我想在keil生成bin文件时,省略掉那些main函数前的那些搬移工作(因为已经有引导可以全部搬移到ram中),这样对于引导后,程序启动的更快,且bin文件能更小些 回复
我是假管贴心小助手 回复了 我是假管贴心小助手:这样的话,就要编写两个工程了,第一个工程就是你说的执行搬移BIN的工程,第二个就是你所需要的实际执行的工程,编写第二个工程后生成bin文件直接发送,不知道符不符合你的要求。 回复

其他答案 数量:10
  • bin要烧写到单片机上才可以运行的,在PC上只能是仿真一下
    • 发布于2019-01-23
    • 举报
    • 评论 1
    • 0
    • 0
2016大圣 回复了 明有几时有 :点赞 回复

  • 这个是不可以取消的,程序就是这样编译准备的,加载运行的,不加载直接运行不了
    • 发布于2019-01-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个文件是由编译器去处理的,所以用户是没有办法去改变这些文件的处理工作的
    • 发布于2019-01-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 你如果是想做IAP的话跳转工作是必不可少的,不太理解你这样做的用意何在。
    • 发布于2019-01-30
    • 举报
    • 评论 0
    • 0
    • 0

  • bin文件中的前期加载工作是不可缺少的,那里描述了程序的中断向量,堆栈地址等
    • 发布于2019-01-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用编译器去专门处理,无法取消你设想的
    • 发布于2019-02-20
    • 举报
    • 评论 0
    • 0
    • 0

  • bin文件 是编译后生成的烧写的文件,并没有运行太的说法的啊,是不是仿真时的运行,但是在重新编译后,是要重新进行下载仿真的啊
    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 用批处理文件可以,直接写个脚本,然后改成bat格式
    • 发布于2019-02-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好是把你的文件进行解码,然后输出格式
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 设置一下IAP的方式,用地址的方式转跳输出就可以了
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32使用keil,怎么可以让bin文件直接为运行态