|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
现在很多单片机都是51核自带的256byte的SRAM和扩展的XRAM混合的,一般有256SRAM+768XRAM=1KRAM.5 a3 m" v; O# {" e
如果使用RTOS操作系统,基本都是PC指针切换任务,稍微定义几个人工堆栈,128byte的idate就满了,导致编译失败。
, U: n" G: [+ @0 M4 f; q 如果此时,把KEIL的内存分配设置成Large模式,虽然能解决使用XRAM的问题,但整个RTOS就失效了。
1 d- ~0 E) \4 e/ ]- n* T: Y3 K 那么如何有效利用上XRAM呢?7 G$ W8 G6 x! I( F$ H
) J' D, Y, z' M 我试着把其他变量用关键词xdata设置到XRAM是正常的,但是如果把RTOS使用的变量(比如,任务堆栈)也分配到XRAM,RTOS就会失效!
% @0 k! f( T( j( e# [# [
k1 K2 R2 s) n0 ^ |
|