嵌入式开发者社区

标题: TMS320C6678多核启动求助 [打印本页]

作者: weibo1988821    时间: 2017-3-14 14:44
标题: TMS320C6678多核启动求助
最近在使用创龙的6678开发板,开发板支持IBL-NAND IBL-NOR SPI-NOR的启动方式。现阶段通过以前开发的经历,使用基于STK的裸机程序,使用工具链能够完成SPI-NOR的8核程序合并并启动,能够完成IBL下的单核app.bin程序直接烧写,现在在做IBL下的多核烧写。


参考的是创龙例程中1.7的MAD工具多核烧写范例:
第一步,首先完成软件环境搭建,更改.out文件路径,能够利用工具编译生成所需的.bin文件。
deployment_C6678_bypass_prelink.json文件写法如下
{
        "deviceName" : "C6678",
       
        "partitions" : [
                {
                        "name"           : "ddr-code",
                        "vaddr"          : "0x9e000000",
                        "size"           : "0x1000000",
                        "loadPartition"  : true
                }
        ],
       
        "applications" : [
                {
                        "name"                         : "app1",
                        "fileName"       : "./App/Core0.out",
                        "allowedCores"   : [0]
                },
                                {
                        "name"                         : "app2",
                        "fileName"       : "./App/Core1.out",
                        "allowedCores"   : [0,1,2,3,4,5,6,7]
                }
        ],
       
        "appDeployment" : [
                "app1",
                "app2",
                "app2",
                "app2",
                "app2",
                "app2",
                "app2",
                "app2"
        ]
}


第二步,利用创龙提供的gel文件对EEPROM中的IBL进行配置,配置应该是成功了,从串口能够接到IBL启动信息:
IBL version: 1.0.0.17 B02
This custom version IBL only applies to Guangzhou Tronlong's DSP Development Kit
Due to the lack of FPGA.
IBL: Booting from NAND

第三步,烧写app.bin文件,和单核烧写过程是相同的,烧写本身没有问题,但是断电重启后程序运行效果不对。

我是采用裸机程序,利用Core0点亮核心板LED并闪烁,cmd中已经避开IBL起始阶段需要占用的L2空间,地址采用全局地址0x1x800000。其余核空跑,现在没有看到运行效果,也按照文档要求在0x9e000000导入数据,并利用PC指针进行运行,同样没有效果,而单独运行程序是正常的。并且经过上述第二步后,直接将.out改为.bin烧写进入也不好使了,只能将开发板恢复出厂设置后,烧写.bin才好使。


请问是不是创龙光盘中提供的IBL更改的gel文件有问题?不直接支持裸机程序的启动?还是我的MAD工具链的写法出现了问题?

谢谢!

作者: 希望缄默    时间: 2017-3-14 14:48
应该是没有问题的哦
建议可以先用 CCS 测试一下启动镜像是不是正确 启动镜像是 RAMFS 格式的
请按如下步骤
1、使用 CCS Load Memory 加载生成的二进制镜像文件到 DDR3 0x9E000000 起始地址
2、在 Register 窗口修改 PC 指针为 0x9E001040
3、点击绿色运行按钮运行 观察程序运行情况
如果正常 说明生成的镜像没有问题 可能是 IBL 配置问题
作者: weibo1988821    时间: 2017-3-14 15:11
希望缄默 发表于 2017-3-14 14:48
应该是没有问题的哦
建议可以先用 CCS 测试一下启动镜像是不是正确 启动镜像是 RAMFS 格式的
请按如下步骤

感谢您的回复,尝试过加载到0x9E000000地址,并且程序指针跳转到0x9e001040运行,并没有出现预计的运行效果,是不是可以认为是生成的镜像有问题?
原本的程序单独仿真器运行没有问题,回复出厂设置后直接改为.bin烧写进入能够正常运行,按照文档说的,更改了IBL配置后,再烧写同样的.bin就不对了,所以是不是提供的IBL配置的gel有问题?
作者: weibo1988821    时间: 2017-3-14 16:37
希望缄默 发表于 2017-3-14 14:48
应该是没有问题的哦
建议可以先用 CCS 测试一下启动镜像是不是正确 启动镜像是 RAMFS 格式的
请按如下步骤

