查看: 4342|回复: 2

[求助] 关于LPC1788外接一片SDRAM,单字节随机读写异常问题

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
17
最后登录
2020-9-29
发表于 2020-4-9 15:36:33 | 显示全部楼层 |阅读模式
LPC1788在接入一片HY57V2562GTR时,软件short ,int 类型读写都是没问题的,但在char类型读写时出现一个问题,随机写入会出现错误
比分定义一个结构体变量

typedef struct
{
        U8 D_Id;                       
        U8 D_Status;
        U8 D_Num        ;
}struct1;

struct S1 __at_section("DRAM");  
int main()
{

    S1.D_Id = 1;
    S1.D_Num = 2;
    S1.D_Status = 3;  //此时不是按顺序赋值的话,就会出现这个写入错误的问题,如果把变量定义在内部内存或者按顺序赋值变不会出现写入错误的问题
}
我知道答案 目前已有2人回答
SDRAM.png
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24890
最后登录
2025-7-21
发表于 2020-4-13 11:46:27 | 显示全部楼层
看你的SDRAM数据线是16位宽度的,所以很有可能涉及到按字对齐的问题了。建议你还是直接用16位对齐的方式。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
17
最后登录
2020-9-29
 楼主| 发表于 2020-7-17 13:52:58 | 显示全部楼层
小恩GG 发表于 2020-4-13 11:46
看你的SDRAM数据线是16位宽度的,所以很有可能涉及到按字对齐的问题了。建议你还是直接用16位对齐的方式。 ...

目前结构体都改为32字节对齐了,只是GUI的内存不能分配到外部SDRAM上面了。只是奇怪16位总线,地址线从A0开始的为什么读正常,写会有错误
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 11:11 , Processed in 0.090540 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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