您的位置:首页 > 科技 > IT业 > 兼职招聘信息最新招聘_微信小程序自己制作_软文营销文章300字_湖南平台网站建设设计

兼职招聘信息最新招聘_微信小程序自己制作_软文营销文章300字_湖南平台网站建设设计

2025/8/9 9:38:23 来源:https://blog.csdn.net/booksyhay/article/details/146019373  浏览:    关键词:兼职招聘信息最新招聘_微信小程序自己制作_软文营销文章300字_湖南平台网站建设设计
兼职招聘信息最新招聘_微信小程序自己制作_软文营销文章300字_湖南平台网站建设设计

地址空间

这是个16位的单片机。CPU的寻址空间最大为2^16=64K。

这个64K是包括外设、RAM、EEPROM、和FLASH的。现在程序越来越大,64K的空间肯定是不够用的。因此,需要扩展。

扩展方法就是:分页。

把原来的64K空间,划分一块出来,当作“窗口”。再配置一个“页寄存器”,指示哪一段存储器被映射上这个窗口上,供CPU访问。

地址映射图

解读:

1,0x0000~0x0800为2K的寄存器空间;

2,0x0800~0x0C00为1K大小的EEPROM“窗口”空间;

3,0x0C00~0x1000为1K大小的EEPROM固定空间;

4,0x1000~0x2000为4K的RAM“窗口”空间;

5,0x2000~0x4000为8K的RAM固定空间;这样分配的好处是,有8K的固定RAM空间,可以满足大多数应用场景,不需要对RAM进行分布管理;

6,FLASH空间分为3个部分(页),每个都是16K,共48K,对应地址为0x4000~0xFFFF。其中,第1个和第3个是固定空间,中间那个页是“窗口”空间。

7,以FLASH为例。存储器映射控制器(Memory Mapping Control)将扩展后的逻辑地址0x400000~0x7FFFFF映射到0x8000~0xC000。

特殊FLASH地址

具体的要查芯片手册。但这个系列的用法都差不多。

FLASH配置域

0xFF00~0xFF0F 这16个字节是FLASH配置字。

中断向量表

FF10~FFFF是中断向量表(含复位向量):

页表地址

prm文件中定义的:

/* paged FLASH:                                        0x8000 TO   0xBFFF; addressed through PPAGE */PAGE_E0       = READ_ONLY   DATA_FAR IBCC_FAR  0xE08000 TO 0xE0BFFF; PAGE_E1       = READ_ONLY   DATA_FAR IBCC_FAR  0xE18000 TO 0xE1BFFF; PAGE_E2       = READ_ONLY   DATA_FAR IBCC_FAR  0xE28000 TO 0xE2BFFF; PAGE_E3       = READ_ONLY   DATA_FAR IBCC_FAR  0xE38000 TO 0xE3BFFF; PAGE_E4       = READ_ONLY   DATA_FAR IBCC_FAR  0xE48000 TO 0xE4BFFF; PAGE_E5       = READ_ONLY   DATA_FAR IBCC_FAR  0xE58000 TO 0xE5BFFF; PAGE_E6       = READ_ONLY   DATA_FAR IBCC_FAR  0xE68000 TO 0xE6BFFF; PAGE_E7       = READ_ONLY   DATA_FAR IBCC_FAR  0xE78000 TO 0xE7BFFF; PAGE_F8       = READ_ONLY   DATA_FAR IBCC_FAR  0xF88000 TO 0xF8BFFF; PAGE_F9       = READ_ONLY   DATA_FAR IBCC_FAR  0xF98000 TO 0xF9BFFF; PAGE_FA       = READ_ONLY   DATA_FAR IBCC_FAR  0xFA8000 TO 0xFABFFF; PAGE_FB       = READ_ONLY   DATA_FAR IBCC_FAR  0xFB8000 TO 0xFBBFFF; PAGE_FC       = READ_ONLY   DATA_FAR IBCC_FAR  0xFC8000 TO 0xFCBFFF; 
/*    PAGE_FD       = READ_ONLY                      0xFD8000 TO 0xFDBFFF; intentionally not defined: equivalent to ROM_4000 */PAGE_FE       = READ_ONLY   DATA_FAR IBCC_FAR  0xFE8000 TO 0xFEBFFF; 
/*    PAGE_FF       = READ_ONLY                      0xFF8000 TO 0xFFBFFF; intentionally not defined: equivalent to ROM_C000 */

这里是根据页号来配置的逻辑地址。用于编译器生成bin文件时寻址。

这里面的地址是非连续的。每一段大小都是16K。低14位地址都是0x8000~0xBFFF。便于MMC将该地址映射到页号+CPU地址。

全局地址

全局地址与PPAGE寄存器之间的关系:

全局地址最高位为1时,将分页后的FLASH空间映射给CPU。

低14位是CPU本地地址(共16K),刚好一个页的大小。前面的8个位(bit14~bit21)对应的是PPAGE,最多可映射256页。

全局地址与RPAGE寄存器之间的关系:

全局地址最高位为000时,将分页后的RAM空间映射给CPU。

低12位是CPU本地地址(共4K),刚好一个RAM页的大小。前面的8个位(bit12~bit19)对应的是RPAGE,最多可映射256页。

全局地址与EPAGE寄存器之间的关系:

全局地址最高位为00100时,将分页后的EEPROM空间映射给CPU。

低10位是CPU本地地址(共1K),刚好一个EEPROM页的大小。前面的8个位(bit10~bit17)对应的是EPAGE,最多可映射256页。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com