发明名称 |
基于GCC编译器的软件控制内存分拆和映射的方法及系统 |
摘要 |
本发明公开了基于GCC编译器的软件控制内存分拆和映射的方法,包括:S1、对程序中的不同函数分别配置BANK属性和NEAR属性;S2、若函数属性为NEAR,则编译方式不变;若函数属性为BANK,则将对BANK函数的调用改为调用BANK函数进入管理接口,并在后面紧跟真实函数地址的形式,将返回跳转改为跳转至BANK函数退出管理接口;S3、对芯片地址总线进行MASK处理;S4、设置程序空间,包括将对芯片地址总线MASK处理的部分设置为BANK号,剩余部分设置为直接映射到RAM空间的逻辑地址。还公开了基于GCC编译器的软件控制内存分拆和映射的系统。本发明在无需增加cache管理硬件模块的前提下,能够实现32位CPU对大程序的管理及运行,从而以较低成本实现较高性能MCU的开发及应用。 |
申请公布号 |
CN105739992A |
申请公布日期 |
2016.07.06 |
申请号 |
CN201610108587.7 |
申请日期 |
2016.02.26 |
申请人 |
珠海煌荣集成电路科技有限公司 |
发明人 |
吴瀚平;何凯帆;张静 |
分类号 |
G06F9/44(2006.01)I;G06F9/45(2006.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
广州嘉权专利商标事务所有限公司 44205 |
代理人 |
张萍 |
主权项 |
基于GCC编译器的软件控制内存分拆和映射的方法,其特征在于,包括步骤:S1、对程序中的不同函数分别配置BANK属性和NEAR属性;S2、修改编译器,若函数属性为NEAR函数,则编译方式不变;若函数属性为BANK函数,则修改函数调用,将对BANK函数的调用改写为调用BANK函数进入管理接口,并在后面紧跟真实函数地址的形式,修改函数返回,将返回跳转改写为跳转至BANK函数退出管理接口;S3、对芯片地址总线进行MASK处理,使地址能够支持BANK号的记录;S4、设置程序空间,包括将对芯片地址总线MASK处理的部分设置为BANK号,剩余部分设置为直接映射到RAM空间的逻辑地址。 |
地址 |
519015 广东省珠海市吉大白莲路184号立体科技大厦3楼 |