完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
14 个讨论
|
|
jiaolesu 发表于 2018-8-6 07:40 8个核的的.out文件在烧写到flash前,是否会先合并成一个.out文件?如果是,core0 boot 时,是否会将合并成的.out文件全部一次性的加载到core0内,然后再将其他核的代码和数据分别分发给其他的核? 如果是,c6678的bootload.asm和其他单核型号的DSP(比如C6455)的bootload.asm是否是一样的? |
|
|
|
|
|
|
|
wuyan637419 发表于 2018-8-6 07:47 这个与用户的具体实现相关。 所有out文件可以一次性烧到flash里面,然后加载;也可也只加载core0的out文件,然后启动core0后再通过主机与core0交互(主机将其余out文件信息发送给core0)完成对其余核out文件的加载。 bootload的代码应该基本是类似的,可能由于增加boot方式而增加了部分代码,但主体功能相同。 |
|
|
|
|
|
|
|
jiaolesu 发表于 2018-8-6 08:07 King Wang,您好: 我现在是想从flash启动,有以下几个问题: 1.您说的所有的out文件是指8个核的out文件合并后的out文件还是分别将每个核的out文件烧写到flash? 2.合并后的out文件的table格式是原来的单核的那种格式还是将8个out文件的table格式合并成一个了? 3.您说的只加载core0的out文件,然后启动core0后再通过主机与core0交互。您这里的主机是指什么?如果先加载core0,其他的核的启动信息存放在哪? 4.二级加载时,C6678 启动的时候,DMA控制器会去flash的起始地址拷贝多少的启动程序?c6455是1KB。 非常感谢! |
|
|
|
|
|
|
|
|
si cheng: 您好,很抱歉这么久才回复。 问题1和2是同一个问题:每一个out文件可以对应一个boot table,多核的多个boot table可以合成到一起(但是在cmd文件里面需要写物理地址)。这种合并的table还是一个table,你可以理解由于多个table的物理地址不同,多增加核只是增加table中对其他core的地址的赋值。 问题3:主机是指可以跟DSP通信的东西,比如Ethernet boot,需要主机向DSP发送Ethernet packet,SRIO boot时也需要主机向DSP发送SRIO packet. 先加载Core0,其他信息可以保存在主机里面。等到core0起来之后,可以通过正常通信的方法加载。 问题4:我在C6678的手册中没有找到,我还在询问其他同事,等到确定后我再给您答复,很抱歉! 谢谢! |
|
|
|
|
|
|
|
jiaolesu 发表于 2018-8-6 08:40 King Wang ,您好: 单核boot table表的格式:c_int00地址,第一个段的大小,第一个段的地址;第二个段的大小,第二个段的地址。。。 按照您的说法:由于多个table的物理地址不同,多增加核只是增加table中对其他core的地址的赋值。合并后的table 也就是将8个核的table分别存放到了不同的物理地址吗? 如果是,2级bootload程序最后跳转到的c_int00地址是哪个核的c_int00地址? 谢谢! |
|
|
|
|
|
|
|
wuyan637419 发表于 2018-8-6 08:46 si cheng: 首先,各个核的内存应该是不重叠的,这样就能把所有table叠加在一起; 其次,bootload都是在core0上执行的,所以跳转地址应该是core0的地址,然后通过core0将其余core触发。触发的方法就是可以是写其余core的MAGIC_ADDRESS,也可以通过IPC发送核间中断触发。 谢谢! |
|
|
|
|
|
|
|
jiaolesu 发表于 2018-8-6 09:04 King Wang ,您好: bootload将所有核的程序数据加载到各自核内后,core0是先写其他核的MAGIC_ADDRESS地址,让其他核先执行,然后在跳转到C_int00;还是先跳转到c_int00,进入main函数,再写其他核的MAGIC_ADDRESS地址触发其他核执行?这两种方式会导致每个核不是同一时刻启动。 谢谢! |
|
|
|
|
|
|
|
wuyan637419 发表于 2018-8-6 09:16 si cheng, 如果核0链接的是TI编译器的默认入口,就需要到main函数才可用起动别的核。 也可用将编译器入口源码boot.asm加入工程,修改从入口开始的汇编代码提前启动别的核。 你的理解没有问题,两种方法起动其他核时间稍有不同。 |
|
|
|
|
|
|
|
zbb9612 发表于 2018-8-6 09:51 您好,boot_magic_address 中存储的是应用程序的地址。比如boot的过程中需要将程序加载在L2 RAM中,请问,一般是从L2RAM开始的吗,如果不是,C6678_ROM_PG1代码中,在local reset过程中,开始执行应用程序的地址分别从L2RAM,MSMC和DDR3的首地址开始,这个如何解释,谢谢您。 |
|
|
|
|
|
|
|
zbb9612 发表于 2018-8-6 09:51 大家好, 我最近在尝试C6678的多核多工程烧写(core0、core1各一个工程,core2-7一个工程),采用二次引导。这个过程有两个问题: 1、多核烧写时,core1-7的程序由core0进行DMA搬移,目前是在各个核的L2上操作,即core0 boot后,将其他核的程序搬移到对应核的L2。这样一来,这些L2还能在应用程序里使用吗?目前至少需要用L2存放接收到的数据(基本用400KB左右),用于算法处理。尝试过,貌似不可以。 2、Boot时,core1-7核的搬移在secondbootspi工程里做还是在Core0的应用程序里做好?当前在secondbootspi工程里做过小程序测试,能启动正常。 另外,多工程的多核烧写,哪里有具体的资料不?目前感觉资料很乱啊。 谢谢。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1723浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:36 , Processed in 1.105988 second(s), Total 91, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3415