首页 新闻资讯 技术资料 论坛 网站地图
AD/DA 嵌入式开发新闻 嵌入式软件 软件开发 接口电路 CPLD/FPGA 应用产品
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  从事嵌入式一年多来,一直没能想清楚的问题!!
出处:21ic 时间: 2007-10-19
yujun0834 发布于 2007-10-12 11:13:00
各位大侠:
   你们好!!
  (1)最近用ADS开发了一应用程序,并用其提供的bootload将该应用引导起来了。我看bootload 中有关对硬件平台进行基本的初始化,可在我应用程序中ADS下前面一段汇编代码也是对硬件平台进行基本初始化的。也就是说bootlaod运行后执行应用程序时又进行了硬件初始化,请问一定都是这种模式吗?有没有其他方法?
  (2)在用ADS进行调试时一直有个疑问,必须先load image到RAM中,然后在将pc指向image入口,可这时我的ram压根还没初始化啊,我的板子到好理解,里面自带有一BootROM(先对串口,RAM等初始化),可我看了44b0,或我自己画的板子等其他没带BootROM,请问各位是怎么解决的??



wl80382000 发布于 2007-10-12 16:21:00
仔细研究一下   只要汇编程序看懂   你上边问题就都解决了
这一步也是必须要经过的


sockit 发布于 2007-10-12 16:50:00
是的,其实bootloader也等于是一个跑在你硬件上的应用啊
一般bootloader引到系统启动运行后,它就不再工作了,应用或者别的操作系统都需要重新对硬件作相应的初始化。

没有用过ADS。你应该是用仿真器配合ADS的吧?仿真器会起到检测硬件的功能,你试试把ram芯片焊掉,看连仿真器的时候ADS会不会报错。


whereis 发布于 2007-10-12 19:57:00
问题(2),写命令脚本初始化硬件,再download到sdram。



hynwind 发布于 2007-10-13 11:45:00
1  确实进行了两次初始化,这没有关系的
2  ADS下载程序前需要初始化RAM的,当然也可以通过ADS直接初始化!



*********************************************
*             飞凌嵌入式                    *
*         www.witech.com.cn                 *
*********************************************


wishcom 发布于 2007-10-15 22:50:00
44B0是从0地址开始运行的,所以一般将Nor Flash放在0地址,而Nor Flash是支持XIP的,这样你的bootloader放在0地址就可以开机自动跑了。
至于烧录bootloader到Nor Flash的0地址则是使用JTAG工具,通常是TRACE32...


yujun0834 发布于 2007-10-17 15:16:00
呵呵,首先感谢大家的回复,好象在调试之前怎么初始化SDRAM,还没人提出切实可行的方法,欢迎大家继续参与


wishcom 发布于 2007-10-17 21:35:00
bootloader = boot + loader
boot的作用就是初始化各种硬件设备和CPU状态的
loader的作用就是将你的主程序(通常是OS)的一部分(Nor Flash)或者全部(Nand Flash)加载到内存中去运行之。

需要明白的是通常boot部分都是不需要内存即可运行的。
因此初始化SDRAM载boot里完成之后就可以使用内存了。

另外,不需要内存的程序可以是C程序,前提是没有任何变量(局部,全局都不行),只能存在常量和指令。
如:
void main(void)
{
  *((volatile unsigned long *)0x0C008000) = 0xFFFFFFFF;
}
就可以不需要任何内存即可运行。


yujun0834 发布于 2007-10-18 14:08:00
wishcom:  
   你好!!看了你的回复,很精彩!
可我还有个问题。
  我是用AXD调试的,首先要load image,请问load image把映象放在哪呢?
如果那位知晓AXD调试的细节,欢迎你的参与!
  再次谢谢各位!!


wishcom 发布于 2007-10-18 22:57:00
AXD最多只能将映象(也就是bin/hex文件)加载到SDRAM中。
如果你希望将映象烧到Flash中,还是要用JTAG工具(简易JTAG,Trace32等)来烧录。


yujun0834 发布于 2007-10-19 14:00:00
其实在AXD进行调试前必须有段代码对sdram等进行初始化的,不然你调试的映象载到哪呢??以我用的板子为列:我就是先将板自带一redboot烧写到flash中,然后通过jtag进行调试的。有的板子,譬如;ep93xx系列中自带有一bootrom,里面就有对串口,sdram等初始化的.
  研究的不深,有什么不对之出,还请指点一二,谢谢!


关闭】 【打印
相关专题  
CPLD/FPGA
汽车电子
工业控制
综合电子技术
军工/航空航天
医疗电子
通信产品
软件开发
开发工具
计算机外设
安防产品
嵌入式软件
接口电路
嵌入式开发新闻
消费电子
IC设计
传感控制
测试测量
SOPC
数控系统
AD/DA
应用产品
嵌入式硬件
存储器
嵌入式系统

© 2007 百斯嵌入式开发网 网站地图