TI论坛
直播中

李英灿

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

请教关于EMAC二次加载的问题

由于我的代码比较大,需要存在DDR中,我的做法是先写个小程序,初始化DDR,初始化完成后我再通过修改DEVSTAT将引导模式修改为EMAC引导,再跳转到BOOT 程序程序出执行EMAC引导。我成功将引导模式修改为EMAC引导(DEVSTAT的值与我用拨码开关设置为EMAC引导模式时候的值一样),完成后程序跳转地址为0x20b00008(我也试过0x20b00000),现在遇到的问题是,我用wireshark抓不到bootp包。
(1)是我设置的跳转地址错了吗?
(2)如果用软件修改引导模式,只修改DEVSTAT,不做其他操作时正确的做法吗?

回帖(9)

石正厚

2018-7-24 08:54:21
http://www.deyisupport.com/question_answer/f/32/t/17848.aspx
举报

李英灿

2018-7-24 09:11:03
引用: 卿小知1 发表于 2018-7-24 08:54
http://www.deyisupport.com/question_answer/f/32/t/17848.aspx

楼上的是不是TI的工程师啊?
有没有TI的专家帮我解答一下啊。
举报

杨娟

2018-7-24 09:29:29
你的这个初始化DDR的小程序是如何加载运行起来的?你这样做RBL应该是不会再去读DEVSTAT,所以也就不会进入EMAC boot分支。
我的建议是:
1. 只采用EMAC boot:在EMAC boot起来后,首先将一段DDR初始化的小程序加载到DSP运行,在等待一段时间完成DDR初始化后,再向DDR发送接下来运行的程序;
2. 采用二级加载:首先在I2C mast boot执行DDR初始化加载程序,然后跳转到EMAC boot,参考附件的例子。
建议可以先采用方法1进行测试,相对简单点。
                                                                          

举报

李英灿

2018-7-24 09:46:51
引用: zbb9612 发表于 2018-7-24 09:29
你的这个初始化DDR的小程序是如何加载运行起来的?你这样做RBL应该是不会再去读DEVSTAT,所以也就不会进入EMAC boot分支。
我的建议是:
1. 只采用EMAC boot:在EMAC boot起来后,首先将一段DDR初始化的小程序加载到DSP运行,在等待一段时间完成DDR初始化后,再向DDR发送接下来运行的程序;

Andy 你好,我用你建议的第一种方式进行了调试,我先写了一个程序,用网口下载到DSP中,程序运行起来了(我用串口能够打印出信息)。但是这个时候我继续加载另一个程序时,再次加载的程序就不能运行了。这是什么原因啊?
举报

更多回帖

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