学了点ARM 有关的东西很多都不是很清楚,网上看了跟多资料,但是还是想不通。
希望各位指定一二。。。
板子是44B0的,软件是ADS1.2
1.Jlink 调试程序的时候,那JIink能得到芯片中的数据,那这时候程序在什么地方运行的?是芯片的sdram中么?也就是说没在flash中。。(因为我调试后,关电源载开时发现没有程序运行。。。
在设置ARM_linker时候ro是0x0c000000,我在设置成0x0c008000照样能够正常调试,那就是说只要在SDRAM中就可以啦。。那怎么解释必须从0x0处执行程序?)
对了在Jlink调试时候,还必须对SDRAM初始化。。。那初始化不就是在SDRAM 中么?到底是先用SDRAM还是先初始化?那初始化SDRAM是在哪里进行的呢?
2.ARM上电后会在0x0处执行程序,不是应该是uboot的程序么?那为什么我把流水灯的程序用ARM_FLASH烧入FLASH的0x0后能够执行呢?我换了地址FLASH中的0x02000照样能够执行。。(这两个复位后仍可以执行) 这是为什么?uboot呢?难道说是我程序中的44b0.ini,vector.s ,sysini.s,这一系列就是uboot?生成的bin就有uboot?(这都是什么跟什么啊?好乱····)
3.bank0对应的是FLASH ,bank6,7是SDRAM,其他的bank是没有外接的是么?
4.ARM上电后不会默认复位寄存器的值,必须通过uboot来初始化值。。。对么???
问题比较多,因为实在比较混淆···看了很多但是还是很不解····希望大家能包涵···多多指点····
谢谢拉
再次谢谢
|