刚刚又进行了进一步的测试,发现将使用光盘中原有的\demo\HostApp\HostApp\MultiCoreBoot\Image Create\images目录下的C6678-le.bin拷贝出来,改名app.bin,不论是在0x9e001040处执行,还是烧写进入FLASH后再启动,都是可以正常运行的。然而如果将该文件删去,把MultiCoreBoot文件夹烤出至英文路径下,重新更改编译器Build.bat批处理文件中的编译器路径,能够生成新的C6678-le.bin,并且文件大小相同,但是将该文件直接运行或者烧写,是不能够正常运行的。
如此,是否可以判断问题是出在了镜像文件的生成这一步?我全部用的都是创龙提供的工具,请问问题大概出现在什么地方呢?谢谢!
作者: 希望缄默    时间: 2017-3-14 16:57
weibo1988821 发表于 2017-3-14 16:37
刚刚又进行了进一步的测试,发现将使用光盘中原有的\demo\HostApp\HostApp\MultiCoreBoot\Image Create\i ...

如果是这样就是生成的镜像有问题
作者: 希望缄默    时间: 2017-3-14 16:58
weibo1988821 发表于 2017-3-14 16:37
刚刚又进行了进一步的测试,发现将使用光盘中原有的\demo\HostApp\HostApp\MultiCoreBoot\Image Create\i ...

生成镜像过程有没有报错什么的?
把转换过程中的输出信息发上来看下吧
作者: weibo1988821    时间: 2017-3-14 17:03
希望缄默 发表于 2017-3-14 16:58
生成镜像过程有没有报错什么的?
把转换过程中的输出信息发上来看下吧

生成过程没有报错,而且能够正常生成.bin文件,我在批处理文件最后加了一句pause,方便截图
@set PATH="C:\ti\ccsv5\tools\compiler\c6000_7.4.4\bin";E:\Python27;%PATH%

python maptool.py Config\maptoolCfg_C6678_bypass_prelink.json bypass-prelink

@rd /s /q tmp
pause
图片在下边贴出
作者: weibo1988821    时间: 2017-3-14 17:04
贴图
作者: 希望缄默    时间: 2017-3-15 08:41
weibo1988821 发表于 2017-3-14 17:04
贴图

看起来没有什么问题........
作者: weibo1988821    时间: 2017-3-15 09:03
希望缄默 发表于 2017-3-15 08:41
看起来没有什么问题........

是的啊,生成步骤完全按照创龙的操作过程,.out文件用的也是光盘中提供的,只是按照步骤重新生成了一遍,生成的东西就是不好用的,很奇怪啊。会不会是创龙编译出的MAD工具有问题?
作者: weibo1988821    时间: 2017-3-15 09:40
希望缄默 发表于 2017-3-15 08:41
看起来没有什么问题........

另外,我也试过利用不同的电脑,不同的编译器版本进行编译,都能够生成.bin文件,但是运行结果都是不对的。请问你们的光盘中的.bin文件是利用同级目录下的工具生成的吗?直接利用该.bin文件就可以正常运行,重新生成就不正常,可不可以把问题定位在MAD工具上呢?我这边已经多台电脑验证过了,都不好使,你们那边能否帮我验证一下?谢谢!
作者: 希望缄默    时间: 2017-3-15 20:49
weibo1988821 发表于 2017-3-15 09:03
是的啊,生成步骤完全按照创龙的操作过程,.out文件用的也是光盘中提供的,只是按照步骤重新生成了一遍, ...

MAD 工具没有重新编译 使用的就是 TI 提供的
作者: 希望缄默    时间: 2017-3-15 20:50
weibo1988821 发表于 2017-3-15 09:40
另外,我也试过利用不同的电脑,不同的编译器版本进行编译,都能够生成.bin文件,但是运行结果都是不对的 ...

是这边测试通过的才会放到光盘的 明天我们测试一下吧
作者: weibo1988821    时间: 2017-3-16 08:07
希望缄默 发表于 2017-3-15 20:50
是这边测试通过的才会放到光盘的 明天我们测试一下吧

我这边反复测试过,都不行,麻烦你们测试一下吧,谢谢!
作者: ljh201131190518    时间: 2017-3-16 10:06
[attach]2072[/attach]
2月份因客户疑问测试了一次此程序,可行。
今天再次测试,可行。截图如下。或者可加我QQ,我将镜像文件发给您。
此外,可以尝试下通过恢复下出厂设置,再重新烧写。
[attach]2073[/attach]
作者: weibo1988821    时间: 2017-3-16 10:24
ljh201131190518 发表于 2017-3-16 10:06
2月份因客户疑问测试了一次此程序,可行。
今天再次测试,可行。截图如下。或者可加我QQ,我将镜像文件发 ...

您是创龙哪位工程师?我在QQ群中,QQ号814653628




欢迎光临 嵌入式开发者社区 (https://51ele.net/) Powered by Discuz! X3.4