我看了很多遍 置顶帖 “关于boot总结” 还是有一些问题不明白~
现在的情况是 ARM 跑LINUX
DSP 无系统~
我想在 LINUX 下写个驱动,用于加载无系统的DSP程序
1、CCS 编译生成的 .out 需要再做什么处理么?我看文档有提到要生成 boot table形式?
2、我可以直接把 .out文件加载到内存 比如 DSP L2 RAM里,然后设置HOST1寄存器,最后复位DSP来启动么?
3、CCS 的在线仿真是怎么运行这个 .out文件的啊?
4、对于OMAPL138可不可以只使用DSP呢?
5、我等的.out文件怎么有278KB大呢?这超过了 DSP L2 RAM 那怎么加载运行啊?
Denny%20Yang99373:
1,可以把.out文件直接解析然后放到对应的内存里。
2,可以
3,可以通过CCS JTAG连上DSP,然后加载.OUT并运行,也可以通过ARM加载运行DSP的程序,通过CCS JTAG链接调试
4,可以通过ARM加载运行DSP后把ARM关掉
5,可以考虑把部分代码放SHARE RAM或者DDR
bin Wang:
回复 Denny%20Yang99373:
谢谢您的回答~
1、直接解析?怎么讲 我可以把 .out 文件 不做任何修改 直接从 NAND FLASH 复制到内存就可以了?
wei lee1:
回复 Denny%20Yang99373:
关于第五个问题:
#5:我发现了一个奇怪的问题,我的工程(使用了DSP/BIOS)生成的.out文件有363K,所有的段都映射到了L2 RAM,而L2 RAM只有256K,令我匪夷所思的是,程序竟然能正常跑起来。
bin Wang:
回复 wei lee1:
我的也是300多KB
用CCS就可以运行
但是不知道怎么脱离开发环境独立运行
Denny%20Yang99373:
回复 bin Wang:
不要做修改,但是需要解析一下.out的文件格式并复制到指定内存,可以参考附件。
Denny%20Yang99373:
回复 wei lee1:
可能是.out文件里面有一些符号信息,真正的内存需求没有那么大
bin Wang:
回复 Denny%20Yang99373:
嗯 是呢 我看了 map文件 占用的空间没有那么大~
bin Wang:
回复 Denny%20Yang99373:
我可以这样理解么?
就是按照map文件 把相应的段加载到相应的内存地址,不需要把整个.out一次性加载到内存,是么?
james shang:
回复 Denny%20Yang99373:
Hi Denny,
关于dsploader.c,
1)能否跑在OMAP-L138上?
2)能否把dsploader.h也发出来?我编译试试。
3)我看到文件用到 /dev/dsp_mailbox ,这个设备可以用在 omap-l138 上吗? linux 如何配置的。
非常感谢!
James
TI中文支持网


