TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335x的启动问题,坐等高手科普!

手上有一块beaglebone的板子,也做了一些实验,这是前言

现在我的需求是,希望能从NOR Flash启动AM335x,当然beaglebone是无能为力了。

根据TRM上所述,有两种方式,一个是MEM启动选择XIP方式,还有一种是FEB(快速外部启动)。

然后问题就来了!

如果用MEM启动,根据TRM上说的,Boot ROM的引导程序会从GPMC的CS0的地址0x08000000地址执行,又说在Boot过程中只有地址线A0~A11有效(26.1.7.2.2),这怎么解释,是不是启动过程中有地址线屏蔽???


果选择外部快速启动(fast external
booting),TRM上出现了两个地址,GPMC的CS0地址0x00000000(26.1.6.1)和图表中出现的
0x08000000(Figure26-7),难以理解。另外如果选择这种模式启动,是不是意味着启动过程中DDR,PLL等初始化都得用户完成,等于
是抛弃了Boot ROM内的初始化过程???

坐等高手科普讲解,小弟不胜感激涕零!!!

Yaoming Qin:

1. 你说的0x8000000,和地址线,一个是memory map,一个是寻址空间。谈不上地址线屏蔽,只是寻址空间有限。

2. 一个是最开始执行的地址,而另一个是rom code执行完后跳到的一个地址。 系统所需要做ddr,pll的配置,ddr的配置在spl中进行,pll的部分配置在spl进行,部分在uboot中进行。我建议你搞个linux玩玩,不要只看文档

Y tck:

回复 Yaoming Qin:

非常感谢你的回答,让我受益匪浅。

现在还只有beaglebone的板子,正在前期评测,准备自己画板子的,所以一些实践的调试工作还没法进行。

根据你的意思,是不是说:如果是MEM启动,虽然CPU从0x08000000处执行,但是实际因为启动过程中高位的地址线没办法被驱动,还是在外设的寻址空间0x00000000中执行。

对于Fast external booting,你说的‘’最开始执行的地址‘’是什么概念,是在rom code执行之前吗?

谢谢!

Yaoming Qin:

回复 Y tck:

我的理解是ARM core会有一个入口地址,大概也是放中断向量表的地方,然后同个这个地方的跳转指令跳到romcode中运行,你可以多看看ARM core的启动的文档,如果有兴趣的话,不过没什么必要花很多时间在这个地方,因为这里的rom code是不公开,会配置就行了

yuanqi li:

回复 Yaoming Qin:

想问一下,那就是说在memory boot模式中,是无法使用NOR flash 启动的 是么?我可以这么理解么?

Y tck:

回复 Yaoming Qin:

明兄说的对,其实这不需要太多关注,好吧再最后一个问题,我应该把启动代码烧到FLASH的地址0x00000000还是0x08000000?

我看到了ICE版本里面原理图的连接方式,地址线从0到15,20到23,中间跳开了几根。

谢谢

Y tck:

回复 yuanqi li:

可以从NOR FLASH启动,你可以参考一下TI的ICE版本

赞(0)
未经允许不得转载:TI中文支持网 » AM335x的启动问题,坐等高手科普!
分享到: 更多 (0)