这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 一个bootloader如何执行所下载的程序的问题

共8条 1/1 1 跳转至

一个bootloader如何执行所下载的程序的问题

菜鸟
2006-10-19 03:35:12     打赏
我在调试bootloader的时候,程序能成功下载。但有有一个问题:找不到下载的程序的起始地址。假设我将bin文件下载到0x0c008000处,并想从此处执行,但下载后发现位于此处的代码是数据段,不是程序。而且如果修改程序,编译后数据段的长度不是固定的,所以代码段的起始位置也不固定。这如何解决



关键词: 一个     bootloader     如何     执行     下载     程序    

菜鸟
2006-10-19 08:56:00     打赏
2楼

重新编译你下载的程序,把代码段定位到最开始的地方。


菜鸟
2006-10-19 15:31:00     打赏
3楼
怎么定位呀?以前用其它的片子还有ORG指令,ARM好像没有吧,那怎么才能实现定位呢?我用的44b0的板子。 [align=right][color=#000066][此贴子已经被作者于2006-10-19 7:31:59编辑过][/color][/align]

菜鸟
2006-10-21 04:02:00     打赏
4楼

怎么没有人说话呀,不应该没人知道呀。


菜鸟
2006-10-21 05:25:00     打赏
5楼

如果用ADS编译的话,可以使用entry 进入,无论是simple还是scatter模式


菜鸟
2006-10-21 21:39:00     打赏
6楼

先谢谢诸位!谢谢powl!

enter我试过了,它只是告诉Linker链接后程序执行的入口地址,并没有确定一个绝对地址的作用啊,因为改变程序后入口的绝对地址还是变化的。

还有其它的办法吗?


菜鸟
2006-10-24 05:00:00     打赏
7楼
在ADS的k de 界面中可以设置en t r y 的入口,那么如果是加载到flash上那么这个地址就可以确定啊.同样使用scatter加载的时候,可以使用+first将入口直前,这样的话还是可以确定绝对地址啊.

菜鸟
2006-10-24 07:02:00     打赏
8楼
应该是在ADS的设置项,ARM Linker->Output 给RO Base定义地址就可以

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]