This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

【多核·启动】目前使用6657,想通过TFTP完成多核启动~



各位大大们~~

我的板子是6657,使用IBL实现了OUT(ELF)文件在TFTP的方式下启动成功;

1)不知道能不能把两个OUT文件合并,完成多核的启动;

2)我看到IBL中有一种BTBL的文件格式,可是我用Hex6x.exe生成的btbl文件不能正确引导。错误现象:不停地访问TFTP服务器下载该映像文件。

以上两个问题,在此先谢谢啦~

  • 我试过RBL的方式 根据SPI的启动方法可以制作BTBL的启动,但是IBL的TFTP方式怎么测都只能单核ELF跑起来~

  • 经过几天的尝试,终于使用BTBL方式加载成功;

    首先,改动IBL的启动文件为BTBL文件方式;


    单核使用Hex6x工具加载rmd文件时

    修改 rmd 中的参数:将 -a 改为 -b

    然后再放入TFTP服务器成功;


    既然单核BTBL文件的方式可以加载,相信双核也没有问题;

    同理也可以推广应用与 IBL启动的双核Nor 和 NAND的方式;

  • 双核测试通过:

    新建一个BAT:

    @echo 正在生成 IBL_BTBL.btbl
    @echo.
    Tools\hex6x cfg\IBL_BTBL_0.rmd
    @echo.
    Tools\hex6x cfg\IBL_BTBL_1.rmd
    Tools\mergebtbl Temp\IBL_BTBL_0.btbl Temp\IBL_BTBL_1.btbl Temp\IBL_BTBL.btbl
    @echo [完成]
    @echo.

    @echo 正在生成 ibl_btbl_app.bin
    Tools\TBL_A2B Temp\IBL_BTBL.btbl Output\ibl_btbl_app.bin
    @echo [完成]
    @echo.

    这里的TBL_A2B工具是我自己写的小程序,是将ASC编码转化为二进制的文件。

    我放在附件里面~ 有需要的拿去试试吧~

    TBL_A2B.zip
  • 您好 ,您这里面的IBL_BTBL_0.rmd和IBL_BTBL_1.rmd 里面的也是-b选项吗?

    对于hex6x并没有-b这个选项啊。

    我实际测试了下,发现如果用-b,那么我使用mergebtbl合并多个btbl的时候,发现最后生成的IBL_BTBL.btbl是个很小的文件,肯定不正确,使用这个IBL_BTBL.btbl,再使用您这个TBL_A2B工具转换生成的bin文件大小是0。

    还请指导指导下,谢谢了!

    附件是我3个core的简单的out文件。

    boot_multi.7z
  • 多核需要使用mergebtbl工具 rmd文件不能使用 -b这个参数;

    单核程序可以直接使用 -b 参数生成 BTBL 引导~

  • 您这个工具TBL_A2B对大小端有要求吗?

    我使用的是-a参数 ,然后用mergebtbl合并了,使用您这个TBL_A2B工具生成的bin文件,ibl里面也将启动文件格式改为btbl,但是ibl一直从tftp读取这个bin文件,不知道原因是啥。

  • 你好 xiaozhang zhang;

    我试过小端,大端还没有试过~

    另外最好,修改IBL的源代码中的参数,然后从新编译IBL。我尝试官方修改IBL参数的方法没有成功~

    对了 参数中记得把BOOTP给关掉~ 并且设置正确IP地址 应该就没有问题了~~

     

    PS:你串口打印的 IBL:....之类的信息 是不是跳的很快~~ 如果是 那就重写IBL~

  • 您好,我也遇到了ibl反复从服务器下载文件,无法正常运行的问题,我使用单核的时候会出现反复下载,多核使用您说的方法后会下载失败,请问应该怎样解决呢?
  • 您好,我也遇到了ibl反复从服务器下载文件,无法正常运行的问题,我使用单核的时候会出现反复下载,多核使用这篇文章的方法后会下载失败,不知您解决您的问题了没有