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.

OMAPL138自举启动

Other Parts Discussed in Thread: OMAP-L138

现有问题向大家求解:

裸板OMAPL138的ARM端代码是arm_demo1.out很大几百KB,DSP端代码是dsp_demo1.out。也是几百KB,之前一直是使用560或510的仿真器调试的,都是正确的代码,arm与dsp会用到ddr、shared ram、local ram等内存;

现在下载到norflash中自举启动,需要做哪些步骤?

arm与dsp端的代码是不是需要添加修改什么东西,每次自动启动时,是否有代码搬移,这些搬移是自动的吗?最大搬移多少?我的代码是否超出范围,如果超出范围,那么自己是否还要书写二次引导的代码?

求步骤,求资料,求教程、求解析,

邮箱:1245715504@qq.com

  • 参考置顶贴,从第29页开始的部分。

  • 谢谢你的答复,我看到了相关文档,

    但是现在有问题,我写了个简单的OMAPL138的arm端灯闪烁代码arm_led.out,仿真器已测正确,我使用aisgen工具转换为arm_led.bin,然后自己写了其他的小程序,将该.bin转换为ccs3中可以使用.dat,我将这个.data下载到ddr内,再通过自己的norflash代码写到Norflash地址0x60000000处,这个写入是好的,我将数据又提取出来对比,是无误的,然后断电norflash启动就是不行。

    这个操作流程对吗?

    arm_led.out-->arm_led.bin-->arm_led.dat-->norflash的0x60000000内-->norflash启动

    .out到.bin的用aisgen就可以了吗,源代码需不需要再做特殊处理?

  • 刚才又测试了,代码norflash启动后,我用仿真器连接看看内存和寄存器的值状态,现在发现PC寄存器的值在0xFFFF0000,一直在这个复位状态,使用仿真器看norflash启动的代码这种方式对吗?

    如果这种方式对,为什么pc指针一直在0xFFFF0000上,不应该norflash一启动,arm的RBL判断0x60000000的第一个字,然后开始依次解析ais格式文件吗,最后再进入一个入口地址,之后正常运行代码吗?

  • 坦白来说:

    #1. TI提供了AISGEN工具将.out转成AIS格式的bin.

    #2. TI提供了CCS的烧写工具,也提供了从串口烧写的工具。

    为什么你还要转成.dat,再用自己的烧写工具?建议先用TI提供的工具把流程走通。

     

  • 谢谢你之前的帮助,我的问题已经解决了,

    在Norflash启动的时候,使用aisgen对norflash设置时,只提供了2项设置:1个bit模式选择,1个CS2的起始地址;

    对于norflash一般没有额外的clock需要设置,但是cs2选择片外内存的时序参数需要设置后,norflash才能正常读取数据,也就是CE2CFG寄存器需要根据norflash手册设置,根据文档“sprab41c(Using_the_OMAP-L1x8_Bootloader).pdf”,分析aisgen转换后的bin文件,找到:

    0x5853590D
    0x00050005
    0x60000000

    将0x60000000(即CE2CFG寄存器值)修改为norflash手册上的配置即可。

    我使用的电路板的启动方式已经固定焊死为norflash启动,所以无法串口启动,所以使用TI提供的串口烧写工具在连接上有点问题,这我也很郁闷,所以我现在使用自己的这种方式或者使用OMAP-L138_FlashAndBootUtils_2_40中提供的norwrite工程。再次感谢你之前的帮助。

  • 这个是怎么设置的,是待烧写工程需要修改这些寄存器的值,还是nor_write工程需要修改,感觉没有找到0X00050005,希望你有时间可以回答一下。

  • NOR是异步接口,寄存器的默认时序是按最慢的时序,可以工作,只是速度慢,所以这个问题与CEnCFG的时序设置没有关系。

    hu zhu 说:
    感觉没有找到0X00050005

    说的是啥?