ads+代理能下载程序到ram里吗?
我在一论坛上看到说tftp下载只能针对Linux image,那么其他的程序由什么方式能下到ram里运行呢?他们提供一个办法是通过ads+代理下载到ram里,请问哪位大虾知道怎么设置ads才能下载程序到ram里?我比较喜欢nmake,所以集成环境用得很少(除了调试:) 。还有一个就是我发现在很多直接烧写到flash里的bootloader程序(44B0 sdram 地址是0x0c000000),他们的设置是:
entry 0x0c000000 ro-base 0x0c000000 rw-base 0x0c100000
这个entry 和 ro-base 为什么不是0x0呢?ro-base 和 |image$$RO$$base|是什么关系呀?
我找了很多资料,没搞明白,请大虾指点,谢谢! arm执行文件由RO,RW,ZI三个断组成 其中RO为代码段,RW是已经初始化的全局变量,ZI是未初始化的全局变量
bootloader中
|Image$$RO$$Base| ; RO段起始地址
|Image$$RO$$Limit| ; RO段结束地址加1
|Image$$RW$$Base| ; RW段起始地址
|Image$$RW$$Limit| ; RW段结束地址加1
|Image$$ZI$$Base| ; ZI段起始地址
|Image$$ZI$$Limit| ; ZI段结束地址加1
;这些标号的值是通过编译器的设定来确定的 如编译中对ro-base和rw-base的设定,例如 ro-base=0xc000000 rw-base=0xc5f000
仔细看看《ARM体系结构与编程》书,讲的还不错
Re: ads+代理能下载程序到ram里吗?
我在一论坛上看到说tftp下载只能针对Linux image,那么其他的程序由什么方式能下到ram里运行呢?他们提供一个办法是通过ads+代理下载到ram里,请问哪位大虾知道怎么设置ads才能下载程序到ram里?我比较喜欢nmake,所以集成环境用得很少(除了调试:) 。还有一个就是我发现在很多直接烧写到flash里的bootloader程序(44B0 sdram 地址是0x0c000000),他们的设置是:
entry 0x0c000000 ro-base 0x0c000000 rw-base 0x0c100000
这个entry 和 ro-base 为什么不是0x0呢?ro-base 和 |image$$RO$$base|是什么关系呀?
我找了很多资料,没搞明白,请大虾指点,谢谢!
同问:那位能讲讲44B0的ro-base 和 entry为什么设置为0x0c000000,44b0可不支持地址remap,那么烧写到flash的bootloader设置这样的地址,不知做何解?我试过将我做的bootloader这样设置,结果烧写到flash之后,没有任何反应,就是说,程序可能跑飞了或是一直停在0x0处(那里没程序?) 请大虾解惑,谢谢! 已解,自己跑一下ads就清楚了
页:
[1]