完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
您好!
麻烦请教一下如下的几个关于bootloader的问题: 1.boot rom已经给出了源代码,但是我想问boot rom里的程序是否可以我们自己修改? 2. 我可不可以把boot rom理解成一个rom,是有core 0去读取里面的程序来完成RBL的所有功能? 3. host mode下,知道地址的情况,我们还需要做参数表等操作么,是不是直接把程序下载到core的l2上就可以了? 4.hex等文件有源代码可以看么?.out文件中本来就包含有段信息,hex做了哪些修改? 5.core1-core7的核一开始就处于IDLE状态么?是不是受到中断后就跳转到boot magic的地址的上去了?这个跳转是水区引导的呢? 问题有些多,但是都是原理性问题,我也是做好了boot后产生的一些疑问,麻烦Andy和大家了! |
|
相关推荐
7个回答
|
|
还有就是是不是只有Corepac 0需要在L2预留空间,其他核需要么?
|
|
|
|
1. RBL(Rom Bootloader)不能自己修改,如果想自己在boot的时候添加功能,应考虑用IBL(MCSDK里有例子);
2. RBL就是一段代码,CORE 0读取它并执行; 3. 主机下载后,需要写core 0的magic address启动; 4. hex去除了.out文件的多余信息,保留执行码等并形成boot able,无源代码; 5.core1-7为IDLE,core 0启动后,写每个core的magic address,并发给每一个core一个IPC中断启动它,该IPC中断不需要在代码里响应; 6. 视使用的boot mode 不同,需保留每个核高位的一部分,比如以太网启动,需保留每个核上的(0x0087 2DC0 ~ 0x0087 FFFF),EMIF16启动不用保留因为它是直接从NOR启动的。 |
|
|
|
您好
Allen就你的问题给出了很详细的解答,如果想详细了解RBL加载的工作流程,建议可以花点时间看看RBL 源码。 RBL 源码链接:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/6352.aspx |
|
|
|
hdfsf 发表于 2018-6-21 09:48 谢谢Allen核Andy的答复! 大部分我都能理解了,还有一点小问题希望能在深入点。 3. boot table中有每个核的c_int00信息,已知地址方式是如您所说,UG上说EMAC方式下是RBL直接跳转c_int00,就不用拷贝了。我觉得RBL在copy镜像文件时,有识别c_int00然后把它放到每个核单独的一个寄存器的功能(不好意思我没查到这一点的RBL代码),这正确么? 5.不需要再代码里响应是什么意思?您的意思是不需要写中断服务程序么?我理解受到中断后,其他核就会跳转到自己的magic address,我想问这是哪个模块执行的这个跳转。 6. core 0的保留区上有说明,有很多是用来RBL的栈,那其他核不用跑RBL,core1-7是不是指需要留出最后一个字magic地址空间便可以。 谢谢您! |
|
|
|
kingnet_52003 发表于 2018-6-21 10:11 Boottable里只有core 0的c_int00, RBL只唤醒core 0, 其它core是靠core 0唤醒的,也就是说在合并boottable的时候要去掉其它core 的入口地址; 不需要响应此IPC中断,RBL执行了这次跳转; 不是,文档里明确提出要所有的核都保留这些内存,不仅仅是magic address The RBL reserves a portion of the L2 in all the cores in the device to perform the boot process. The start address, size, and the definition of the sections reserved are listed in the device-specific data manuals. |
|
|
|
hdfsf 发表于 2018-6-21 10:30 1. 目前我用的第三方公司做的设备 EMAC下启动可以实现 但是我确实在0核没有写入c_int00地址 而是靠Core1-7自己从core0 拷贝到L2 的boot table中寻找。 按您的说法,如果工具链是一样的工具链的话(mergtbl。exe一样的话),去掉了其他核的入口地址表不可能实现boot。 目前我看不到这个exe文件的源码,所以我不知道在这个问题上该怎么理解? 2. 谢谢,这个问题差不多理解了,我估计core 0的RBL 使用全局地址让其他core跳转这个指令的,之前没看明白; 3. 这句话我在文档中也看见了,但是没有找到其他文档有具体的解释,我这边继续试验一下,看在保留区域写入无效数据会出现什么情况。 很感谢Allen的指导! |
|
|
|
kingnet_52003 发表于 2018-6-21 10:35 防止沉贴,自顶一楼! |
|
|
|
只有小组成员才能发言,加入小组>>
350 浏览 1 评论
544 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
789 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
79浏览 29评论
276浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
68浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 10:22 , Processed in 1.533241 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号