版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、9S12X9S12X存储空间扩展与管理存储空间扩展与管理以存储器为核心看以存储器为核心看1616位位CPUCPU的优势的优势 由于由于S12CPUS12CPU采用采用1616位地址,故寻址空间为位地址,故寻址空间为16KB16KB,采用,采用1616位地址的优点是代码效率高,占用内存少。以定义位地址的优点是代码效率高,占用内存少。以定义一个指针变量为例,比采用一个指针变量为例,比采用3232位地址的位地址的3232位位CPUCPU节省节省5050内存空间。在内存空间。在SOCSOC型嵌入式应用系统设计应该以存储型嵌入式应用系统设计应该以存储器为核心的理念指导下,器为核心的理念指导下,1616位
2、机较位机较3232位机有明显的优位机有明显的优势。势。 S12CPUS12CPU内核简单,寄存器数量少,在多任务环境下,内核简单,寄存器数量少,在多任务环境下,为每个任务做任务切换保留的任务站空间也比为每个任务做任务切换保留的任务站空间也比ARMARM、PowerPCPowerPC等等3232位少很多:位少很多: S12 S12 10B10B ARMARM72B72B PPCPPC130B130B1616位位CPUCPU及其寻址空间及其寻址空间 1616位位CPUCPU采用采用1616位地址,典型的寻址空间是位地址,典型的寻址空间是64K64K,在一,在一些复杂的应用中,些复杂的应用中,64K
3、64K空间会不够用,这是空间会不够用,这是1616位位CPUCPU的的不足之处不足之处 有的单片机采用程序空间和地址空间分别编址的方法有的单片机采用程序空间和地址空间分别编址的方法扩大寻址空间,典型的,例如扩大寻址空间,典型的,例如80518051单片机,这样也只单片机,这样也只能将寻址空间扩大到能将寻址空间扩大到128K128K 统计表明,嵌入式应用中数据与程序占用统计表明,嵌入式应用中数据与程序占用RAMRAM与与ROMROM的的典型比例为典型比例为1:41:4。而由于静态存储器。而由于静态存储器SRAMSRAM(用于存储数(用于存储数据)较据)较FlashFlash(用于存储程序)在单片
4、机中很难做大,(用于存储程序)在单片机中很难做大,目前目前SRAMSRAM在单片机中还不能做到大于在单片机中还不能做到大于64KB64KB,而,而FlashFlash则则可以做到可以做到1MB1MB以上,这个比例在以上,这个比例在1:161:16上上 能大幅度地扩展能大幅度地扩展1616位单片机的寻址空间,又能较灵活位单片机的寻址空间,又能较灵活地分配数据空间与程序空间的比例,是用户的需求,地分配数据空间与程序空间的比例,是用户的需求,也是单片机设计者的智慧所在也是单片机设计者的智慧所在典型典型S12CPUS12CPU的寻址空间的寻址空间64K64K存储空间的分配存储空间的分配FlashFla
5、sh48K48KRAMRAM12K12KI/OI/O 1K 1K EEPROM EEPROM 3K 3K$0000$0400$1000$4000$8000$C000$FF00$FFFF向量区向量区I/O 寄存器寄存器EEPROMRAM16K固定的固定的 Flash空间空间16K16K分页的分页的Flash$3D$3F$3E固定的固定的 Flash空间空间存储空间的扩展存储空间的扩展 扩展存储空间的唯一方法是增加地址线,如果扩展存储空间的唯一方法是增加地址线,如果增加增加8 8位地址线,存储空间就可以扩展到位地址线,存储空间就可以扩展到256256个个64K64K,即,即16MB16MB,这势必
6、会减弱原本,这势必会减弱原本1616位位CPUCPU的优的优势势 S12XS12X单片机采用增加一个单片机采用增加一个7 7位位GlobalGlobal寄存器寄存器G G的的方式,将存储空间扩展到方式,将存储空间扩展到8MB8MB。仍使用。仍使用1616位机位机的指令,通过修改的指令,通过修改G G寄存器的值,可将寻址空寄存器的值,可将寻址空间按间按128128个个64K64K寻址寻址 利用利用G G寄存器,可以对这寄存器,可以对这8MB8MB空间的存储器统一空间的存储器统一编址编址Global Memory Map用用GPAGE GPAGE 可管理可管理 8M8M寻址连续空间,寻址连续空间,
7、共共128128个个x64Kx64K但只能用但只能用GLDAAGLDAA和和GSTAAGSTAA专门指专门指令读写令读写外扩扩展外扩扩展Flash或或RAM:CS3=$00_0000$0F_0000 可将可将RAM扩展到扩展到1M CS2=$10_0000$1F_0000可将可将EEPROM或或RAM扩展到扩展到256KCS1=$20_0000$3F_0000可扩展可扩展2M外部存储器外部存储器CS0=$40_0000$7F_0000可将可将Flash扩展到扩展到4MMemory Access Using GPAGEGPAGE $10EPAGEEPAGE=0255256KPPAGE=1013I
8、n the global memory map, the 4K EEPROM is accessible in the linear address from $13_F000 to $13_FFFF.RPAGE RAM RAM 空间分配空间分配$0000$0400$1000$2000$3FFFI/O寄存器寄存器EEPROM8KBRAM分页分页RAM4KB $FD$FC$FB $FA$F9最多256个4K$FE$FF$F8XDP512 共共8个个RPAGE 4KB页面,可扩展到页面,可扩展到256个页面个页面PPAGE $0000$0400$1000$2000$4000$8000$C000$F
9、F00$FFFF向量区向量区I/O寄存器寄存器EEPROM8KRAM16KFlash16KFlash16K分页分页 Flash$FC $FB $FA $F9 $F8 $F7 $F6$E2 $E1 $E0$FF$FD9S12XDP512 Paged FlashRAM: 8K = $2000$3FFF, 12K = $1000$3FFF$FEXDP512 XDP512 共共3232个个PPAGE 16KBPPAGE 16KB页面,可扩展到页面,可扩展到256256个页面个页面4KRAM.Logical Memory Map可扩展到可扩展到128K可扩展到可扩展到1M可扩展到可扩展到4MCS3=$0
10、0_0000$0F_0000 for pRAM CS2=$10_0000$1F_0000CS1=$20_0000$3F_0000 32x64K CS0=$40_0000$7F_0000 for pFlashXDP512 Global and Local Memory MapLocal Memory Map 64KXgate Memory SpaceFor DT512:CPU12RAM:Rpage:$FB$FF只能看见只能看见12K12K 令令RPAGE=$FBFrom $1000To $1FFF给给 XGATEXGATE专用专用XGATE:12K Banked RAMFrom $B000To
11、$DFFFValid Page Data for DP512 Registers: $00Direct Page($11)=0 RAM: GPAGE($10) = $0F RPAGE($16): $FB,$FC,$FD,$FE,$FF(20K) reset=$FD $FE,$FF always be seen EEPROM: GPAGE = $13 EPAGE($17): $FC,$FD, FE,$FF (Reset=$FE) $0C00$0FFF (EPAGE $FF always be seen) FLASH:GPAGE = $78,$79,$7A,$7B,$7C,$7D,7E,$7F P
12、PAGE($30): $E0$FC,$FF Reset=$FE $FD: $4000$7FFF $FE: $8000$C000 $FF: $C000$FFFF to $8000$BFFFXGATE Registeraddress: $380/381XGEM:XGE MASK: 1 Enable write access to the XGE in the same bus cycleXGSWEIFM: XGSWEIF MaskXGATE Software Error Interrupt FlagXGSWEIF: Write 1 Clears the XGSWEIF bitInitial XGA
13、TE: Write: $8282在在XGEXGE1 1前,必须先初始化前,必须先初始化XVBRXVBRXGATE 寄存器寄存器 XGMCTL ($380) XGMCHID ($382) current active one 0127 XGVBR ($386) +$24+$1E0 (Ch.9 Ch.78) ISR entry & Pointer Out going IRQ: XGIF ($388$397) 128b send IRQ to S12 XGSWTM ($398) 8 IRQ XGSEMM ($39A)XINT 寄存器寄存器 $0121 IVBR 中断向量高中断向量高8位,位,
14、$FF:S12中断中断 $0126 INT_XGPRIO XGATE的的 DMA 中断优先级寄存器中断优先级寄存器 $127 INT_CFADDR中断向量低中断向量低8位的高位的高4位位,仅高仅高4位有效位有效 选中以下选中以下8个个 INT_CFDATA 中的一个中的一个 如如:$D0 (用于用于SCI0的的$D6) 责应写寄存器责应写寄存器$012B D窗口下的窗口下的A0,1,2,3 对应对应D0,D2,D4,D6个向量,个向量,A3$12B $12812F INT_CFDATA0A7(0 is low address):):1=Xgate7=最高最高0关中断关中断XgateXgate可
15、响应的中断源可响应的中断源Vector base + $10 Spurious interruptVector base + $12$F0 I/O中断源中断源 $F2$FE S12中断源中断源例:例:SCI0的中断:的中断:Vector base+ $D6 XGATE Channel ID2: $6BXgate Map生成生成S1/S2S1/S2格式可在格式可在RAMRAM中运行文件中运行文件/* global s-record file */OPENFILE %ABS_FILE%.gloformat = motorolabusWidth = 1SRECORD=Sxlen = 0 x2000o
16、rigin = 0 x002000destination = 0 x0F2000SENDBYTE 1 %ABS_FILE%/* logical s-record file */OPENFILE %ABS_FILE%.s19format = motorolabusWidth = 1SRECORD=Sxlen = 0 x2000origin = 0 x002000destination = 0 x2000SENDBYTE 1 %ABS_FILE%Burner.bbl Burner.bbl 文件应该加上逻辑地址和物理地址的对应情况文件应该加上逻辑地址和物理地址的对应情况S1S1与与S2S2格式格式S
17、0420000443A5C5831325C5331325875434F536E6F62616E6B65644D6F6E6B5S123F000790011C6215B10CF3FCF7F3FD986FF5A0386AA5A0186005A3CC6015B35C6025B99S123F020344F3708FC4C398086497A010086385A30860C5ACB86005AC8869C5AC9CEF759B5S123F04016F6AFCF3FD9CEF03D34CE00003434348690367F3FD9CEF72E16F6AFCDFFFFCE47S117FFECFB04FB09
18、FB0EFB13FB18FB1DFB2FFB34FB39F0003BS9030000FCS0420000443A5C5831325C5331325875434F536E6F62616E6B65644DE69746F725C62696E5C5026455.S224FF87803036FE28756F0007C3FC28797C2875F6282A7B2829FE2875EF00325A30A70B3D9CS224FF87A0C6745B3B4C3880D601C8015B01FC280816C5DFC6648716C6B720ECD601C8045BB1S224FF87C001FC28083BC
19、7873BCC280A16C5691B84C6148716C6B720E3D601C8105B01C632C9S20FFF87E08716C6B720F204A401083D70S206FFAFF0C6E9ACS206FFAFF6C77F0FS206FFAFFEC0008DS9030000FCGlobal AddressingThe Global Page Index Register (refer to Memory Controller Block Guide) allows for integrating up to 8 Mbyte of memory addr22:0 by using
20、 the seven global page index bits to page 64K byte blocks into the memory map addr22:0 is a result of concatenation between GPAGE and addr15:0.New instructions started with the label G are created for this usage like (GLDAA, GSTAA,.).GLDAA : (G(M) A) Load Accumulator A from Global MemoryGLDAA has th
21、e same addressing mode style like LDAA with the only difference is the memory address(64 KBytes) is presented by the Global memory address (8 MBytes)This is the case for all Global instructions.用用GLD和和GST读写远程数据读写远程数据 Global load and store commands for all registers with the full set of addressing mo
22、des: GLDAA,GLDAB,GLDD,GLDX,GLDY,GLDS GSTAA,GSTAB,GSTD,GSTX,GSTY,GSTS The target address is formed from the GPAGE register + 16bit address Example: GPAGE = $20, then GLDX $1234 reads from address $20_1234用用CALL 和和 RTC调用远程程序调用远程程序 The S12X supports flash paging in two distinct ways depending on whethe
23、r the page contains code or data For code the CPU contains special opcodes that support a direct function call from any page to any other page The CALL opcode provides an additional parameter for the page that contains the location of the function At the end of the function the RTC opcode allows the
24、 applicationcode to return to its starting page在在C C中使用远程指针寻址中使用远程指针寻址 Pointer definitions include a modifier to indicate the memory access approach For RPAGE memory use _rptr For EPAGE memory use _eptr For PPAGE memory use _pptr For GPAGE (global) memory use _far Once defined, pointers behave as no
25、rmal for any C pointer behaviour Care must be taken when performing arithmetic on paged memory#pragmaDATA_SEG DEFAULT /* (near) NON-PAGED RAM */volatile char data1_rNP = 1; /* unpaged data */volatile char *near n_pointer1_rNP; /*16-bit pointer in near segment*/volatile char *far f_pointer1_rNP; /*23-bit GPAGE pointer in near segment */volatile char *_rptrr_pointer1_rNP; /* 23-bit RPAGE pointer in near segment */volatile char *_eptre_pointer1_rNP; /* 23-bit EPAGE pointer in near segment */data1_rNP = 21;000b c615 1 LDAB #21000d 7b000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 决定对健全审计制度
- 初中继续教育培训制度
- 加强事务所审计制度流程
- 北京市审计局制度
- 2025-2026学年词语教学设计小学语文
- 医保局审计整改责任制度
- 医院保卫科教育培训制度
- 医院护理人绩效考核制度
- 华为内部审计联络员制度
- 单位资金审计制度
- 2025年汽车修理厂安全生产工作计划
- 脱硫石膏处置协议书
- 景观照明设施运行维护经费估算
- 航天禁(限)用工艺目录(2021版)-发文稿(公开)
- 动物的呼吸和氧气运输
- 醛-亚胺-壳聚糖水凝胶的构筑及性能研究进展
- 无人机行业信息安全培训
- 管理会计学 第10版 课件 第4章 经营预测
- 2023年华南师范大学教师招聘考试历年真题库
- 2023年新改版教科版五年级下册科学全册练习题(一课一练)
- 耳尖放血课件完整版
评论
0/150
提交评论