完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 一只耳朵怪 于 2018-6-22 14:15 编辑
我在为dm8168的dsp核写算法,现在用模拟器跑出的时间和板子上真实的时间相差较大。有一个怀疑是模拟器使用了l2ram,而板子上没有用l2ram。因此在测试工程的cmd文件里这样写: MEMORY [ DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 Internal ROM */ DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 Internal RAM */ DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 Internal Program RAM */ DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 Internal Data RAM */ 。。。 DDR o = 0x80000000 l = 0x80000000 /* 2GB DDR2 Data */ ] SECtiONS [ .text > DDR .stack > DDR .bss > DDR .cio > DDR .const > DDR .data > DDR .switch > DDR .sysmem > DDR .far > DDR .args > DDR .ppinfo > DDR .ppdata > DDR /* COFF sections */ .pinit > DDR .cinit > DDR /* EABI sections */ .binit > DDR .init_array > DDR .neardata > DDR .fardata > DDR .rodata > DDR .c6xabi.exidx > DDR .c6xabi.extab > DDR .testSect > DSPL2RAM ] 在代码里写: char memForAlg[20*1024*1024]; unsigned char originalFrame[15*352*288*3/2]; unsigned char binaryFrame[15*352*288*3/2]; 。。。 char memNoUse[256*1024]; #pragma DATA_SECTION(memNoUse, ".testSect"); 编译的时候输出2个警告: warning #10247-D: creating output section ".testSect" without a SECTIONS specification warning #10281-D: Section ".bss" requires a STATIC_BASE relative relocation, but is located at 0xc228cb60, which is probably out of range of the STATIC_BASE. STATIC_BASE is located at 0xc2274948. Might be required to correct placement of ".bss" so it lies within 0x8000 of the STATIC_BASE 运行的时候得到几个数组的地址如下: binaryFrame=0xC162CE00, originalFrame=0xC1400000, memForAlg=0x00700000, memNoUse=0x00000000 显然memForAlg没有分配在片外,而memNoUse也没有分配在L2ram。我应该怎么写cmd文件?谢谢。 |
|
相关推荐
2个回答
|
|
|
今早意外的发现工程左边的文件列表上这个cmd文件被打了一个斜杠,然后我把它删了,再重新拷贝进来,就又对了。地址打印如下,看来l2ram被memNoUse数组占用了。但是,统计出的cycles数还是一样的,这说明模拟器的统计不受cache配置的影响。
binaryFrame=0xC022CE00, originalFrame=0xC0000000, memForAlg=0xC0459C90, memNoUse=0x00800000 |
|
|
|
|
杀戮之神 发表于 2018-6-22 03:15 去掉了memNoUse对DSPL2RAM的占用,打印如下。发现l2ram确实没人用,但是处理时间也没有因此提高。看来模拟器似乎不考虑内存的延迟,只统计指令周期数。 binaryFrame=0xC022CE00, originalFrame=0xC0000000, memForAlg=0xC0459C90, memNoUse=0xC1859C90 |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:38 , Processed in 0.747734 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2932