我想请教一下如果我想对一个16位数据总线的外部静态存储设备进行读写,应该怎么设置SMC的CSR寄存器?我所访问的16位器件没有字节访问,我想进行半字的写访问,我的设置如下:AT91C_BASE_SMC2->SMC2_CSR[7]=0x0|0x01<<7|0x1<<8|1<<12|0x1<<13; 但是我进行写的时候发现每次写信号出现后有两次的地址输出,第二次是第一次地址加1的地址。这种情况好像字访问模式.
如果我想实现半字传输,该如何设置呢??
补充一下:我的电路A0地址不接,实际地址线为A1~A4。
上面第一张图里面出现的是两次读信号,而我只出现一次读信号,但却有两次的地址输出!!请问这是为什么?
还有当我用这个地址写数据时有数据输出 *((volatile unsigned int*)0x80000000)=0x00FF,
但用这个地址写数据时就没有数据输出 *((volatile unsigned int*)0x80000002)=0x0055
出现这种情况的原因有是什么??
希望各位兄弟姐妹帮帮我,我已经被这个困了好几天了,实在没办法了!!!!
http://bbs.cedn.cn/viewthread.php?tid=18476&extra=page%3D1 这是我在另一个论坛贴的帖子,里面有图可以看看
共2条
1/1 1 跳转至页
at91rm9200+vxworks的问题?? 请高手进来看

CPU应该提供了字节槽(Byte lane)控制线,每一个8位都有对应控制线。
如果你的16位静态存储设备没有字节槽控制线,那是进行不了以字节为单位的访问的,因为硬件上就没有相应实现。如果你的设备是可以缓存的(亦即读一次,写一次,读多次,写多次效果一样),那么可以采用读出再写入的方式实现字节为单位的写入。
*((volatile unsigned int*)0x80000000)=0x00FF,是应该有数据输出的。
*((volatile unsigned int*)0x80000002)=0x0055 是应该没有数据输出的,而且还可能发生数据异常,因为整型是4位的,向一个为不可被4整除的地址写入4位,CPU不知道怎么去发起总线传输,不知道到底如何驱动总线--本来就不好驱动,除非CPU聪明到通过多次总线操作完成这个操作。可是ARM不像x86那么聪明,可以帮我们发起多次传输再把数据拼起来,还放缓存里,快得很。有的书上叫这个叫这个叫自然对齐,大端(Big Endian)的CPU有自然对齐的要求,部分小端(Little endian)的CPU也有。
愚见。。。仅供参考。
如果你的16位静态存储设备没有字节槽控制线,那是进行不了以字节为单位的访问的,因为硬件上就没有相应实现。如果你的设备是可以缓存的(亦即读一次,写一次,读多次,写多次效果一样),那么可以采用读出再写入的方式实现字节为单位的写入。
*((volatile unsigned int*)0x80000000)=0x00FF,是应该有数据输出的。
*((volatile unsigned int*)0x80000002)=0x0055 是应该没有数据输出的,而且还可能发生数据异常,因为整型是4位的,向一个为不可被4整除的地址写入4位,CPU不知道怎么去发起总线传输,不知道到底如何驱动总线--本来就不好驱动,除非CPU聪明到通过多次总线操作完成这个操作。可是ARM不像x86那么聪明,可以帮我们发起多次传输再把数据拼起来,还放缓存里,快得很。有的书上叫这个叫这个叫自然对齐,大端(Big Endian)的CPU有自然对齐的要求,部分小端(Little endian)的CPU也有。
愚见。。。仅供参考。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 |