工具/软件:Code Composer Studio
您好!
我正在尝试将标准中断函数放入 RAM 中、该代码的执行速度可以更快。
我使用的是 Code Composer Studio 版本:6.1.0.00104、并尝试在我的标准中断之前放置__attribute___(ramfunc)、
但它不起作用。
此 CCS 版本是否支持 ramfunc? 是否有任何示例展示了如何在 UCD3138中执行 ramfunc?
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我正在尝试将标准中断函数放入 RAM 中、该代码的执行速度可以更快。
我使用的是 Code Composer Studio 版本:6.1.0.00104、并尝试在我的标准中断之前放置__attribute___(ramfunc)、
但它不起作用。
此 CCS 版本是否支持 ramfunc? 是否有任何示例展示了如何在 UCD3138中执行 ramfunc?
谢谢。
我添加了以下行:
ram_std_isr:{ isr_standard.obj (.text)} load=pflash,run=RAM,table (BINIT)
对于 cyclone_128.cmd、编译后、我的 ISR 函数的运行地址似乎可以放置在 RAM 区域中。
那么下一步是什么?
复制 load_UCD3138_128.asm 中的以下代码以移动 binit 表中指定的内容?
是否有示例代码?
tbl_addr .set r0
VAR_addr .set r1.
tmp .set R2
长度:.set R3
数据:.set R4
三:.set R5
MOV Three,#3;
b rec_chk;
;*--------------------------------------------------
;*处理初始化记录
;*--------------------------------------------------
记录:ldr var_addr、[tbl_addr、#4];
添加 tbl_addr,#8;
;*--------------------------------------------------
;*复制初始化数据
;*--------------------------------------------------
MOV tmp、var_addr;确定对齐
和 tmp、3;以及按字节复制
bNE _Bcopy;如果不是字对齐
MOV tmp,length;用于字复制,条带
和 tmp、3;输出 NONWORD 部件
BIC length,three;of the length
BEQ_wcont;
_wcopy:ldr 数据,[tbl_addr];
添加 tbl_addr,#4;
STR data,[var_addr];copy a word of data
添加 var_addr,#4;
亚长,#4;
bne _wcopy;
_wcont: MOV length,tmp ;
BEQ_CONT;
bcopy:ldrb 数据,[tbl_addr];
添加 tbl_addr,#1;
STRB 数据,[var_addr];复制一个数据字节
添加 var_addr,#1;
亚长,#1;
bNE _Bcopy;
_CONT: MOV tmp,tbl_addr ;
tmp, three;确保地址
BEQ rec_chk;字对齐
BIC tbl_addr,3;
添加 tbl_addr、#0x4;
REC_CHK:LDR length,[tbl_addr];进程下一步
CMP 长度,#0;如果长度是,则记录
BNE 记录;非零