一只小菜鸟 发表于 2025-2-20 09:13:35

想请教个问题

使用型号:8H4K64TLCD
使用编译器:keil


我想请教一下,
我的Program Size从 data=35.3 xdata=3765 const=132 code=17141
稍微加了几行代码变成data=35.3 xdata=4132 const=144 code=17961
就不能正常运行了是咋回事

就只是单纯的注释掉和打开,主程序没有进行任何调用

AI芯 发表于 2025-2-20 09:21:52

贴下程序能方便分析

一只小菜鸟 发表于 2025-2-20 09:38:20

AI芯 发表于 2025-2-20 09:21
贴下程序能方便分析

就只是单纯的注释掉和打开,主程序没有进行任何调用

DebugLab 发表于 2025-2-20 09:48:03

内存超了

zhange 发表于 2025-2-20 09:59:22

你那几行·新代码是声明大变量了吧,试着申请小点。。。

MagicBude 发表于 2025-2-20 10:30:22

DebugLab 发表于 2025-2-20 09:48
内存超了

是xdata超了吗,该怎么减少xdata的用量呀

DebugLab 发表于 2025-2-20 10:44:01

MagicBude 发表于 2025-2-20 10:30
是xdata超了吗,该怎么减少xdata的用量呀

对,xdata最大4096
删除使用内存的程序减少xdata使用量

_奶咖君_ 发表于 2025-2-20 11:01:28

MagicBude 发表于 2025-2-20 10:30
是xdata超了吗,该怎么减少xdata的用量呀

删点儿没用的东西?

MagicBude 发表于 2025-2-20 14:11:54

DebugLab 发表于 2025-2-20 10:44
对,xdata最大4096
删除使用内存的程序减少xdata使用量

const uint8_t OLED_F8x16[] = {
    // 字库数据...
};
发现这个oled的字库存在了xdata区,怎么给它换个位置存储呀

我直接加个code指定区域会报错
const code uint8_t OLED_F8x16[] = {
    // 字库数据...
};
error C129: missing ';' before 'OLED_F8x16'

DebugLab 发表于 2025-2-20 15:12:21

MagicBude 发表于 2025-2-20 14:11
const uint8_t OLED_F8x16[] = {
    // 字库数据...
};


unsigned char code OLED_F8x16[] = {
//字库数据
};
页: [1] 2
查看完整版本: 想请教个问题