而且每两行,也就是每32个字节的内存内容都是一样的,这是为什么呢?可能因为我是初学者,但希望大家能帮助解答一下!
共7条
1/1 1 跳转至页
一个LPC2114的内存中寄存器存储数据的问题

问题如图中所示,我运行了从main标号到蓝色箭头指示之间的程序。关注3条语句LDR R0,=PINSEL1 LDR R1,=IOPINSET STR R1,[R0] PINSEL1代表的寄存器映射地址是0xe002c004,IOPINSET是我定义的常量为0x55400000(观察寄存器r1的值也可以看出来),但是我执行完STR R1,[R0] 后观察内存发现,不单是0xE002c004,还有0xe002c024,0xe002c044......,每偶数行都变了,见图中红色的55代表内存中变化的数,
而且每两行,也就是每32个字节的内存内容都是一样的,这是为什么呢?可能因为我是初学者,但希望大家能帮助解答一下!
而且每两行,也就是每32个字节的内存内容都是一样的,这是为什么呢?可能因为我是初学者,但希望大家能帮助解答一下!
关键词: 一个 LPC2114 内存 寄存器 存储 数据 问

我判断应该不是我写的程序运行或存储配置的问题,因为片子一加电,没开始load image文件之前,我没有对片子进行任何操作,但我观察内存中的数据已经是按照上述方式排列了。也就是说在遇到下一个已经被其他寄存器映射的地址之前,所有的中间地址的内存中存储的都是上一个寄存器的数据。
好比对于LPC2114,PINSEL0和PINSEL1的映射地址是从0xe002c000开始,而下一个被其他寄存器映射的地址是e0030000,它被S1PCR寄存器所映射,则在从地址0xe002c000到0xe002ffff之间的所有地址都是不断重复的写入了相同的数据。
难道是twentyone大大所说LPC2114对寄存器配置时就会连续执行,直至到下一个被其他控制寄存器映射的地址?
共7条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏50分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 |