TIwilliam hill官网
直播中

张帆

7年用户 144经验值
私信 关注
[问答]

c6657启动问题

刚接触c6657不久,目前在学习启动问题,发现和以前的dsp有些不同,有几个问题想咨询一下。1. 我在设计硬件的时候,是否需要用i2c连接一个eeprom来修改boot parameter table里的值2. 如果我使用emac来启动dsp,希望修改mac地址,是不是要通过boot parameter table来进行修改3. 如果要用boot parameter table来修改启动参数,那么修改流程和启动流程是怎样的。比如我用emac口来启动dsp,是不是先要把启动方式改成i2c,使dsp读取eeprom中的值到l2指定地址,再硬件改为emac,那在不断电的前提下如何修改呢。谢谢回答

回帖(9)

李玉鑫

2018-6-21 00:24:03
Hi, 您好!
C66的启动较之前版本方便易用, 您通过配置BOOTMODE[12:0]管脚,bootloader就会完成boot过程
1. 如果您不用eeprom启动,不需要连接eeprom
2. 用EMAC启动的时候,是用芯片自带的MAC地址启动的。启动完成后,您可以修改芯片的MAC地址
    参见附件文档:3.5.2.2 Ethernet Boot Image Packet Format :
     A destination MAC address of this device (as specified in boot parameters) or the M-MAC specified in the boot parameters are accepted.
3.  修改启动参数是通过管脚BOOTMODE[12:0]的电平设置来实现的。 如果用EMAC启动, 不再需要先改成I2C。
更详细的EMAC 启动过程,您可以参考附件文档3.5节    3.5 Ethernet Bootloader Operation
 
谢谢!
   
举报

张帆

2018-6-21 00:33:54
引用: cd340823 发表于 2018-6-21 00:24
Hi, 您好!
C66的启动较之前版本方便易用, 您通过配置BOOTMODE[12:0]管脚,bootloader就会完成boot过程
1. 如果您不用eeprom启动,不需要连接eeprom

hi Kevin:
谢谢你的回复。但我还是有几点不清楚。
1. 是不是每个dsp都有唯一固定的mac地址,上电后可以通过MACID寄存器读出。如果在上电后、应用程序加载前希望修改本dsp的mac id(源mac id),该如何修改,是不是要另外在i2c上接一个eeprom
2. 如果我想通过emac口来启动dsp,而主机的程序下载到ddr3上,那么我该如何在上电后、应用程序加载前配置ddr3
3. 如果用emac来启动dsp,按照手册来配置硬件管脚,其中的3~5 域所描述的Device ID是什么意思
4. 我看了一下bootload的手册,好像跟您发我的不一样。上面描述了i2c的启动。好像使用i2c的启动方式来实现其他的所有启动方式(如srio,emac,spi等),好像是叫secondary stage bootloader 请问是这样的吗。如此的话就需要eeprom吧,您说的不用eeprom是不是RBL使用的都是缺省的 boot parameter table。 问题比较多,感谢回答
举报

李玉鑫

2018-6-21 00:52:34
引用: kylin2016 发表于 2018-6-21 00:33
hi Kevin:
谢谢你的回复。但我还是有几点不清楚。
1. 是不是每个dsp都有唯一固定的mac地址,上电后可以通过MACID寄存器读出。如果在上电后、应用程序加载前希望修改本dsp的mac id(源mac id),该如何修改,是不是要另外在i2c上接一个eeprom

Hi, 您好!
1. 是的, 每个dsp都有唯一固定的mac地址。您应该比较熟悉C64x+的启动, 在C64x+上您可以接eeprom去改MAC地址
在C66上, RBL初始化完成后会发Ethernet-Ready Announcement报文,其中包含了C66的原始MAC地址, 您的host端(PC/MCU)收到该报文后,就知道应该在boot image报文里填哪个目的MAC (该目的MAC是C66的原始MAC地址)
这样您host端的程序是可以通用于启动任意多个C6657的。 您方便介绍一下希望加载前修改本dsp mac id的原因是什么么?
2. 您需要做一个简单的二级boot, 从emac口过来的boot image里的代码先执行DDR3初始化, 然后把真正的image拷贝到DDR3并跳转到DDR3  
3. Device ID可以用来标识DSP, 比如您有多个C6657, 想要加载不同的 image, 您可以将多个C6657设置成不同的Device ID, host端根据Device ID发送不同的boot image. 您也可以用Device ID做身份验证, 验证Ethernet-Ready Announcement报文是从您的C6657发送出来的
4. RBL根据缺省boot parameter table和您在BOOTMODE[12:0]的设置启动。 我发的bootloader是C6657手册提供的链接提供的, 您可以看一下您的bootloader手册适用于哪个型号的芯片
谢谢!
 
举报

张帆

2018-6-21 01:11:42
引用: cd340823 发表于 2018-6-21 00:52
Hi, 您好!
1. 是的, 每个dsp都有唯一固定的mac地址。您应该比较熟悉C64x+的启动, 在C64x+上您可以接eeprom去改MAC地址
在C66上, RBL初始化完成后会发Ethernet-Ready Announcement报文,其中包含了C66的原始MAC地址, 您的host端(PC/MCU)收到该报文后,就知道应该在boot image报文里填哪个目的MAC (该目的MAC是C66的 ...

hi kevin您好,我想问问,您说当我以emac方式启动时,当c66上电后,RBL初始化完成后,会跟主机发送一个Ethernet-Ready Announcement,这个包里面包含了本dsp的mac id。那是不是我在开发板上,把拨码开关拨为emac启动(sw3: off on off on on on on off,sw5: on off on on on on on on),则可以通过pc机上的抓包工具获取ethernet-ready announcement 包,从而提取c6657的mac ID。我这么做了,但没有获取到。请问为什么。谢谢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分