TI中文支持网
TI专业的中文技术问题搜集分享网站

QXD DM368怎么用CCS烧写应用程序?

我想用CCS4.0向DM368开发板烧写应用程序,模仿了烧写uboot的步骤:

1、在CCS里运行NANDWriter_DM36x.out;

2、输入UBL的路径:输入UBL_DM36x_NAND.bin的路径;

3、输入u-boot或者应用程序路径:输入video_loopback.bin路径;

4、输入入口点地址和load地址:输入0x81080000;

我生成video_loopback.bin的方法:hex470.exe ubl2bin.cmd

这里就有两个问题:

问题一:我生成video_loopback.bin文件的时候,有以下警告:

Translating to Binary format…
"video_loopback.out" ==> .text
warning: section video_loopback.out(.text) at 080h falls in unconfigured memory
(skipped)
"video_loopback.out" ==> .cinit
warning: section video_loopback.out(.cinit) at 087000ce8h falls in unconfigured
memory (skipped)
"video_loopback.out" ==> .const
warning: section video_loopback.out(.const) at 087000e98h falls in unconfigured
memory (skipped)

我用ultraedit打开生成的video_loopback.bin,发现里面内容全是0 。

ubl2bin.cmd文件内容如下:

video_loopback.out
-b
-image

/*-zero
-memwidth 8
-linkerfill
-fill 0x00000000
*/
-map video_loopback.map
ROMS
{
FLASH: org = 0x02000000, len=0x100000, romwidth=8, files={video_loopback.bin}
}

我的工程的cmd文件内容如下:

/*
* Copyright 2005 by Spectrum Digital Incorporated.
* All rights reserved. Property of Spectrum Digital Incorporated.
*/

/*
* Linker command file
*
*/

-l rts32e.lib
-l F:\QXD_DEMO\lib\evmdm365bsl.lib

-stack 0x00000800 /* Stack Size */
-heap 0x00000800 /* Heap Size */

EMIFStart = 0x02000000;
EMIFSize = 0x02000000;IRAMStart = 0x00000000;
IRAMSize = 0x00008000;

DRAMStart = 0x00010000;
DRAMSize = 0x00008000;
DDRStart = 0x80000000;
DDRSize = 0x10000000;

STACKStart = DRAMStart + DRAMSize;

MEMORY
{
VECS: o = 0x00000000 l = 0x00000080
IRAM: o = 0x00000080 l = 0x00007f80
DRAM: o = 0x00008000 l = 0x00004000
DDR2: o = 0x87000000 l = 0x01000000
}

SECTIONS
{
.bss > DDR2
.cinit > DDR2
.cio > DDR2
.const > DDR2
.stack > IRAM
.sysmem > DDR2
.text > IRAM
.ddr2 > DDR2
}

问题二:我用上面的方法用仿真器连接ccs和DM368开发板烧写程序,脱机运行是否可行?

Chris Meng:

你好,

video loopback使用了DDR,而ubl只能是DM36x芯片上的内存里面运行。

建议你使用ubl的工程,把video loopback挪过去。

feifei ji:

回复 Chris Meng:

谢谢!已解决

kooking:

回复 feifei ji:

可不可以分享一下ccs烧写app的过程

feifei ji:

回复 kooking:

就是用上面的方法,只是填写的入口地址是main函数的地址,这个在ccs下载过程序后可以看到(在map文件也可以找到),load地址就是cmd文件分配的段里用到的ddr的首地址

赞(0)
未经允许不得转载:TI中文支持网 » QXD DM368怎么用CCS烧写应用程序?
分享到: 更多 (0)