共2条
1/1 1 跳转至页
ADS1 ADS1.2编译问题?

问
#define sysAddress(offset) *((volatile WORD *)(0x00000000 + (offset<<1)))
sysAddress(0x5555) = 0x00AA;
反汇编如下:
0c0089f4 [0xe3a000aa] mov r0,#0xaa
0c0089f8 [0xe3a03caa] mov r3,#0xaa00
0c0089fc [0xe1c30aba] strh r0,[r3,#0xaa]
fine sysAddress(offset) *((volatile WORD *)(0x02000000 + (offset<<1)))
sysAddress(0x5555) = 0x00AA;
反汇编如下
0c0089f8 [0xe59f3518] ldr r3,0x0c008f18 ; = #0x0200aa00 错误
0c0089fc [0xe3a000aa] mov r0,#0xaa
0c008a00 [0xe1c30aba] strh r0,[r3,#0xaa]
fine sysAddress(offset) *((volatile WORD *)(0x02000000 + (offset<<1)))
sysAddress(0) = 0x00AA;
反汇编如下
0c0089f8 [0xe59f3518] ldr r3,#0x02000000
0c0089fc [0xe3a000aa] mov r0,#0xaa
0c008a00 [0xe1c30aba] strh r0,[r3,#0x00]
请各位帮我看看以上错的原因?
我用S3C44B0读NORFLASH ,有两片NORFLASH 第一片能读写第二片不能读?
地址0x00000000
地址0x02000000
答 1: 做过读写NORFLASH的程序的大虾帮我看看?两片NORFLASH 放在nGCS0上能读写放在nGCS1上就不能读写? 答 2: 是不是硬件的问题啊,你的信息也太少了确定硬件不问题吗?好好查一查,特别是地址及选通线,你读出来是什么啊?
你连续读几次,看读到的内容是否相同,然后看有什么特点,然后再写,看读出来的跟写进去的有没有什么关系啊,然后才好判断啊 答 3: 读出来的内容每次是一样的,但不是写进去的内容?我把两片的nGCS0和nGCS1掉换一下同样是nGCS0能读写nGCS1不能读写?
读nGCS0片地址定义如下:
#define sysAddress(offset) *((volatile WORD *)(0x00000000 + (offset<<1)))
读nGCS1片地址定义如下:
#define sysAddress(offset) *((volatile WORD *)(0x02000000 + (offset<<1)))
就地址该变一下其他没变?硬件没问题,那一片换成nGCS0都能读写/
?????????? 答 4: 建议或者是硬件错误,
或者是bank1 没有被正确初始化。
sysAddress(0x5555) = 0x00AA;
反汇编如下:
0c0089f4 [0xe3a000aa] mov r0,#0xaa
0c0089f8 [0xe3a03caa] mov r3,#0xaa00
0c0089fc [0xe1c30aba] strh r0,[r3,#0xaa]
fine sysAddress(offset) *((volatile WORD *)(0x02000000 + (offset<<1)))
sysAddress(0x5555) = 0x00AA;
反汇编如下
0c0089f8 [0xe59f3518] ldr r3,0x0c008f18 ; = #0x0200aa00 错误
0c0089fc [0xe3a000aa] mov r0,#0xaa
0c008a00 [0xe1c30aba] strh r0,[r3,#0xaa]
fine sysAddress(offset) *((volatile WORD *)(0x02000000 + (offset<<1)))
sysAddress(0) = 0x00AA;
反汇编如下
0c0089f8 [0xe59f3518] ldr r3,#0x02000000
0c0089fc [0xe3a000aa] mov r0,#0xaa
0c008a00 [0xe1c30aba] strh r0,[r3,#0x00]
请各位帮我看看以上错的原因?
我用S3C44B0读NORFLASH ,有两片NORFLASH 第一片能读写第二片不能读?
地址0x00000000
地址0x02000000
答 1: 做过读写NORFLASH的程序的大虾帮我看看?两片NORFLASH 放在nGCS0上能读写放在nGCS1上就不能读写? 答 2: 是不是硬件的问题啊,你的信息也太少了确定硬件不问题吗?好好查一查,特别是地址及选通线,你读出来是什么啊?
你连续读几次,看读到的内容是否相同,然后看有什么特点,然后再写,看读出来的跟写进去的有没有什么关系啊,然后才好判断啊 答 3: 读出来的内容每次是一样的,但不是写进去的内容?我把两片的nGCS0和nGCS1掉换一下同样是nGCS0能读写nGCS1不能读写?
读nGCS0片地址定义如下:
#define sysAddress(offset) *((volatile WORD *)(0x00000000 + (offset<<1)))
读nGCS1片地址定义如下:
#define sysAddress(offset) *((volatile WORD *)(0x02000000 + (offset<<1)))
就地址该变一下其他没变?硬件没问题,那一片换成nGCS0都能读写/
?????????? 答 4: 建议或者是硬件错误,
或者是bank1 没有被正确初始化。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |