日历

快速登陆

新发表

新评论

新留言

BLOG信息

链接收藏


C程序的代码和数据如何定位(转载)

1,系统定义:  
 .cinit 存放C程序中的变量初值和常量;
 .const 存放C程序中的字符常量、浮点常量和用const声明的常量;
 .switch 存放C程序中switch语句的跳针表;
 .text 存放C程序的代码;
 .bss 为C程序中的全局和静态变量保留存储空间;
 .far 为C程序中用far声明的全局和静态变量保留空间;
 .stack 为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;
 .sysmem 用于C程序中malloc、calloc和realloc函数动态分配存储空间。
……
2006-12-2 15:03:00

Posted by titan | 阅读全文 | 回复 | 引用通告

blackfin视频开发--代码优化(一)

 移植搞好了以后,就可以进行优化了,优化是一个长期的,枯燥的,但很有挑战性的工作。做优化,你要熟悉blackfin的汇编指令,熟悉H.264标准,熟悉你所移植的代码结构,在优化过程中,的确是很枯燥的,需要你很有耐性,经常会因为一个小小的错误,让你跟踪几天甚至几星期,但是,当你看到随着你工作的不断进展,程序需要的cycle数越来越少,还是很有成就感的。


……
2006-8-7 19:11:00

Posted by titan | 阅读全文 | 回复 | 引用通告

H.264视频开发---代码移植(下)

    代码可以编译了以后,你可以尝试着运行,一般情况下,都会出错,并且,链接都会有问题,所以,还需要进行一下工作。

1. 配置LDF文件。因为刚移植的代码,往往数据和程序都非常大,所以,SRAM里面肯定是放不下的,这个时候,链接就会有问题。刚开始的时候,最好把所有的程序和数据都放在SDRAM里面去,这样的,链接就不会有问题了。Stack和heap情况类似,开始的时候,都先放到SDRAM。开始的时候,你需要的是一个可以运行正确的程序,速度倒在其次。


……
2006-8-3 19:26:00

Posted by titan | 阅读全文 | 回复 | 引用通告

H.264视频开发---代码移植(中)

    做好了移植的准备工作,就进入了开发过程的第一个重要阶段---移植。

    移植开发的时候,最好准备两个版本,一个纯C代码,在VC下编译,运行,另一个是VDSP下的版本(ccs同理),VC版本主要是验证代码运行是否正确,VDSP版本就是移植以后的版本,两个版本同步更新,即尽量保持两个版本的一致性,但能够同时在VC和VDSP下运行。在移植过程中,一般会遇到的问题如下:


……
2006-8-2 19:10:00

Posted by titan | 阅读全文 | 回复 | 引用通告

H.264视频开发---代码移植(上) 

基于DSP系统开发的视频编解码系统,国内几乎都是走的移植,优化的路线,并且移植的代码,都是开源的。毕竟花费大量的人力,物力去开发一套自己的代码,并不见得比一些成熟的开源代码效率更高,健壮性更好。更何况开发速度对于一个产品的发展而言,更是重要。

目前对于H.264而言,移植的代码主要有JM,x264和T264。移植的时候,就需要对各个代码进行测试,以确定要移植的代码。相对而言,JM的移植更容易,但效率比较差,如果基于科学研究,移植JM的比较多,多见于各高校的研究人员。对企业而言,考虑到实时性的要求,移植以X264和T264居多。


……
2006-8-1 20:34:00

Posted by titan | 阅读全文 | 回复 | 引用通告

H.264开发告一段落,要稍微休息一下了

    做了近一年,终于可以稍微休息一下了。一年以来都比较忙,也没有时间了解一下同行的开发程度,有点惭愧哦!

    BF537的板子,做到CIF实时,感觉已经到了极限了,从profile来看,现在耗时的前10个函数,都是汇编了。要想更进一步,感觉很困难了,总不能做到VGA吧,呵呵。

    Cache的使用还是有点问题,不过从调试的情况看,使用了DMA以后,cache的贡献好像不是很大了,所以也没有深究了。

   


2006-7-31 18:43:00

Posted by titan | 阅读全文 | 回复 | 引用通告

首页 上一页 下一页 尾页 页次:1/1页  10篇日志/页 转到:
Powered by Oblog.