ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
74193
alexgl (17.11.2006 14:43, просмотров: 1995)
tms320C54XX, use CODE_SECTION Hi! При разработке для TMS320C5410A в симуляторе (пока) идет борьба за экономию памяти особенно в секции .text (те) за програмную память (ONCHIP) ... #pragma CODE_SECTION (AFnc,".xcode"); void AFnc (...) { ... } (#pragma CODE_SECTION (BFnc,".bcode"); void BFnc(...) { } в другом файле (главном)... #include "my.h" //#include <csl.h> // в будующем будет нужно //#include <dsplib.h> [// в будующем будет нужно #define SGLEN 1000 #define XLEN 200 ............... ............... short sgData[SGLEN]; short *pD, NextIndex=0; ////////////////////////////////////////////////////////// void main () { ... pD=sgData[0]; BFnc (...); // < BreakPoint while(1) { NextIndex += XLEN; if(NextIndex > SGLEN) NextIndex=0; pD = &sgData[NextIndwx]; // < BreakPoint AFnc(...); ... } } ............ ............ модель памяти FAR стека выделяю 2048 хеап - 2048 ... среда разработки:Code Composer Studio Free 2.20.00 командный файл такой: /////////////////////////////////////////////////////// MEMORY { PAGE 0: IPROG: origin = 0x80, len = 0x7F00 VECT: origin = 0x7f80, len = 0x80 PAGE 1: USERREGS: origin = 0x60, len = 0x1c BIOSREGS: origin = 0x7c, len = 0x4 DRAM origin = 0x80, len = 0x1F7F IDATA: origin = 0x2000, len = 0xAFFF XCODE origin = 0xD000, len = 0x1000 XDATA: origin = 0xE000, len = 0x1FFF } SECTIONS { .vectors: {} > VECT PAGE 0 .sysregs: {} > BIOSREGS PAGE 1 .trcinit: {} > IPROG PAGE 0 .gblinit: {} > IPROG PAGE 0 .text: {} > IPROG PAGE 0 .cinit: {} > IPROG PAGE 0 .pinit: {} > IPROG PAGE 0 .sysinit: {} > IPROG PAGE 0 .bss: {} > IDATA PAGE 1 /* .far: {} > IDATA PAGE 1 */ .const: {} > IDATA PAGE 1 /* .switch: {} > IDATA PAGE 1 */ .sysmem: {} > IDATA PAGE 1 .cio: {} > IDATA PAGE 1 .sysheap: {} > IDATA PAGE 1 .stack: {} > IDATA PAGE 1 .csldata {} > IDATA PAGE 1 .xcode {} > XCODE PAGE 1 .bcode {} > XCODE PAGE 1 .BigMem {} > XDATA PAGE 1 } При запуске на выполнение выполняется код до 2-й точки останова и улетает затем на первую (Как бы сброс проходит). Когда смотришь в Mixed mode то в функциях AFnc и BFnc вместо кода нули (add ...) пробывал на небольшом проэкте (просто 2-3 функции) вроде нет проблем. Если закоmmентировать #pragma CODE_SECTION ... тоже вроде работает, но памяти уже в притык а надо еще чего много писать. Посоветуйте где, что поправить или это уже не лечится ??? Было замечательно получить и другие рекомендации по уменьшению объема памяти и увеличению скорости Спасибо.