- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HCU地空间分配
HCU地址空间分配
TC1767地址线32位,可寻址范围0~4G大小,TC1767原有地址空间分配如下表所示。
Mem名称 起始地址 大小 PFLASH 00XA0000000 2M DFLASH0 0X8FE00000
0XAFE00000 32K DFLASH1 0X8FE10000
0XAFE10000 32K BROM 0X8FFFC000
0xAFFFC000 16K LDRAM 0XD0000000 68K OVRAM 0X8FE80000
0xafe80000 8K PRAM 0XF0050000 8K PCODE 0XF0060000 16K
为了将标定数据放入指定内存空间,我们将地址空间分配更改成如下表所示。
Mem名称 起始地址 大小 备注 PFLASH 00XA0000000 1536K 存储代码 DFLASH0 0X8FE00000
0XAFE00000 32K 存放可修改的标定数据,断电后数据仍存在 DFLASH1 0X8FE10000
0XAFE10000 32K 暂时不使用,以后可以用来保存一些需要掉电保护的数据 BROM 0x8fffc000
0xafffc000 16k 英飞凌Boot Loader代码保存区域 PRAM 0xf0050000 8k PCP数据内存 PCODE 0xf0060000 16k PCP指令内存 OVRAM 0X8FE80000
0xAFE80000 8K 监测数据存放 SPRAM 0XD4000000 16K 另一页标定数据存放,实际可能不需要使用 LDRAM 0XD0000000 68K 随机变量存放区域 Calrom 00xA0180000 512k 用来存放标定数据中始终不会改变的数据
Section定义
cal_flash,定位到DFLASH0区域,如果要在这区域定义变量在头文件cal_flash.h中声明(我觉得这个区域不需要定义变量)。
cal_rom,定位到calrom区域,如果要在这区域定义变量在头文件cal_rom.h中声明,声明成const变量。
cal_ram,定位在calram区域,要把变量定位到这个区域,在头文件cal_ram.h中声明,如果用OVRAM区域的话这个区域不使用
cal_ram_another,定位在spram区域,实际可能不需要用到,在这个区域定义变量的话,在跟它同名的头文件中声明。
Monitor,定位在ovram区域,要把变量定位到这个区域,在头文件monitor.h中声明,注意这边声明变量的顺序要跟cal_flash.h中声明变量的顺序要一致。
需要注意的一点是,不能用Tasking 3.4r1版本编译,用这个版本编译的话变量不会定位到我们预想的区域,建议使用Tasking 3.3r1版本编译。
标定功能实现想法:
在PFLASH区存放始终不会改变的数据,在DFLASH区存放需要改变的数据,OVRAM区域定向到DFLASH区域用来监测标定数据。
OVRAM功能是通过配置重定向寄存器,定向到PFLASH或DFLASH区域。通过对FLASH区域地址写来修改OVRAM区域的值,而程序不能通过写OVRAM区域地址来修改OVRAM区域。可以通过OVRAM区域地址读取数据,这样我们在标定查询的时候直接从OVRAM区域读取,在修改标定数据是,通过写FLASH地址来修改OVRAM区域,最后我们把OVRAM中的数据烧录到FLASH中区。
系统上电首先将DFLASH区中的数据拷贝到OVRAM区域中,然后通过配置重定向寄存器将OVRAM定向到DFLASH0的前8K单元,寄存器配置如下所示。在CANAPE标定数据的地址map使用DFLASH区域变量的地址map。
void ovram_set(void)
{
ubyte* pDflash0 = (ubyte*)0xafe00000;
ubyte* pOvram = (ubyte*)0xafe80000;
// OVC_OCON |= OVC_OCON_OVSTP; // 停止overlay
// 把DFLASH中的标定数据拷贝到OVRAM中
for(int i = 0;i 0x2000;i++)
{
*pOvram++ = *pDflash0++;
}
// 目标地址配置
OVC_OTAR0 = 0Xafe00000;
// Overlay基地址配置
OVC_RABR0 = 0X8FE80000;
// MASK寄存器配置
OVC_OMASK0 = 0X0FFFF800;
// 目标地址配置
OVC_OTAR1 = 0Xafe00800;
/
您可能关注的文档
最近下载
- 土地资源调查课件.pptx VIP
- 2025教学主任及教秘专项培训班考核试卷含答案.docx
- QC∕T 948-2013 汽车顶部装载装置.pdf VIP
- 八上名著《红岩》:故事梗概+知识点+考点大集合.doc VIP
- 《劳动经济学讲义》课件.ppt VIP
- ISO各体系认证审核前准备资料清单.doc VIP
- 巧虎目录清单.doc VIP
- 销售管理专业《销售案例研究 ( 实践 ) 》课程调研报告样本.pdf VIP
- 2025年新精通版(三年级起)英语三年级上册课件 Unit 2 Lesson 3 .pptx VIP
- 场效应MOS管AK4435参数-9.1A-30V封装SOP-8.pdf VIP
文档评论(0)