zxw_linux 发表于 2014-3-28 10:34

F2812内部flash烧写问题



想把程序烧写到内部flash中,可是在编译的时候有个警告,看不太懂,希望懂的大侠可以不吝指点一下

wangch_sh 发表于 2014-3-28 14:41

能运行吗?你双击一下警告,看出现在哪一行。貌似跟CMD文件有关。

zxw_linux 发表于 2014-3-28 15:23

wangch_sh 发表于 2014-3-28 14:41 static/image/common/back.gif
能运行吗?你双击一下警告,看出现在哪一行。貌似跟CMD文件有关。

能写到FLASH,但是无法运行,不知道是CMD文件的问题还是.LIB库的问题,刚接触,还不太懂

zhangmangui 发表于 2014-3-28 23:25

感觉像是.cmd的段分配有问题
你换个cmd再试试吧

用户名忘了 发表于 2014-3-29 21:59

出现问题很正常,以前我第一次烧写的时候也发现了许多问题。
    dsp的flash烧写比较麻烦,有时候光换cmd文件并不能保证程序在flash中正确运行。而且就算能正确运行,程序在flash中运行的速度比ram中要慢很多。这对实时性和通讯影响都非常大。一般都要编写启动代码,让烧写在flash中的程序,在启动的时候搬到ram中运行。这样速度会提高很多。我这里直接将启动代码和相关的flash中给你附上。你要做的就是:
    1.将库文件换成我给你的库文件
    2.启动代码用汇编编的,将启动代码添加的你的工程中。
    3.将原来的flash文件替换为我给你的这两个flash
最后你的工程应该是这样的,这里以ccs5.5为例:

所有选中的文件都要添加。
文件在附件中


zxw_linux 发表于 2014-3-31 10:12

用户名忘了 发表于 2014-3-29 21:59 static/image/common/back.gif
出现问题很正常,以前我第一次烧写的时候也发现了许多问题。
    dsp的flash烧写比较麻烦,有时候光换cmd文 ...

谢谢“用户名忘了”,我用这个方法下到flash上,程序可以运行了,只是在编译的时候有个警告是:creating output section ".bss" without a SECTIONS specification,是不是.bss段没有定义?

用户名忘了 发表于 2014-3-31 10:26

zxw_linux 发表于 2014-3-31 10:12 static/image/common/back.gif
谢谢“用户名忘了”,我用这个方法下到flash上,程序可以运行了,只是在编译的时候有个警告是:creating...

这个waring是说你创建了.bss段但是没有给他分配地址空间,这时编译器会自动的给他分配一个空间。分配原则是空间最小且能放下该段的一个空间。你定义一个空间将段放进去就行了。下面是我在ti网站上找的一个解决方案。他这个是以.data段为例
This means the linker may have placed the .data section in the wrong location in memory, which could cause a crash - see Should linker warning #10247-D really be an error for more information.
To resolve this you need to add the .data section to the linker command .cmd file in the project as:

SECTIONS
{
    .bss : {} > RAM /* GLOBAL & STATIC VARS */
    .data : {} > RAM /* GLOBAL & STATIC VARS */
    .sysmem : {} > RAM /* DYNAMIC MEMORY ALLOCATION AREA */
    .stack : {} > RAM (HIGH) /* SOFTWARE SYSTEM STACK */

WYT440 发表于 2014-3-31 14:14

用户名忘了 发表于 2014-3-31 10:26 static/image/common/back.gif
这个waring是说你创建了.bss段但是没有给他分配地址空间,这时编译器会自动的给他分配一个空间。分配原则 ...

很厉害,学到很多东西,谢谢!
页: [1]
查看完整版本: F2812内部flash烧写问题