找回密码
 立即注册
楼主: 乘简

STC32G144K246单片机,xdata只能使用64K???

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:671
  • 最近打卡:2026-04-30 08:59:31
已绑定手机

52

主题

2608

回帖

9093

积分

论坛元老

积分
9093
发表于 2026-4-1 15:31:00 | 显示全部楼层
使用 far 定义DMA缓冲区的话,需要设置 DMA_ARB_CFG 寄存器:

截图202604011528392600.jpg

例如:
  1. u8 far DmaBuffer[1024] _at_ 0x20000;
  2. ...
  3. DMA_ARB_CFG |= 0x20;    //DMA 传输前设置XBANK
复制代码
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:29
  • 最近打卡:2026-04-27 09:59:53

13

主题

79

回帖

367

积分

中级会员

积分
367
发表于 2026-4-1 16:36:12 | 显示全部楼层
乘风*** 发表于 2026-4-1 15:31
使用 far 定义DMA缓冲区的话,需要设置 DMA_ARB_CFG 寄存器:

非常感谢,,这正是我所需要的
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-04-18 10:45:24
已绑定手机

1

主题

3

回帖

41

积分

新手上路

积分
41
发表于 2026-4-15 16:19:04 | 显示全部楼层
还是不行啊。我用的是LCD的字库,自己定义的字库,数字0~9,每个数字就有4k多字节,我把每一个数字的字库用一个const的数组保存,再把这些字库合并到一个.h的头文件。
我现在测试如果.h的字库头文件仅是0~7就可以编译通过,把8/9增加,就出现L107报错了。

把这些字库分开到2个.h的头文件,也还是不行。
字库的数组前面加一个far,也不行。

unsigned char const gImage_0[4144] 这样的字库,一个数字一个数组。

点评

4K*10也就40K,xdata完全定义得下啊,不会报错,你是stc32g144k芯片吗?  发表于 2026-4-16 15:30
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-04-18 10:45:24
已绑定手机

1

主题

3

回帖

41

积分

新手上路

积分
41
发表于 2026-4-18 10:45:24 | 显示全部楼层
STC_*** 发表于 2026-4-15 16:19
还是不行啊。我用的是LCD的字库,自己定义的字库,数字0~9,每个数字就有4k多字节,我把每一个数字的字库用 ...

折腾了几天,发现MCU型号用STC32G144K可以放的下,但是STC32G8K64就放不下。

点评

2款的,EEPROM和FLASH大小都不一样,前者可以取代后者。  详情 回复 发表于 2026-4-20 09:16
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:114
  • 最近打卡:2026-04-20 09:16:40

39

主题

488

回帖

3151

积分

超级版主

积分
3151
发表于 2026-4-20 09:16:40 | 显示全部楼层
STC_*** 发表于 2026-4-18 10:45
折腾了几天,发现MCU型号用STC32G144K可以放的下,但是STC32G8K64就放不下。

2款的,EEPROM和FLASH大小都不一样,前者可以取代后者。
电话:0513-55012946 QQ:2195591714  微信:  19952583740
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-5-1 10:31 , Processed in 0.117353 second(s), 74 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表