找回密码
 立即注册
查看: 1013|回复: 4

STC32G软件可以在RAM中运行么?

[复制链接]

3

主题

5

回帖

33

积分

新手上路

积分
33
发表于 2023-4-28 20:10:05 | 显示全部楼层 |阅读模式
如题,STC32G是251内核,软件可以跳到RAM中运行么?

点评

不是251内核,是支持251的指令集  发表于 2023-4-28 20:53
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:112
  • 最近打卡:2025-06-29 00:35:48

741

主题

1万

回帖

1万

积分

管理员

积分
17203
发表于 2023-4-28 20:43:25 | 显示全部楼层
实现起来很简单,在程序区放块SRAM就可以了,增加些成本而已
1.png

2.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-07-05 16:23:47

3

主题

51

回帖

487

积分

中级会员

积分
487
发表于 2023-4-29 16:53:15 | 显示全部楼层
本帖最后由 晓奇 于 2023-4-30 00:21 编辑

感谢神龙鼎老友啊!困扰已久的问题:外连普通点阵液晶模块240128(T6963c),用总线方式连接始终无法驱动。原来问题出在外扩xdata的地址上,看了你给出这张图才明白,外扩使用总线方式的地址不能简单使用2字节地址了,修改了地址定义一下子就驱动成功了,非常感谢!
以前经过无数次的实验,使用其他芯片如15F的很顺利的程序,换到32G以后毫无反应,总以为是速度问题或者时序问题,不得已在用32G的时候改用模拟总线驱动加插_nop_();实在感觉憋屈,放着这么好的芯片却不能使用总线,窝了太久的这口气今天终于顺畅了。
以前普通51对液晶模块的端口地址定义:(P2.7--CS, P2.6--CD)
#define LCMDW XBYTE[0x3fff]        // 数据口读写
#define LCMCW XBYTE[0x7fff]        // 命令状态口读写
现在改用32G芯片对液晶模块的端口地址定义改为:
#define LCMDW        (*(unsigned char volatile far *)0x7F3fff)        // 数据口读写
#define LCMCW        (*(unsigned char volatile far *)0x7F7fff)        // 命令状态口读写
keil设置 Memory Model:Large xdata....
程序需设置:
        EXTRAM = 1;
        BUS_SPEED = 3;        // wr/rd回归P4.2/4.4,状态保持时间1(11.0592)/2(22.1184M)/6(35M)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:112
  • 最近打卡:2025-06-29 00:35:48

741

主题

1万

回帖

1万

积分

管理员

积分
17203
发表于 2023-4-29 17:20:08 | 显示全部楼层
感谢 晓奇兄 经常来论坛分享心得,帮大家快速前进 !
下图的文字说明也是我感觉必须加红强调的,目前实际留给大家在PCB板上,实际的外扩并行总线地址只有这 64K 空间

1.png


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-29 23:07 , Processed in 0.118964 second(s), 68 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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