主题 : 定制wince内核在哪里指定startup地址的? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 27842
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2010-09-01
最后登录: 2011-06-27
楼主  发表于: 2010-09-18 11:39

 定制wince内核在哪里指定startup地址的?

我发现nboot里有这么几条语句
#define DOWNLOAD_ADDRESS 0x30138000

void (*run)(void)=(void (*)(void))(DOWNLOAD_ADDRESS);
。。。。。。。。
。。。。。。。
void Main(void)
{
。。。。。。。
     if (run)   run();
我的理解编译内核的时候会把startup放在0x30138000对应的虚拟地址上应该是0x80138000,
我的问题是在哪里指定的呢?貌似config.bib里也没有啊?
级别: 新手上路
UID: 27842
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2010-09-01
最后登录: 2011-06-27
1楼  发表于: 2010-09-19 23:07
我的理解是这样的:编译器应该可以通过某种描述文件,安排一些特定代码的地址,比如ADS可以通过分散加载文件,PB5.0也应该有个文件来安排代码位置的,是什么呢?
级别: 新手上路
UID: 27842
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2010-09-01
最后登录: 2011-06-27
2楼  发表于: 2010-09-20 00:33
我在C:\WINCE500\PLATFORM\mini2440\target\ARMV4I\retail目录下发现一些.map的文件,但我怀疑这些是编译器生成的,是结果不是原因,原因在哪里?
级别: 侠客
UID: 9289
精华: 0
发帖: 124
金钱: 675 两
威望: 165 点
贡献值: 0 点
综合积分: 248 分
注册时间: 2009-09-24
最后登录: 2016-07-05
3楼  发表于: 2010-10-29 17:06
怎么指定的